Raumschiffe sprinten hin und her; Hilfe!

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Flori-D

Betreff: Raumschiffe sprinten hin und her; Hilfe!

BeitragFr, Jun 04, 2004 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.Ich hab volgendes problem.:
Ich habe ein Dim-Feldt für Gegner eingerichtet.So und in dem Feldt werden dann auch die X,Y Position des momentanen Raumschiffs gespeichert.Die lasse ich mit Rand öndern.Jetzt habeich das problem, das die Raumschiffe auf dm Bildschirm hin und her rennen und nicht auf der stlle bleiben.Hab schonviel probiert finde den fehler aber nicht(bestimmt ganz simpel und ich poste umsonst).Hier der Code(ich habe mehrere wegen Include):

Spiel.BB:
Code: [AUSKLAPPEN]

Graphics 640,480, 16,1
SetBuffer BackBuffer()
SeedRnd MilliSecs()
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Dim-Felder;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Dim shoot(100,2)
Dim strahl(100,2)
Dim gegner_leicht(5,2)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Objekte Laden;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


Global player = LoadImage("GFX\ship.bmp")
Global background = LoadImage("GFX\stars.bmp")
Global shoot_laser = LoadImage("GFX\laser.bmp")
Global shoot_laser2 = LoadImage("GFX\laser2.bmp")
Global shoot_sound_art1 = LoadSound("SFX\049.wav")
Global shoot_sound_art2 = LoadSound("SFX\050.wav")
Global shoot_art3 = LoadImage("GFX\bullet.bmp")
Global gegner_leicht_ship = LoadImage("GFX\PHANTOM.bmp")

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;besondere positionen usw.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Global raks = 3
Global player_x = 200
Global player_y = 200





Repeat
Cls




Print "Raketen: "+raks+" "
Locate  0,0

Include "drawimages.bb"
Include "Bewegung.bb"
Include "shoots.bb"
Include "gegner.bb"






Flip
Until KeyHit(1)




gegner.bb(hier müsste fehler sein):

Code: [AUSKLAPPEN]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Gegner und KI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
For P = 1 To 5
If gegner_leicht(P,0) = 0 Then
    gegner_leicht(P,1) = Rand(0,640)
    gegner_leicht(P,2) = Rand(10,20) 
DrawImage gegner_leicht_ship, gegner_leicht(P,1),gegner_leicht(P,2)
EndIf
Next



So ich sehe da den fehler nicht,ich vermute aber das, dass ganze Feldt schitt angelegt ist.

Please,Help

Mfg Flori-D
BB is Macht!

Homepage: www.flori-d.de

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragFr, Jun 04, 2004 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
For P = 1 To 5
If gegner_leicht(P,0) = 0 Then

gegner_leicht(P,0) = 1 ; denke das das das Problem ist

    gegner_leicht(P,1) = Rand(0,640)
    gegner_leicht(P,2) = Rand(10,20) 
DrawImage gegner_leicht_ship, gegner_leicht(P,1),gegner_leicht(P,2)
EndIf
Next

die schiffe müssen auch aktiviert werden sonst gibt es immer wieder neue Positionen
[BB2D | BB3D | BB+]

Flori-D

BeitragFr, Jun 04, 2004 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
meinst du das Zitat:
die Scgiffe müssen aktiviert werden
auf die eins bei P,0 bezogen?
BB is Macht!

Homepage: www.flori-d.de

Ctuchik

BeitragFr, Jun 04, 2004 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Rallimen hat Folgendes geschrieben:

die schiffe müssen auch aktiviert werden sonst gibt es immer wieder neue Positionen

jau das isses, und das DrawImage sollte dann aus der If-Abfrage raus!
Code: [AUSKLAPPEN]
For P = 1 To 5
If gegner_leicht(P,0) = 0 Then
    gegner_leicht(P,0) = 1
    gegner_leicht(P,1) = Rand(0,640)
    gegner_leicht(P,2) = Rand(10,20) 
EndIf
DrawImage gegner_leicht_ship, gegner_leicht(P,1),gegner_leicht(P,2)
Next

So müsste es gehn!

Flori-D

BeitragFr, Jun 04, 2004 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja jetzt bleibets auf der stelle.Aber ich will ja fünf und nicht 1.Obwohl das eigentlich sein müsste da ich ja 5 zufallspositionen bestimmen lasse.

Code: [AUSKLAPPEN]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Gegner und KI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
For P = 1 To 5
If gegner_leicht(P,0) = 1 Then
    gegner_leicht(P,1) = Rand(0,640)
    gegner_leicht(P,2) = Rand(10,20)   
EndIf
DrawImage gegner_leicht_ship, gegner_leicht(P,1),gegner_leicht(P,2)
Next
BB is Macht!

Homepage: www.flori-d.de

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragFr, Jun 04, 2004 21:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
For P = 1 To 5
If gegner_leicht(P,0) = 0 Then
gegner_leicht(P,0) = 1
    gegner_leicht(P,1) = Rand(0,640)
    gegner_leicht(P,2) = Rand(10,20) 
else
DrawImage gegner_leicht_ship, gegner_leicht(P,1),gegner_leicht(P,2)
EndIf
Next

oder so... ist fast genauso...
Code: [AUSKLAPPEN]
For P = 1 To 5
If gegner_leicht(P,0) = 0 Then
gegner_leicht(P,0) = 1
    gegner_leicht(P,1) = Rand(0,640)
    gegner_leicht(P,2) = Rand(10,20) 
 EndIf
if  gegner_leicht(P,0) = 1 Then
DrawImage gegner_leicht_ship, gegner_leicht(P,1),gegner_leicht(P,2)
end if
Next


@Ctuchik: bei dir werden alle gezeichnet, ob sie da sind oder nicht....

EDIT:
hab mal die 2 nullen korrgiert!

blöder Fehler Embarassed
[BB2D | BB3D | BB+]
  • Zuletzt bearbeitet von Rallimen am Fr, Jun 04, 2004 23:17, insgesamt einmal bearbeitet

Flori-D

BeitragFr, Jun 04, 2004 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
So wird nicht eins gezeichnet. Sad
BB is Macht!

Homepage: www.flori-d.de
 

zocker2150

BeitragFr, Jun 04, 2004 22:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
For P = 1 To 5

   If gegner_leicht(P,0) = 0 Then
      gegner_leicht(P,0) = 1
      gegner_leicht(P,1) = Rand(0,640)
      gegner_leicht(P,2) = Rand(10,20)
   EndIf
   
   If gegner_leicht(P,0) = 1 Then
      DrawImage gegner_leicht_ship, gegner_leicht(P,1),gegner_leicht(P,2)
   End If

Next

Ctuchik

BeitragFr, Jun 04, 2004 23:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
@Ctuchik: bei dir werden alle gezeichnet, ob sie da sind oder nicht....

Das stimmt, es sind aber auch alle ständig da, weil sie ja sofort an einer zufälligen Position neu erstellt werden, wenn sie tot sein sollten. Smile
Code: [AUSKLAPPEN]

   If gegner_leicht(P,0) = 1 Then
      DrawImage gegner_leicht_ship, gegner_leicht(P,1),gegner_leicht(P,2)
   End If
   

Diese If-Abfrage ist unnötig, weil gegner_leicht(P,0) ja sowieso auf 1 gesetzt wird, wenn es 0 sein sollte!

(Ich weiss, natürlich müssen die Gegner irgendwann mal verschwinden und dann braucht man es doch Wink )
  • Zuletzt bearbeitet von Ctuchik am Fr, Jun 04, 2004 23:57, insgesamt einmal bearbeitet

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragFr, Jun 04, 2004 23:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, das stimmt...... haste natürlich recht!
[BB2D | BB3D | BB+]

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group