Need help wegen waypoints !

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

ToeB

Betreff: Need help wegen waypoints !

BeitragFr, Feb 16, 2007 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei meinem Spiel Fill in Stones(2D) (siehe auch : WiP - Work in Progress - Part IX) wollt ich auch einen Singleplayer proggen.Dazu benötige ich aber einen computergesteuerten player.Ich hab ich mir gedacht, ich mache das mit "Waypoints" und packe das in eine function(In dem falle die Function "Robot"). Ich will natürlich auch eine Schwierigkeit haben (also : Leicht/Mittel/Schwer ), hab ich aber schon die Variable für : "Comp" (bei leicht ist die "1", bei Mittel "2" und bei Schwer "3") die die geschwindigkeit bestimmt.Aber ich komme mit den waypoints nicht klar! Ich möchte das der die felder in 1er schritten "abläuft" und zwar von alten waypoint bis zu neuen(auch diagonal)
Code: [AUSKLAPPEN]

Graphics 800,600,16,2
SetBuffer BackBuffer()
AppTitle "Fill in Stones - Singleplayer V 1.0"
Global BackGround = LoadImage("GFX\BackGround.bmp")
MaskImage BackGround,255,0,255
Type cpu
Field x
Field y
Field speed
End Type
Global w.cpu
Global fx = 35
Global fy = 35
Global countdown = 1000*61
Global Comp = 2
Global Rot  = LoadImage("GFX\Rot.bmp")
Global Blau = LoadImage("GFX\Blau.bmp")
Global tex = LoadFont("Arial Black",15)
SetFont tex

SeedRnd MilliSecs()

Include "Libs\Lib1.bb"
menü(1)

Dim feld(fx,fy)
Global x1 = fx-5,y1 = fy-5
Global x2 = 24,y2 = 5
Include "Libs\Lib2.bb"
Global sz = MilliSecs()
For i = 1 To 3
w.cpu = New cpu
w\x = Rand(1,fx-1)
w\y = Rand(1,fy-1)
w\speed = comp
Next
Repeat
Zeit = (countdown-(MilliSecs()-sz))/1000
ClsColor 50,60,70:Cls
Color 175,175,175
For xx = 1 To fx:Line xx*10,10,xx*10,fy*10:Next
For yy = 1 To fy:Line 10,yy*10,fx*10,yy*10:Next
If KeyDown(200) Then y1 = y1 - 1
If KeyDown(208) Then y1 = y1 + 1
If KeyDown(203) Then x1 = x1 - 1
If KeyDown(205) Then x1 = x1 + 1
If x1 > fx-1 Then x1 = 0
If x1 < 0  Then x1 = fx-1
If y1 > fy-1 Then y1 = 0
If y1 < 0  Then y1 = fy-1
Robot()
If x2 > fx-1 Then x2 = 0
If x2 < 0    Then x2 = fx-1
If y2 > fy-1 Then y2 = 0
If y2 < 0    Then y2 = fy-1

feld(x1,y1) = 1
feld(x2,y2) = 2
For xx = 1 To fx
For yy = 1 To fy
If feld(xx,yy) = 1 Then DrawImage Rot,xx*10+2,yy*10+2
If feld(xx,yy) = 2 Then DrawImage Blau,xx*10+2,yy*10+2
If feld(x1,y1) = 2 Then feld(x1,y1) = 1
Next
Next
For xx = 1 To fx
For yy = 1 To fy
If feld(xx,yy) = 1 Then Color 255,0,0:Text 600,10," Felder  ROT : "+CountField(1)
If feld(xx,yy) = 2 Then Color 0,0,255:Text 600,30," Felder BLAU : "+CountField(2)
Next
Next
Color 255,255,255
Text 10,500,"Zeit : "
If Zeit => 100 Then Text 10,525,"Noch "+Zeit
If Zeit <= 99  Then Text 10,525,"Noch  "+Zeit
Text 80,525,"Sekunden"
Flip
Until KeyHit(1) Or Zeit <= 0
GameOver("Spiel vorbei -",1)

End

Function Robot()
If w.cpu <> Null Then

  w.cpu = First cpu
  Text 1,400,"W\X = "+w\x
  Text 1,420,"W\Y = "+w\y
         For x2 = x2 To w\x
      For y2 = y2 To w\y
      feld(x2,y2) = 2

    If x2 = w\x And y2 = w\y Then
      Delete w.cpu
      w.cpu = New cpu
      w\x = Rand(1,fx-1)
      w\y = Rand(1,fy-1)
      w\speed = comp
      w.cpu = First cpu
    EndIf
Next
Next
EndIf
End Function



~Edit~

Wieso antwortet mir keina ? Sad

ToeB

BeitragFr, Feb 16, 2007 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Biite ! Das ist dringend!

Meine Tante hat morgen geburstag und ich wollt ihr das schenken. BITTE !
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

the FR3AK

BeitragFr, Feb 16, 2007 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Lol...wenn keiner helfen kann dann kannste pushen bis du blau wirst

ToeB

BeitragFr, Feb 16, 2007 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, hat mia sehr viel geholfen...
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Feb 16, 2007 20:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein Code ist in etwa zu 25% formatiert und nichtmal von selbst lauffähig. Da ist zB ein include drine etc. wo sich alles mögliche befinden kann. Somit fällt das ausfüllen mit Ersatzbildern etc schonmal komplett weg. Als Lösung bliebe mir und allen anderen nur noch 'alles rein im Kopf durcharbeiten'.

Könntest du ein Code von mir unter 'Zeitdruck' rein im Kopf durcharbeiten, wenn du sogar dir alle Variablennamen aneignen musst?

Will mich jetzt nicht verpflichten, dir zu helfen, da ich heute schon was anderes vor habe. Aber dies wäre schonmal ein Ansatz, wenn dir geholfen werden soll.

BladeRunner

Moderator

BeitragFr, Feb 16, 2007 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Wer sein Problem nicht ordentlich formuliert muss sich nicht wundern wenn er nicht geholfen kriegt.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Thorsten

BeitragFr, Feb 16, 2007 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
So wie ich dein Problem verstanden habe, musst du doch einfach bei jedem Schleifendurchlauf machen

Code: [AUSKLAPPEN]

If waypoint_x > x_position Then x_position=x_position+1
If waypoint_x < x_position Then x_position=x_position-1
If waypoint_y > y_position Then y_position=y_position+1
If waypoint_y < y_position Then y_position=y_position-1


mfG[/quote]

ToeB

BeitragSa, Feb 17, 2007 11:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey ! Danke !

Das hat mia geholfen !

thx und mfg

Crack93
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group