Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
lehrkraefte:blc:informatik:ffprg1-2019:arrays-anwendung2 [2019/03/26 09:30] Ivo Blöchliger created |
lehrkraefte:blc:informatik:ffprg1-2019:arrays-anwendung2 [2019/03/26 09:35] (current) Ivo Blöchliger [Variante Vektorgeometrie] |
||
---|---|---|---|
Line 19: | Line 19: | ||
Die Grundidee ist die gleiche wie bei der Parameterdarstellung der Geraden in der Vektorgeometrie. Man definiert einen Startpunkt und einen Richtungsvektor, | Die Grundidee ist die gleiche wie bei der Parameterdarstellung der Geraden in der Vektorgeometrie. Man definiert einen Startpunkt und einen Richtungsvektor, | ||
- | D.h. Man startet z.B. im Punkt (0,2) und verschiebt dann schrittweise um den Vektor $\binom{1,-1}$, um die Punkte (1,1) und (2,0) zu erhalten. Auf diesem Weg zählt man, wie viele Male man hintereinander den gleichen Eintrag findet: | + | D.h. Man startet z.B. im Punkt (0,2) und verschiebt dann schrittweise um den Vektor $\binom{1}{-1}$, um die Punkte (1,1) und (2,0) zu erhalten. Auf diesem Weg zählt man, wie viele Male man hintereinander den gleichen Eintrag findet. **Achtung**, |
punkt = startpunkt | punkt = startpunkt | ||
Line 43: | Line 43: | ||
==== Variante "noch ein bisschen effizienter" | ==== Variante "noch ein bisschen effizienter" | ||
- | Es muss nicht jedes Mal das ganze Feld überprüft werden. Es reicht, von der Position aus zu zählen, wo das Feld verändert wurde. Dazu muss in die vier Richtungen vorwärts **und** rückwärts gezählt werden. | + | Es muss nicht jedes Mal das ganze Feld überprüft werden. Es reicht, von der Position aus zu zählen, wo das Feld verändert wurde. Dazu muss in die vier Richtungen |
+ | Dazu schreibt man am einfachsten eine for-Schleife über die möglichen Richtungen: | ||
+ | |||
+ | for dir in [[1, | ||
+ | anzahl = In Richtung '' | ||
+ | anzahl += In Richtung '' | ||
+ | anzahl +=1 # Die Position selbst zählen | ||
+ | if anzahl==3: | ||
+ | | ||
+ | return False # Kein Sieg |