Raumschiffe zufällig

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Blitzard

Betreff: Raumschiffe zufällig

BeitragFr, Dez 30, 2005 12:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ich weiß net ob diese Frage schon gestellt wurde ( auf jeden fall aht die suche nix richtiges ergeben).

Also ich wollte das so machen das meine Raumschiffe von oben kommen und zwar dort zufällig platziert werden.
Ich habs auch schon mir Rand probiert doch das war ne katastrophe die raumschiffe sind hin und her gezittert.

Hier ist mein Code

BlitzBasic: [AUSKLAPPEN]

AppTitle \"Star-Ranger\"
Graphics 1024,768
SetBuffer BackBuffer()

Hinter = LoadImage(\"sterne.bmp\")
Schiff = LoadImage(\"Schiff.bmp\")
Schuss = LoadImage(\"Schuss.bmp\")
GegnerImage = LoadImage(\"Gegner.bmp\")
GegnerSch = LoadImage(\"GegnerSch.bmp\")
Explosion = LoadAnimImage (\"Explosion.bmp\",60,46, 0,6)


Dim Sch(100,2)
Dim Gegner(8,3)
Dim GegnerTot(5,1)
Dim FeindSch(100,2)





MaskImage GegnerImage ,255,0,255
MaskImage Schiff ,255,0,255
MaskImage Schuss ,255,0,255
MaskImage GegnerSch ,255,0,255
X=300
Y=700
GegnerEnergie = 100
SpielerEnergie = 500

SeedRnd MilliSecs()
;Hauptschleife
Repeat

Cls







;BildschirmBewegung
I = I + 2
If I=99999999999999999999 Then I=0
TileBlock Hinter,0,I
;BildschirmBewegung(ende)
;Schiff
DrawImage Schiff ,X,Y
If KeyDown(200) Then Y = Y-3
If KeyDown(208) Then Y = Y+3
If KeyDown(205) Then X = X+3
If KeyDown(203) Then X = X-3
;Schiff(ende)



;Randmakierung
If X>920 Then X=920
If X<0 Then X=0
If Y>650 Then Y=650
If Y<0 Then Y=0
;Randmakierung(ende)
;Schuss
If KeyHit(57) Then
Schuss2 = Schuss2 + 1
If Schuss2 = 21 Then Schuss2 = 1
Sch(Schuss2,0) = 1
Sch(Schuss2,1) = X+29
Sch(Schuss2,2) = Y
EndIf

For S = 1 To 100
If Sch(S,1) < 0 Then Sch(S,0) = 0
If Sch(S,0) = 1 Then
DrawImage Schuss, Sch(S,1), Sch(S,2)
Sch(S,2) = Sch(S,2) - 10
EndIf
Next
;Schuss(ende)
;FeindSchuss
For P = 1 To 5
If Gegner(P,1) = X+40 Then
Schuss3 = Schuss3 + 1
If Schuss3 = 2 Then Schuss3 = 1
FeindSch(Schuss3,0) = 1
FeindSch(Schuss3,1) = Gegner(P,1)
FeindSch(Schuss3,2) = Gegner(P,2)
EndIf
For A = 1 To 100
If FeindSch(A,1) < 0 Then FeindSch(A,0) = 0
If FeindSch(A,0) = 1 Then
DrawImage GegnerSch , FeindSch(P,1), FeindSch(P,2)
FeindSch(A,2) = FeindSch(A,2) +4
EndIf
Next
Next
;FeindSchuss(ende)


;Feind
For F = 1 To 5
If Gegner(F,0) = 0 Then
Gegner(F,0) = Rand(100,400)
Gegner(F,1) = Rand(-20,1024)
Gegner(F,2) = Rand(-100,0)
EndIf


If Gegner(F,0) <> -1 Then
Gegner(F,2) = Gegner(F,2) + 1
Gegner(F,1) = 391 + Cos( Gegner(F,2) ) * Gegner(F,0)
EndIf

If Gegner(F,2) > 768 Then Gegner(F,0) = 0

DrawImage GegnerImage ,Gegner(F,1),Gegner(F,2)


Next

;Feinde(ende)
;Kollision
For C = 1 To 100 ;Collision
For K = 1 To 5
If FeindSch(C,1) < 0 Then FeindSch(C,0) = 0



If ImagesOverlap (GegnerImage, Gegner(K,1), Gegner(K,2), Schuss, Sch(C,1), Sch(C,2)) Then Gegner(K,0) = -1


If ImagesOverlap(GegnerSch , FeindSch(1,1) , FeindSch(1,2), Schiff, X ,Y) Then SpielerEnergie=SpielerEnergie

If SpielerEnergie <= 0 Then End




Next
Next
;Kollison(ende)
;Explosion
For F = 1 To 5
If Gegner(F,0) = -1 Then
If GegnerTot(F,1) + 100 < MilliSecs() Then
GegnerTot(F,0) = GegnerTot(F,0) + 1
GegnerTot (F,1) = MilliSecs()
If GegnerTot(F,0) = 6 Then
GegnerTot(F,0) = 0
GegnerTot(F,1) = 0
Gegner(F,0) = 0
EndIf
EndIf
DrawImage Explosion ,Gegner(F,1) ,Gegner(F,2) ,GegnerTot(F,0)
EndIf
Next

;Explosion(ende)
Flip
Until KeyHit(1)

;Programm Ende


Danke im Vorraus Evil or Very Mad Evil or Very Mad

BtbN

BeitragFr, Dez 30, 2005 12:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Nix zum Problem, aber:

BlitzBasic: [AUSKLAPPEN]
If I=99999999999999999999 Then I=0 


Das dürfte nicht gehen, da in ein Int maximal 2^31-1 passt ^^
Und das sind 'nur' 2147483647

Also, ka wozu das überhaupt gut sein soll, is aba nicht gut so.

Blitzard

BeitragFr, Dez 30, 2005 12:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Äh ja werd ich gleich mal beheben^^

Hubsi

BeitragFr, Dez 30, 2005 12:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Zum platzieren:Code: [AUSKLAPPEN]
if gegner_x=-100 gegner_x=Rand(0,irgendwas)

und wenn der Gegner kaputt ist:Code: [AUSKLAPPEN]
gegner_x=-100

Ist das nicht das gesuchte hab ich Dein Problem nicht verstanden Very Happy Und gewöhnt Euch doch bitte an den Problemteil des Codes herauszukopieren, diesen zu posten und Variablennamen die nicht auf Anhieb klar sind kurz zu erklären (bsw. gegner(f,0) etc.). Darin kann ja alles mögliche gespeichert sein. Ob der Alien 4 oder 5 Augen hat, eine schiefe Nase oder gar seine X-Position Wink Und zum anderen würde es auch die Ladezeiten drastisch verringern wenn der Server nicht kilometerweise Code highlighten muss Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group