RPG- Gegner automatisch laufen lassen !!
Übersicht

![]() |
kaiBetreff: RPG- Gegner automatisch laufen lassen !! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soooo... das unten ist der Quelltext meines biherigem spilt aber ich will jetzt einen Gegner einbauen welcher sich automatisch bewegt und auch selber die richtung wechselt !!
ich glaube ihr wisst was ich meine !! so ragnarok like ^^ wäre sehr dankbar für eure Hilfe ! ![]() Code: [AUSKLAPPEN] Graphics 640,480,16,2
tileset = LoadAnimImage("F:\Programme\html\my game\grafiken\tileset5.bmp",32,32,0,14) char = LoadAnimImage("F:\Programme\html\my game\grafiken\held1.bmp",32,32,0,4) ;px Variable des Spielers px = 6 ;py Variable des Spielers py = 6 ;Direckt move = 1 damit die Figur auch am Anfang sichbar ist move = 1 Dim map(20,20) ;Legende: ; 0 = Wiese ; 1 = Laminat ; 2 = Schalter ; 3 = Tür offen ; 4 = Schalter Laminat ; 5 = Mauer ; 6 = Wasser ; 7 = Tanne ; 8 = Stein ; 9 = Fenster ;10 = Baum ;11 = Trainer ;12 = Dach ;13 = Tür Data 7,7,10,10,10,7,12,12,12,12,12,12,7,7,7,10,7,7,7,10,10 Data 10,10,7,0,0,0,5,9,5,5,5,9,0,0,0,0,0,0,0,0,7 Data 7,10,10,0,0,0,5,5,5,13,5,5,0,0,0,0,0,0,0,0,10 Data 7,7,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7 Data 7,7,7,7,7,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,10 Data 7,7,7,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10 Data 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7 Data 10,0,0,0,0,0,0,0,6,6,0,0,0,0,10,0,0,10,0,0,7 Data 10,0,0,0,0,0,0,6,6,6,6,0,0,0,0,0,0,0,0,0,10 Data 7,0,0,7,0,0,0,6,6,6,6,6,0,0,0,7,0,0,0,0,7 Data 10,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,10,0,0,0,10 Data 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10 Data 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10 Data 7,0,0,0,7,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,7 Data 7,0,0,0,10,10,10,0,0,11,0,7,0,0,0,0,0,0,0,0,6 Data 10,0,0,0,0,7,0,0,0,0,0,10,0,0,0,0,0,0,0,0,6 Data 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6 Data 10,0,0,0,0,0,0,6,6,6,6,1,1,1,6,6,6,6,6,6,6 Data 7,0,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 Data 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 Data 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 For y = 0 To 20 For x = 0 To 20 Read map(x,y) Next Next Repeat SetBuffer BackBuffer() Cls ;ESC-Taste zum Beenden If KeyDown(1) Then End For y = 0 To 20 For x = 0 To 20 DrawBlock tileset,x*32-scrollx,y*32-scrolly,map(x,y) Next Next .Spieler Dim feld(4) feld(1) =0 feld(2) =1 feld(3) =2 feld(4) =3 ;einfach wenn tastendruck dann If KeyDown(208) Then ; runter ;frame des Spielers festlegen f = feld(1) : feld(1) = feld(1) + 1 ;wenn die position des spielers (px,py+1) mit einem tile kollidiert, dass in der array einen höeren ;wert als 4 hat geht der if-satz nicht weiter und die figur bleibt stehen ;die 4 ist gleichzeitig das frame des tilesets If map(px,py+1) < 4 Then ;die figur wird um ein tile bewegt py = py + 1 : VWait :VWait : VWait ;die variable scrollx/y wird verändert und beim nächsten mal ;wenn die hauptschleife durchlaufen wird. malt man die karte halt ;an der position x/y-scrollx/y gemalt ;achja und - 32 weil die figur sich auch nur um 32 pixel ;bewegt. scrolly = scrolly + 32 ;überträgt die spielerkoordinaten auf die x und y variablen der map und malt unsere figur move = 1 End If End If If KeyDown(200) Then ;nach oben f = feld(4) : feld(4) = feld(4) + 1 If map(px,py-1) < 4 Then py = py - 1 : VWait :VWait : VWait scrolly = scrolly - 32 move = 1 : End If End If If KeyDown(203) Then f = feld(3) : feld(3) = feld(3) + 1 If map(px-1,py) < 4 Then px = px - 1 : VWait :VWait : VWait scrollx = scrollx - 32 move = 1 End If End If If KeyDown(205) Then f = feld(2) : feld(2) = feld(2) + 1 If map(px+1,py) < 4 Then px = px + 1 : VWait :VWait : VWait scrollx = scrollx + 32 move = 1 End If End If ;wenn man die leertaste drückt If KeyHit(57) Then ;und die spielerposition auf den hebel-tile befindet If map(px,py) = 2 Then ;dann wird die gesamte karte eingelesen und alle tür-tiles in graß-tiles ;umgewandelt For y = 0 To 20 For x = 0 To 20 If map(x,y) = 13 Then map(x,y) = 3 End If Next Next End If End If ;Screeenshooot ;#################################### ;wenn man die taste drückt If KeyHit(88) Then ; F 12 SaveBuffer(FrontBuffer(),"F:\Programme\html\my game\shot" + Str$(Shot) + ".bmp") Shot = Shot + 1 For y = 0 To 20 For x = 0 To 20 Next Next EndIf ;Pauseee ;#################################### ;wenn man die taste drückt If KeyHit(25) Then ; P font = LoadFont("Times New Roman" ,80,0,0,0) SetFont font Locate 150,200 Print "Pause" FlushKeys WaitKey FreeFont font For y = 0 To 20 For x = 0 To 20 Next Next EndIf ;wenn move = 1 dann übertrage x auf px*32(*32 da die array so klein ist bei *1 oder *2 kommt schnell ;(array index out of bouds) und das wollen wir nicht wenn die koordinaten des spielers mit den ;koordinaten der map in verbindung gebracht worden sind, malen wir die figur ;auf der position x,y wir wollen die figur ja mit der map kollidieren lassen und nicht mit dem Nichts ;und da die map nun mal in die x und y koordinaten gespeichert wurden müssen wir das auch so ;berücksichtigen. If move = 1 Then x = px * 32: y = py * 32:DrawImage char,x-scrollx,y-scrolly,f: Delay 50 ;flippen und zum anfang zurück Flip Forever wie kann ich jetzt einen ´gegner einsetzten dr sich automatisch bewegt und auch mal die richtung wechselt ?? das ist hier die Frage xD ~EDITIERT~ Das nächste Mal selber Code-Boxen benutzen. mfg YellowRider |
||
Lebe deine Träume .. aber Träume nicht dein Leben !! |
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm, hm. Was du willst ist eine KI oder zumindest eine AI. Ein sehr aufwendiges Thema, vorallem wenn man sieht, dass du das alles noch mit einem Tutorial gemacht hast. Ansonsten informier dich mal über Google über Künstliche Intiligenz im Allgemeinen, oder geh auf www.robsite.de und guck da unter KI.
Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
- Zuletzt bearbeitet von ke^kx am Sa, März 18, 2006 14:01, insgesamt einmal bearbeitet
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jiriki hat Folgendes geschrieben:
Du meinst www.robsite.de , oder? ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh, ja klar. Das war mitten in der Nacht als ich das Geschrieben hab ![]() Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group