PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arraybegrenzungsfrage...



lokipoki
30.08.2006, 08:56
Also ich habe 20 Items in einer Tabelle gemacht.

Das sind jeweils die Variablen.

1001 1002 1003 1004 1005
1006 1007 1008 1009 1010
1011 ....

Ein Pointer laeuft mit. Wie mache ich das nun, dass wenn z.b 1005 (1010 ...) und bei 1001 (1006 ...) erreicht habe, dass er nicht weiter nach rechts bzw links geht? Klar mit ner Fork. Aber wie? "Oben und unten" Funktioniert. Ist aber auch sehr einfach, da die Variablen von links nach rechts fortlaufend sind...

Mein Code sieht so aus:

http://de.geocities.com/pokiloki01/pic1.png
http://de.geocities.com/pokiloki01/pic2.png

Ich hoffe ihr wisst was ich meine.

Zaphod
30.08.2006, 11:14
Wenn der Cursor nicht weitergehen soll: (könnte man ja auch links in zweiter zeile wieder anfangen lassen ..)

Für rechts:

if keyinput is 3
If other 1005
If other 1010
If other 1015
If other 1020
und dann +1, +34 , move pic in den gestaffelten fork (also, wenn die ganzen bedingungen übereinstimmen)

Für links:

if keyinput is 2
If other 1001
If other 1006
If other 1011
If other 1016
...

tarrox
30.08.2006, 14:32
Bei rechts musste die Positionsnummer 1001, 1002 usw. in eine neue variable speichern und die dann mit mod 10 verändern. Dadurch erhälst du die letzte zahl der Nummer. In diesem Beispiel mit rechts, müsstest du dann nach 0 und 5 prüfen ob die rausgekommen sind wenn ja geh nicht weiter, denn das sind die letzten Zifern der rechten Spalte 1005, 1010, 10015 usw. Das gleiche machste du links mit denn Zahlen 1 und 6. Fertig^^

übelster Held
30.08.2006, 16:42
hm... man könnte das mit 2 weiteren variablen x und y anders machen...
eins merkt sich die spalte eins die zeile...
(x is bei mir fürs links rechts drücken und y fürs hoch runter verantwortlich...)
am anfang sind beide x und y bei eins...

enter pw...(vari pw)
wenn pw = 1
dann
>wenn y kleiner 4
>dann y+1
>ansonsten y = 1 (falls man das möchte, dass man wieder ganz oben anfängt...)
>if end
if end...

wenn pw = 2
dann
>wenn x größer 1
>dann x-1
>ansonsten x=5
if end
if end...

wenn pw = 3
dann
>wenn x kleiner 5
>dann x+1
>ansonsten x=1
if end
if end...

wenn pw = 4
dann
>wenn y größer 1
>dann y-1
>ansonsten y = 4
>if end
if end...

und dein pointer wird dann wie folgt berechnet...
995 + x + (y*5)

so würd ich dass machen.. sind nich ganz so viele forks...^^