ki-problem
Übersicht

![]() |
BadudelBetreff: ki-problem |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Ich arbeite gerade an einem 2-D jump'n run spiel und bin jetzt bei der KI angekommen. Ich habe auch schon ein Konzept. Der Effekt: Der Computer rennt hinter einem her. Das geht natürlich gut. Nur hab ich auch Gelende, das heißt kollisionen mit nem bild und man kann springen. Jetzt ist es nur so: Angenommen der Bot ist über mir, dann bleibt er stehen und kommt nicht runter. Der PC erkennt schon perfekt, dass der Bot über mir ist und nicht weiter rechts/links von mir steht. Meine Idee: 1. kleine Wartezeit, damit der Spieler Reaktionszeit hat. 2. punkt b (x/y) bekommt die Koordinaten des bots (x/y) 3. Schleife: sie hört auf, wenn die kollision des Punktes "b" aufhört 4. (in der Schleife:) der punkt b_x wird immer weiter erhöht, während die Kollision, währe dort ein Bot gezeichnet, immer gecheckt wird. Gleichzeitig werden die benötigten Schritte gezählt. Das wird immer wieder wiederholt, bis der Punkt b (mit Bild) keine Kollision mehr hat. 5. wend 6. der echte bot wird bewegt, variable "gemacht" immer erhöht, bis die Anzahl der Schritte, die gemacht worden sind, die Anzahl von Schritten, die man machen muss, haben. 7. wenn alles ausgeführt worden ist, wird alles wieder auf 0 gesetzt. Das ist meine Idee, es klappt aber nicht. Hier der Code: Code: [AUSKLAPPEN] Gosub richtung
Gosub ebene If mitte=1 If ueber=1 If verletzt=0 If warten<20 warten=warten+1 ElseIf warten=20 b_x=black_x b_y=black_y warten=21 ElseIf warten=21 While Not bkol2=0 Gosub kollision b_x=b_x+4 schritte=schritte+1 Wend warten=22 ElseIf warten=22 If gemacht<schritte laufen=1 black_x=black_x+8 blacker=blacker+8 gemacht=gemacht+1 ElseIf gemacht=schritte warten=0 schritte=0 gemacht=0 EndIf EndIf EndIf EndIf hier noch die gosubs: Code: [AUSKLAPPEN] .richtung
If blacker=h_x mitte=1 Else mitte=0 EndIf Return .ebene If black_y<265 ueber=1 gleich=0 unter=0 ElseIf black_y=265 ueber=0 gleich=1 unter=0 ElseIf black_y>265 ueber=0 gleich=0 unter=1 EndIf Return .kollision If ImagesCollide (bfüsse, b_x, b_y+49, 0, level, level_x, level_y, 0) bkol2=1 Else bkol2=0 EndIf Return Was ist falsch? PS: Falls das ins Forum "Allgemein gehört, bitte verschieben, ich war mir nicht so sicher! |
||
Wir werden dem Schwein schon schlachten, auch wenn ihm quiekt.
Zum Teufel mit das Grammatik! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group