Level wechsel(ich scheine langsam zu verblöden,biite Hilfe)
Übersicht

![]() |
Flori-DBetreff: Level wechsel(ich scheine langsam zu verblöden,biite Hilfe) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.Bei meinem Game gibts momentan 2 Level.Wenn mann das erste bestanden hat sollte ein Smilie kommen und das 2 Level ankündigen.Doch es geschiet nichts.Der Smilie kommt einfach nicht.
Worsn liegt das? Code: [AUSKLAPPEN] If Punkte = Punkte >1500 Then
;Level 2 DrawImage auftrag2, 200,200 Delay 50000 |
||
BB is Macht!
Homepage: www.flori-d.de |
- Zuletzt bearbeitet von Flori-D am Fr, Jan 09, 2004 21:38, insgesamt 2-mal bearbeitet
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
probiers mal mit flip nach deinem drawimage und vor dem delay...wenn du davor den backbuffer gesetzt hast, kannst du natürlich nichts sehen ![]() btw: delay von 50sekunden? ![]() |
||
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein bisschen lange,is aber so für die tests gewollt | ||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du meinst so:Code: [AUSKLAPPEN] If Punkte = Punkte >1500 Then
;Level 2 SetBuffer BackBuffer() DrawImage auftrag2, 200,200 Flip Delay 50000 Jetzt drücke ich im Hauptmenü af Start nddann sieht mann für 3sek.nicht mal Level1 wenn manns endlich sieht ist man sofort GameOver. |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
ViciouS |
![]() Antworten mit Zitat ![]() |
---|---|---|
das kann man an dem codeschnipsel nicht erkennen..
must du mehr posten |
||
Skaten ist scheisse...
Bilanz: 3 Knochenbrüche in 4 Jahren... und es werden mehr ![]() |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
So level1und 2.
Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() Global hinter = LoadImage("Gfx/stars.bmp") Global schiff = LoadImage("Gfx/R4.bmp") Global alienbild = LoadImage("Gfx/Rock1.bmp") Global rakete = LoadImage("Gfx/torpedo0016.bmp") Global explosion = LoadAnimImage("Gfx/explodeA.bmp", 60,46, 0,6) Global schusston = LoadSound("Sound/soundfx11.wav") Global trefferton = LoadSound("Sound/soundfx25.wav") Global tiles = LoadImage ("Gfx/blocks1.bmp") Global maus = LoadImage ("Gfx/pointer.bmp") Global hinter2 = LoadImage("Gfx/stars2.bmp") Global hinter3 = LoadImage("Wüste.bmp") Global auftrag1 = LoadImage("auftrag1.bmp") Global raumstation = LoadImage ("Raumstation.bmp") Dim Rak(100,2) Dim Alien(5,2) Dim AlienExplodiert(5,1) Dim Alien2(5,2) Dim AlienExplodiert2(5,2) Global X = 305 Global Y = 420 Global timer = CreateTimer(60) ; Graphik für Menüpunkt erzeugen Global stein = CreateImage(32,32) SetBuffer ImageBuffer(stein) DrawImageRect tiles, 0, 0, 444, 308, 32, 32 ScaleImage stein, 8, 2 ; Graphik für aktiven Spielstein erzeugen Global aktivstein = CreateImage(32,32) SetBuffer ImageBuffer(aktivstein) DrawImageRect tiles, 0, 0, 2, 342, 32, 32 ScaleImage aktivstein, 8, 2 ; Menü definieren Dim MenuZeile(3) : Dim MenuName$(3) MenuZeile(1) = 100 : MenuName$(1) = "Start" MenuZeile(2) = 200 : MenuName$(2) = "Einstellungen" MenuZeile(3) = 300 : MenuName$(3) = "Ende" SetBuffer BackBuffer () Repeat TileBlock hinter2 Menu = 0 X = MouseX() Y = MouseY() For I=1 To 3 If ImageRectOverlap (maus, X, Y, 192, 100*I, 256, 64) Then DrawImage aktivstein, 192, I * 100 Menu = I Else DrawImage stein, 192, I * 100 EndIf Text (640 - StringWidth( MenuName$(I) )) / 2, I*100 + 12, MenuName$(I) Next DrawImage maus, X,Y Flip If MouseHit(1) Then If Menu = 1 Then Start() If Menu = 2 Then Einstellungen() If Menu = 3 Then Ende() EndIf Until KeyHit(1) End Function Einstellungen() Repeat Cls Text 100,100, "Hier dran wird noch gearbeitet.Zrück mit Esc." Flip Until KeyHit(1) FlushKeys End Function Function Ende() Repeat Cls Text 100,100, "Um zu beenden bitte Esc oder Leertaste drücken." Flip Until KeyHit(1) Or KeyHit(57) End End Function Function Start() Repeat Cls DrawImage auftrag1, 200,200 ; ; Hauptschleife Level 1 ; X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter, 0,H DrawImage schiff, X,Y ;Punkte Anzeige Text 400,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+33 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; Pfeiltasten abfragen If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf ; Kollision testen If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf ;Kollision Alien2 If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien2(J,1), Alien2(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf Next For I=1 To 5 ; Explosion Alien zeichnen If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf ;Explosion Alien2 If Alien2(I,0) = -1 Then If AlienExplodiert2(I,1) + 100 < MilliSecs() Then AlienExplodiert2(I,0) = AlienExplodiert2(I,0) + 1 AlienExplodiert2(I,1) = MilliSecs() If AlienExplodiert2(I,0) = 6 Then AlienExplodiert2(I,0) = 0 AlienExplodiert2(I,1) = 0 Alien2(I,0) = 0 EndIf EndIf DrawImage explosion, Alien2(I,1), Alien2(I,2), AlienExplodiert2(I,0) EndIf ;Kollision Komet-Spieler If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 Text 250,250, "Game Over" Flip Delay 2000 End EndIf ;Kollision2 If ImagesOverlap(alienbild, Alien2(I,1), Alien2(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien2(I,0) = -1 Text 200,250, "Game Over" Flip Delay 2000 End EndIf ; Alien-Steuerung If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 If Alien(I,0) <> -1 Then DrawImage alienbild, Alien(I,1), Alien(I,2) ;Aliensteuerung2 If Alien2(I,0) = 0 Then Alien2(I,0) = Rand(240,210) Alien2(I,1) = Rand(20,120) Alien2(I,2) = Rand(100,0) EndIf If Alien2(I,0) <> -1 Then Alien2(I,2) = Alien2(I,2) + 1 Alien2(I,1) = 200 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien2(I,2) > 480 Then Alien2(I,0) = 0 If Alien2(I,0) <> -1 Then DrawImage alienbild, Alien2(I,1), Alien2(I,2) If Punkte = Punkte >1500 Then ;Level 2 SetBuffer BackBuffer() DrawImage auftrag2, 200,200 Flip Delay 50000 SetBuffer BackBuffer() ;Hauptschleife Level 2 X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter2, 0,H DrawImage schiff, X,Y ;Raumstation DrawImage raumstation, 630,380 ;Punkte Anzeige2 Text 400,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test2 If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+33 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; Pfeiltasten abfragen2 If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern2 If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf ; Kollision testen If Rak(I,0) <> 0 Then For J=1 To 10 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf For I=1 To 5 ; Explosion Alien zeichnen If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf ;Kollision Komet-Spieler If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 Text 250,250, "Game Over" Flip Delay 2000 End EndIf ; Alien-Steuerung If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 ;Kollision Raumstation-Spieler If ImagesOverlap(raumstation, 630,380, schiff,X,Y) Text 250,250, "Sie haben das Level gewonnen" Delay 2000 End EndIf Next WaitTimer(timer) Flip Next Next Until KeyHit(1) EndIf Next Until KeyHit(1) Until KeyHit(1) End Function (jo ich weis hätte man kürzer machen können aber darum gehts jetzt nicht) |
||
BB is Macht!
Homepage: www.flori-d.de |
René Meyer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
If Punkte = Punkte >1500 Then
Laß es Dir auf der Zunge zergehen. :) |
||
www.blitzbasic.de | Das Buch zu Blitz Basic: www.schreibfabrik.de/txt/bbb |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
So richtig weis ich nicht was d meinst. ![]() ![]() Aber du meinst bestimmt ich soll das so machen: Code: [AUSKLAPPEN] If Punkte > 1500 Then Oder?
|
||
BB is Macht!
Homepage: www.flori-d.de |
René Meyer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja. Deine If-Abfrage kann ja nie den gewünschten Erfolg haben - Du fragst, ob Punkte genauso groß ist wie Punkte + 1500. Und das ist nie der Fall. | ||
www.blitzbasic.de | Das Buch zu Blitz Basic: www.schreibfabrik.de/txt/bbb |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja is soweit geändert.Aber ich bin imer noch sofort tot wennn ich auf start drücke(wenns nur einlevel ist gehts ja www.flori-d.de dort kann man das was geht finden aber es hat halt nur ein level)
Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() Global hinter = LoadImage("Gfx/stars.bmp") Global schiff = LoadImage("Gfx/R4.bmp") Global alienbild = LoadImage("Gfx/Rock1.bmp") Global rakete = LoadImage("Gfx/torpedo0016.bmp") Global explosion = LoadAnimImage("Gfx/explodeA.bmp", 60,46, 0,6) Global schusston = LoadSound("Sound/soundfx11.wav") Global trefferton = LoadSound("Sound/soundfx25.wav") Global tiles = LoadImage ("Gfx/blocks1.bmp") Global maus = LoadImage ("Gfx/pointer.bmp") Global hinter2 = LoadImage("Gfx/stars2.bmp") Global hinter3 = LoadImage("Wüste.bmp") Global auftrag1 = LoadImage("auftrag1.bmp") Global raumstation = LoadImage ("Raumstation.bmp") Dim Rak(100,2) Dim Alien(5,2) Dim AlienExplodiert(5,1) Dim Alien2(5,2) Dim AlienExplodiert2(5,2) Global X = 305 Global Y = 420 Global timer = CreateTimer(60) ; Graphik für Menüpunkt erzeugen Global stein = CreateImage(32,32) SetBuffer ImageBuffer(stein) DrawImageRect tiles, 0, 0, 444, 308, 32, 32 ScaleImage stein, 8, 2 ; Graphik für aktiven Spielstein erzeugen Global aktivstein = CreateImage(32,32) SetBuffer ImageBuffer(aktivstein) DrawImageRect tiles, 0, 0, 2, 342, 32, 32 ScaleImage aktivstein, 8, 2 ; Menü definieren Dim MenuZeile(3) : Dim MenuName$(3) MenuZeile(1) = 100 : MenuName$(1) = "Start" MenuZeile(2) = 200 : MenuName$(2) = "Einstellungen" MenuZeile(3) = 300 : MenuName$(3) = "Ende" SetBuffer BackBuffer () Repeat TileBlock hinter2 Menu = 0 X = MouseX() Y = MouseY() For I=1 To 3 If ImageRectOverlap (maus, X, Y, 192, 100*I, 256, 64) Then DrawImage aktivstein, 192, I * 100 Menu = I Else DrawImage stein, 192, I * 100 EndIf Text (640 - StringWidth( MenuName$(I) )) / 2, I*100 + 12, MenuName$(I) Next DrawImage maus, X,Y Flip If MouseHit(1) Then If Menu = 1 Then Start() If Menu = 2 Then Einstellungen() If Menu = 3 Then Ende() EndIf Until KeyHit(1) End Function Einstellungen() Repeat Cls Text 100,100, "Hier dran wird noch gearbeitet.Zrück mit Esc." Flip Until KeyHit(1) FlushKeys End Function Function Ende() Repeat Cls Text 100,100, "Um zu beenden bitte Esc oder Leertaste drücken." Flip Until KeyHit(1) Or KeyHit(57) End End Function Function Start() Repeat Cls DrawImage auftrag1, 200,200 ; ; Hauptschleife Level 1 ; X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter, 0,H DrawImage schiff, X,Y ;Punkte Anzeige Text 400,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+33 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; Pfeiltasten abfragen If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf ; Kollision testen If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf ;Kollision Alien2 If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien2(J,1), Alien2(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf Next For I=1 To 5 ; Explosion Alien zeichnen If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf ;Explosion Alien2 If Alien2(I,0) = -1 Then If AlienExplodiert2(I,1) + 100 < MilliSecs() Then AlienExplodiert2(I,0) = AlienExplodiert2(I,0) + 1 AlienExplodiert2(I,1) = MilliSecs() If AlienExplodiert2(I,0) = 6 Then AlienExplodiert2(I,0) = 0 AlienExplodiert2(I,1) = 0 Alien2(I,0) = 0 EndIf EndIf DrawImage explosion, Alien2(I,1), Alien2(I,2), AlienExplodiert2(I,0) EndIf ;Kollision Komet-Spieler If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 Text 250,250, "Game Over" Flip Delay 2000 End EndIf ;Kollision2 If ImagesOverlap(alienbild, Alien2(I,1), Alien2(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien2(I,0) = -1 Text 200,250, "Game Over" Flip Delay 2000 End EndIf ; Alien-Steuerung If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 If Alien(I,0) <> -1 Then DrawImage alienbild, Alien(I,1), Alien(I,2) ;Aliensteuerung2 If Alien2(I,0) = 0 Then Alien2(I,0) = Rand(240,210) Alien2(I,1) = Rand(20,120) Alien2(I,2) = Rand(100,0) EndIf If Alien2(I,0) <> -1 Then Alien2(I,2) = Alien2(I,2) + 1 Alien2(I,1) = 200 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien2(I,2) > 480 Then Alien2(I,0) = 0 If Alien2(I,0) <> -1 Then DrawImage alienbild, Alien2(I,1), Alien2(I,2) If Punkte >1500 Then ;Level 2 SetBuffer BackBuffer() DrawImage auftrag2, 200,200 Flip Delay 50000 SetBuffer BackBuffer() ;Hauptschleife Level 2 X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter2, 0,H DrawImage schiff, X,Y ;Raumstation DrawImage raumstation, 630,380 ;Punkte Anzeige2 Text 400,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test2 If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+33 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; Pfeiltasten abfragen2 If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern2 If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf ; Kollision testen If Rak(I,0) <> 0 Then For J=1 To 10 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf For I=1 To 5 ; Explosion Alien zeichnen If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf ;Kollision Komet-Spieler If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 Text 250,250, "Game Over" Flip Delay 2000 End EndIf ; Alien-Steuerung If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 ;Kollision Raumstation-Spieler If ImagesOverlap(raumstation, 630,380, schiff,X,Y) Text 250,250, "Sie haben das Level gewonnen" Delay 2000 End EndIf Next WaitTimer(timer) Flip Next Next Until KeyHit(1) EndIf Next Until KeyHit(1) Until KeyHit(1) End Function |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Leute,ich verzweifle langsam.Ich kriegs nicht gebacken. ![]() |
||
BB is Macht!
Homepage: www.flori-d.de |
storzi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
könnte es daran liegen dass die eine repeat-schleife in der anderen ist und die andere davor nicht beendet wird? | ||
http://www.splattergamez.de |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab die schleifen jetzt beendet.
Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() Global hinter = LoadImage("Gfx/stars.bmp") Global schiff = LoadImage("Gfx/R4.bmp") Global alienbild = LoadImage("Gfx/Rock1.bmp") Global rakete = LoadImage("Gfx/torpedo0016.bmp") Global explosion = LoadAnimImage("Gfx/explodeA.bmp", 60,46, 0,6) Global schusston = LoadSound("Sound/soundfx11.wav") Global trefferton = LoadSound("Sound/soundfx25.wav") Global tiles = LoadImage ("Gfx/blocks1.bmp") Global maus = LoadImage ("Gfx/pointer.bmp") Global hinter2 = LoadImage("Gfx/stars2.bmp") Global hinter3 = LoadImage("Wüste.bmp") Global auftrag1 = LoadImage("auftrag1.bmp") Global raumstation = LoadImage ("Raumstation.bmp") Dim Rak(100,2) Dim Alien(5,2) Dim AlienExplodiert(5,1) Dim Alien2(5,2) Dim AlienExplodiert2(5,2) Global X = 305 Global Y = 420 Global timer = CreateTimer(60) ; Graphik für Menüpunkt erzeugen Global stein = CreateImage(32,32) SetBuffer ImageBuffer(stein) DrawImageRect tiles, 0, 0, 444, 308, 32, 32 ScaleImage stein, 8, 2 ; Graphik für aktiven Spielstein erzeugen Global aktivstein = CreateImage(32,32) SetBuffer ImageBuffer(aktivstein) DrawImageRect tiles, 0, 0, 2, 342, 32, 32 ScaleImage aktivstein, 8, 2 ; Menü definieren Dim MenuZeile(3) : Dim MenuName$(3) MenuZeile(1) = 100 : MenuName$(1) = "Start" MenuZeile(2) = 200 : MenuName$(2) = "Einstellungen" MenuZeile(3) = 300 : MenuName$(3) = "Ende" SetBuffer BackBuffer () Repeat TileBlock hinter2 Menu = 0 X = MouseX() Y = MouseY() For I=1 To 3 If ImageRectOverlap (maus, X, Y, 192, 100*I, 256, 64) Then DrawImage aktivstein, 192, I * 100 Menu = I Else DrawImage stein, 192, I * 100 EndIf Text (640 - StringWidth( MenuName$(I) )) / 2, I*100 + 12, MenuName$(I) Next DrawImage maus, X,Y Flip If MouseHit(1) Then If Menu = 1 Then Start() If Menu = 2 Then Einstellungen() If Menu = 3 Then Ende() EndIf Until KeyHit(1) End Function Einstellungen() Repeat Cls Text 100,100, "Hier dran wird noch gearbeitet.Zrück mit Esc." Flip Until KeyHit(1) FlushKeys End Function Function Ende() Repeat Cls Text 100,100, "Um zu beenden bitte Esc oder Leertaste drücken." Flip Until KeyHit(1) Or KeyHit(57) End End Function Function Start() SetBuffer BackBuffer() Repeat Cls DrawImage auftrag1, 200,200 Until KeyHit(1) ; ; Hauptschleife Level 1 ; X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter, 0,H DrawImage schiff, X,Y ;Punkte Anzeige Text 400,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+33 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; Pfeiltasten abfragen If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf ; Kollision testen If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf ;Kollision Alien2 If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien2(J,1), Alien2(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf Next For I=1 To 5 ; Explosion Alien zeichnen If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf ;Explosion Alien2 If Alien2(I,0) = -1 Then If AlienExplodiert2(I,1) + 100 < MilliSecs() Then AlienExplodiert2(I,0) = AlienExplodiert2(I,0) + 1 AlienExplodiert2(I,1) = MilliSecs() If AlienExplodiert2(I,0) = 6 Then AlienExplodiert2(I,0) = 0 AlienExplodiert2(I,1) = 0 Alien2(I,0) = 0 EndIf EndIf DrawImage explosion, Alien2(I,1), Alien2(I,2), AlienExplodiert2(I,0) EndIf ;Kollision Komet-Spieler If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 Text 250,250, "Game Over" Flip Delay 2000 End EndIf ;Kollision2 If ImagesOverlap(alienbild, Alien2(I,1), Alien2(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien2(I,0) = -1 Text 200,250, "Game Over" Flip Delay 2000 End EndIf ; Alien-Steuerung If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 If Alien(I,0) <> -1 Then DrawImage alienbild, Alien(I,1), Alien(I,2) ;Aliensteuerung2 If Alien2(I,0) = 0 Then Alien2(I,0) = Rand(240,210) Alien2(I,1) = Rand(20,120) Alien2(I,2) = Rand(100,0) EndIf If Alien2(I,0) <> -1 Then Alien2(I,2) = Alien2(I,2) + 1 Alien2(I,1) = 200 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien2(I,2) > 480 Then Alien2(I,0) = 0 If Alien2(I,0) <> -1 Then DrawImage alienbild, Alien2(I,1), Alien2(I,2) If Punkte >1500 Then Flip Until KeyHit(1) ;Level 2 SetBuffer BackBuffer() Repeat Cls DrawImage auftrag2, 200,200 Delay 50000 Flip Until KeyHit(1) SetBuffer BackBuffer() ;Hauptschleife Level 2 X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter2, 0,H DrawImage schiff, X,Y ;Raumstation DrawImage raumstation, 630,380 ;Punkte Anzeige2 Text 400,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test2 If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+33 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; Pfeiltasten abfragen2 If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern2 If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf ; Kollision testen If Rak(I,0) <> 0 Then For J=1 To 10 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf For I=1 To 5 ; Explosion Alien zeichnen If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf ;Kollision Komet-Spieler If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 Text 250,250, "Game Over" Flip Delay 2000 End EndIf ; Alien-Steuerung If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 ;Kollision Raumstation-Spieler If ImagesOverlap(raumstation, 630,380, schiff,X,Y) Text 250,250, "Sie haben das Level gewonnen" Delay 2000 End EndIf Next WaitTimer(timer) Flip Next Next EndIf Next Until KeyHit(1) End Function Geht aber immer noch nicht. ![]() |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi ich hab mir das mal etwas genauer angesehen, aber ![]() Nicht bös gemeint: da sind so viele Bugs drinn, next an falschen stellen if then ohne endif einen Teil hab ich raus gemacht, siehe Komentar, kann es aber nicht testen wegen der fehlenden dateien! aber der compiler zeigt jetzt schonmal keine Fehler mehr an! wenn ich genauer nachsehen soll dann brauch ich das alles, kannste mir ja auf meine Email schicken! hier noch der Code! hoffe da ses einigemassen geht!Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() Global hinter = LoadImage("Gfx/stars.bmp") Global schiff = LoadImage("Gfx/R4.bmp") Global alienbild = LoadImage("Gfx/Rock1.bmp") Global rakete = LoadImage("Gfx/torpedo0016.bmp") Global explosion = LoadAnimImage("Gfx/explodeA.bmp", 60,46, 0,6) Global schusston = LoadSound("Sound/soundfx11.wav") Global trefferton = LoadSound("Sound/soundfx25.wav") Global tiles = LoadImage ("Gfx/blocks1.bmp") Global maus = LoadImage ("Gfx/pointer.bmp") Global hinter2 = LoadImage("Gfx/stars2.bmp") Global hinter3 = LoadImage("Wüste.bmp") Global auftrag1 = LoadImage("auftrag1.bmp") Global raumstation = LoadImage ("Raumstation.bmp") Global timer = CreateTimer(60) Dim Rak(100,2) Dim Alien(5,2) Dim AlienExplodiert(5,1) Dim Alien2(5,2) Dim AlienExplodiert2(5,2) Global X = 305 Global Y = 420 ; Graphik für Menüpunkt erzeugen Global stein = CreateImage(32,32) SetBuffer ImageBuffer(stein) DrawImageRect tiles, 0, 0, 444, 308, 32, 32 ScaleImage stein, 8, 2 ; Graphik für aktiven Spielstein erzeugen Global aktivstein = CreateImage(32,32) SetBuffer ImageBuffer(aktivstein) DrawImageRect tiles, 0, 0, 2, 342, 32, 32 ScaleImage aktivstein, 8, 2 ; Menü definieren Dim MenuZeile(3) : Dim MenuName$(3) MenuZeile(1) = 100 : MenuName$(1) = "Start" MenuZeile(2) = 200 : MenuName$(2) = "Einstellungen" MenuZeile(3) = 300 : MenuName$(3) = "Ende" SetBuffer BackBuffer () Repeat TileBlock hinter2 Menu = 0 X = MouseX() Y = MouseY() For I=1 To 3 If ImageRectOverlap (maus, X, Y, 192, 100*I, 256, 64) Then DrawImage aktivstein, 192, I * 100 Menu = I Else DrawImage stein, 192, I * 100 EndIf Text (640 - StringWidth( MenuName$(I) )) / 2, I*100 + 12, MenuName$(I) Next DrawImage maus, X,Y Flip If MouseHit(1) Then If Menu = 1 Then Start() If Menu = 2 Then Einstellungen() If Menu = 3 Then Ende() EndIf Until KeyHit(1) End Function Einstellungen() Repeat Cls Text 100,100, "Hier dran wird noch gearbeitet.Zrück mit Esc." Flip Until KeyHit(1) FlushKeys End Function Function Ende() Repeat Cls Text 100,100, "Um zu beenden bitte Esc oder Leertaste drücken." Flip Until KeyHit(1) Or KeyHit(57) End End Function Function Start() SetBuffer BackBuffer() Repeat Cls DrawImage auftrag1, 200,200 Until KeyHit(1) ; ; Hauptschleife Level 1 ; X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter, 0,H DrawImage schiff, X,Y ;Punkte Anzeige Text 400,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+33 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; Pfeiltasten abfragen If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf ; Kollision testen If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf ;Kollision Alien2 If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien2(J,1), Alien2(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf Next For I=1 To 5 ; Explosion Alien zeichnen If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf ;Explosion Alien2 If Alien2(I,0) = -1 Then If AlienExplodiert2(I,1) + 100 < MilliSecs() Then AlienExplodiert2(I,0) = AlienExplodiert2(I,0) + 1 AlienExplodiert2(I,1) = MilliSecs() If AlienExplodiert2(I,0) = 6 Then AlienExplodiert2(I,0) = 0 AlienExplodiert2(I,1) = 0 Alien2(I,0) = 0 EndIf EndIf DrawImage explosion, Alien2(I,1), Alien2(I,2), AlienExplodiert2(I,0) EndIf ;Kollision Komet-Spieler If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 Text 250,250, "Game Over" Flip Delay 2000 End EndIf ;Kollision2 If ImagesOverlap(alienbild, Alien2(I,1), Alien2(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien2(I,0) = -1 Text 200,250, "Game Over" Flip Delay 2000 End EndIf ; Alien-Steuerung If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 If Alien(I,0) <> -1 Then DrawImage alienbild, Alien(I,1), Alien(I,2) ;Aliensteuerung2 If Alien2(I,0) = 0 Then Alien2(I,0) = Rand(240,210) Alien2(I,1) = Rand(20,120) Alien2(I,2) = Rand(100,0) EndIf If Alien2(I,0) <> -1 Then Alien2(I,2) = Alien2(I,2) + 1 Alien2(I,1) = 200 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien2(I,2) > 480 Then Alien2(I,0) = 0 If Alien2(I,0) <> -1 Then DrawImage alienbild, Alien2(I,1), Alien2(I,2) Next; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<???? vergessen ;If Punkte >1500 Then ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<???? vergessen Flip Until KeyHit(1) ;Level 2 SetBuffer BackBuffer() Repeat Cls DrawImage auftrag2, 200,200 Delay 50000 Flip Until KeyHit(1) ;SetBuffer BackBuffer() ;Wieso???? ;Hauptschleife Level 2 X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter2, 0,H DrawImage schiff, X,Y ;Raumstation DrawImage raumstation, 630,380 ;Punkte Anzeige2 Text 400,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test2 If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+33 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; Pfeiltasten abfragen2 If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern2 If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf Next ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<wenn es denn hier hin gehört For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf ; Kollision testen If Rak(I,0) <> 0 Then For J=1 To 10 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf Next ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<wenn es denn hier hin gehört For I=1 To 5 ; Explosion Alien zeichnen If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf ;Kollision Komet-Spieler If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 Text 250,250, "Game Over" Flip Delay 2000 End EndIf ; Alien-Steuerung If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 ;Kollision Raumstation-Spieler If ImagesOverlap(raumstation, 630,380, schiff,X,Y) Text 250,250, "Sie haben das Level gewonnen" Delay 2000 End EndIf Next WaitTimer(timer) Flip ;Next ; sind alle total fehl am Platz ;Next ;EndIf ;Next Until KeyHit(1) End Function Welchen Editor benutzt du ? Visual Blitz? |
||
[BB2D | BB3D | BB+]
|
René Meyer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Flori-D, so funktioniert das nicht.
Es macht keinen Sinn, in fremden Quelltexten herumzuwursteln, ohne sie richtig zu verstehen. Du siehst doch, daß Du kaum vorankommst. Noch mal: Beginne von vorn, lerne die Grundlagen und schreibe zunächst kleine Programme. Und vor allem: Schreibe sie selbst. Nur so sammelst Du richtig Erfahrung, die notwendig ist, um ohne fremde Hilfe Spiele zu programmieren. |
||
www.blitzbasic.de | Das Buch zu Blitz Basic: www.schreibfabrik.de/txt/bbb |
![]() |
Slayer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Flori-D , muss René recht geben.
Mach nochmal ein Neues Projekt, ein einfaches ohne Gfx, Kollisionen usw... So wie der Code unten. Wenn Du dann weist wie man denn Level wechseln könnte, baus Du es ins Spiel ein. Dann wieder einen Simplen Code für die anderen sachen, wenns klabt, dann wieder in denn spiele Code einbauen. Du darfst am anfang nicht soviele sachen gleichzeitig machen, gfx sound... Da komm man schnell Durcheinander. Spiel mal ein bisschen mit dem Code, verändere die level aufrufe, zb: select ? Las denn Funktionen nen Rückgabewert ausgeben, Schreib nur eine Levelfunction der du einen wert zuweisen/übergeben kannst und lass die verschiedenen Levels in dieser einen funktion ablaufen....usw Code: [AUSKLAPPEN] Graphics 640,480,16,2 SetBuffer BackBuffer() Global beenden = 0 Global mx,my,m1 Global punkte = 0 ;------------------------------------- menu() While Not KeyHit(1) If punkte < 10 Then level1() If punkte >=10 And punkte < 20 Then level2() If punkte >= 20 Cls Text 100,60,"Mit der Taste 'M' kannst Du ins Menü" Text 100,100,"Bitte ESC Drücken zum beenden" Text 100,120,"Punktestand : "+punkte If KeyHit(57) Then menu() EndIf Flip:Cls Wend:End ;.................... Function menu() While Not a = 1 Text 100,100,"Ich bin Deine Menü" Text 100,120,"Drücke Space zum weiter spielen oder ESC zum Beenden" If KeyHit(1) Then End If KeyHit(57) Then a = 1 Flip:Cls Wend FlushKeys() FlushMouse() End Function ;...................... Function level1() While Not a = 1 mx = MouseX() my = MouseY() m1 = MouseHit(1) If KeyHit(57) Then menu() If m1 Then punkte = punkte + 1 Text 100,60,"Mit der Taste 'M' kannst Du ins Menü" Text 100,80,"Level 1" Text 100,100,"Du musst 10 mal die linke Maustaste Drücken" Text 100,120,"Dann gehts weiter" Text 100,140,"Punktestand : "+Punkte If punkte >= 10 Cls Text 100,100,"Herzlichen Glückwunsch, Du kommst in nächste Level" Flip a = 1 Delay 3000 EndIf Flip:Cls Wend FlushMouse() End Function ;--------------------------------------------------- Function level2() While Not a = 1 mx = MouseX() my = MouseY() m1 = MouseHit(1) If KeyHit(57) Then menu() If m1 Then punkte = punkte + 1 Text 100,60,"Mit der Taste 'M' kannst Du ins Menü" Text 100,80,"Level 2" Text 100,100,"Du musst 10 mal die linke Maustaste Drücken" Text 100,120,"Dann gehts weiter" Text 100,140,"Punktestand : "+Punkte If punkte >= 20 Cls Text 100,100,"Herzlichen Glückwunsch, Du kommst in nächste Level" Flip a = 1 Delay 3000 EndIf Flip:Cls Wend FlushMouse() End Function |
||
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
René Meyer hat Folgendes geschrieben: Ja. Deine If-Abfrage kann ja nie den gewünschten Erfolg haben - Du fragst, ob Punkte genauso groß ist wie Punkte + 1500. Und das ist nie der Fall.
Er hat aber nicht geschrieben If Punkte = Punkte + 1500 ![]() Sondern Punkte = Punkte > 1500 Das würde dann sowas ergeben wie If Punkte = True oder andernfalls if Punkte = False Somit war es auch schon true wenn Punkte 1 oder grösser als 1 war ![]() Zum Thema: Ich find auch du solltest erstmal was einfacheres machen. Denn wenn du alles selber programmiert hast, hast du normalerweise auch weniger Probleme mit dem code. Und es ist nicht so schwer Fehler zu finden. |
||
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das prob. bei mir issja das ichs ständig versuche was komplett eigenständig zu machen.Dann gehts los, suche mir meinetwegen thema Weltraumshooter so anfangen.
Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() So und ann,wie gehts am besten weiter.Dann schreib ich ganz Automatisch die Steuerung etc ausm Buch ab und verändere die dann,bzw. male nochn Bild lasse das irgendwo erscheinen und bei Kollision damit gewinnt man oder so. |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
mein erstes programm mit Blitz was ich selber geschrieben habe ohne Hilfsmittel wie Bücher war einfach nur einen Ball übern GrafikBildschirm laufen zu lassen und abprallen zu lassen mit Richtungänderungen. Daraus entstand dann ein ganzes Spiel weil ich immer weiter gemacht habe! das Projekt hat jetzt einen Umfang von 13Mb und ist immer noch nicht fertig! |
||
[BB2D | BB3D | BB+]
|
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm ich scheine total falsch angefangen zu haben. ![]() Aber noch maldurchlesen hab ich keinen bok,ich kenne die Befehle mitlerweile. |
||
BB is Macht!
Homepage: www.flori-d.de |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group