fischspiel

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

meik sauss

Betreff: fischspiel

BeitragDo, Nov 22, 2012 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo forum!!!
ich habe erneut ein problem. ich programmiere mir gerade ein fischspiel. bis jetzt habe ich einen animierten fisch der wie bei mario durch verschiedene röhren in verschiedene bereiche gelangen soll.so weit so gut geht ja auch fast alles nur wenn mein fisch ca.15 mal duch die röhre hin und her geschwommen ist stürzt das spiel ab. ich habe es mehrmals versucht und immer die selbe stelle. das programm ist leider so groß das ich es warscheinlich nicht als ganzen hochladen darf . bitte um baldige hilfe (werde es aber trotzdem weiter versuchen selber dahinter zu kommen)

BladeRunner

Moderator

BeitragDo, Nov 22, 2012 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Tja, ohne Code werden wir nicht helfen können.
Glaskugeln sind rar gesät.
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
 

meik sauss

BeitragDo, Nov 22, 2012 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
darf man denn den ganzen code hochladen? bei einer anderen frage habe ich das gemacht und es war eher unerwünscht.
 

meik sauss

BeitragDo, Nov 22, 2012 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
hier der code. es sind insgesamt 3level .hoffe anfängerfehler werden erduldet.
vielen dankCode: [AUSKLAPPEN]


Graphics 640,480,16,2
SetBuffer BackBuffer()

timer=CreateTimer(60)
Global hecht=LoadAnimImage("C:\Users\Meik Sauss\Pictures\bilder BB\hecht.bmp",90,50,0,4)
Global hechtspiegel=LoadAnimImage("C:\Users\Meik Sauss\Pictures\bilder BB\hechtspiegel.bmp",90,50,0,4)
Global schatzkiste=LoadImage("C:\Users\Meik Sauss\Pictures\bilder BB\schatzkiste.bmp")
Global pflanze=LoadImage("C:\Users\Meik Sauss\Pictures\bilder BB\wasserpflanzen.bmp")
Global pflanze2=LoadImage("C:\Users\Meik Sauss\Pictures\bilder BB\wasserpflanzen.bmp")
Global info.blasen
Global algen=LoadImage("C:\Users\Meik Sauss\Pictures\bilder BB\algen.jpg")
Global blubber=LoadImage("C:\Users\Meik Sauss\Pictures\bilder BB\blasen.bmp")
Global player=LoadAnimImage("C:\Users\Meik Sauss\Pictures\bilder BB\fisch6.bmp",41,31,0,6)
Global roehre=LoadImage("C:\Users\Meik Sauss\Pictures\bilder BB\roehre.bmp")
Global gx#
Global gy#
Global tile=LoadImage("C:\Users\Meik Sauss\Pictures\bilder BB\block glas.bmp")
MaskImage player,0,0,0
MaskImage blubber,255,255,255
MaskImage pflanze,255,255,255
MaskImage pflanze2,255,255,255
MaskImage hecht,255,255,255
MaskImage hechtspiegel,255,255,255
Global roehre2=LoadImage("C:\Users\Meik Sauss\Pictures\bilder BB\roehre.bmp")
Global roehre3=LoadImage("C:\Users\Meik Sauss\Pictures\bilder BB\roehre.bmp")
Global roehre4=LoadImage("C:\Users\Meik Sauss\Pictures\bilder BB\roehre.bmp")
Global Player_Counter =5,player_frame=0
Global player_pos_x=200
Global player_pos_y#=200
Global z=0
HidePointer

ResizeImage pflanze,200,100
ResizeImage pflanze2,200,100
ResizeImage algen,640,40
ResizeImage player,30,30
ResizeImage roehre,100,70
ResizeImage blubber,30,30
ResizeImage roehre2,100,70
ResizeImage roehre3,100,70
ResizeImage roehre4,100,70

RotateImage roehre,90
RotateImage roehre2,270
RotateImage roehre3,180


ScaleImage pflanze2,-1,1
ScaleImage schatzkiste,2,2

Dim map (20,15)

Restore mapdata
   For y=0 To 14
      For x=0 To 19
         Read map(x,y)
      Next
   Next




Type blasen
Field x
Field y
End Type


musik=PlayMusic("C:\Users\Meik Sauss\Documents\MAGIX_Music_Maker_17_Premium\My Record\mini konzert.mp3")


Repeat
WaitTimer(timer)
If ChannelPlaying(musik)=0 Then musik=PlayMusic("C:\Users\Meik Sauss\Documents\MAGIX_Music_Maker_17_Premium\My Record\mini konzert.mp3")
Cls
ClsColor 20,0,100

If MilliSecs() > tmrSparks + 100 Then
tmrSparks=MilliSecs()
frmSparks=( frmSparks + 1 ) Mod 4
End If

 
 
 
 
 
movehero()
drawblasen()
drawmap()


DrawImage player,player_pos_x,player_pos_y#,player_frame
DrawImage roehre,50,200
DrawImage roehre2,600,200
DrawImage algen,0,440
DrawImage pflanze,500,360
DrawImage pflanze2,150,360
DrawImage schatzkiste,200,400


If ImagesCollide(roehre,0,200,0,player,player_pos_x,player_pos_y#,0) Then
zahler=0
level2()
End If
If ImagesCollide(roehre2,600,200,0,player,player_pos_x,player_pos_y#,0) Then
player_pos_x=0
player_pos_y#=235
End If

If player_pos_x<0 Then player_pos_x=0
If player_pos_x>600 Then player_pos_x=600
If player_pos_y#>410 Then player_pos_y#=410
If player_pos_y#<0 Then player_pos_y#=0


If gegner_pos_x#<0 Then gegner_pos_x#=0
If gegner_pos_x#>600 Then gegner_pos_x#=600
If gegner_pos_y#>410 Then gegner_pos_y#=410
If gegner_pos_y#<32 Then gegner_pos_y#=32

If gx#<player_pos_x Then gx#=gx#+3 :richtung=0
If gx#>player_pos_x Then gx#=gx#-3 :richtung=2
If gy#>player_pos_y# Then gy#=gy#-3
If gy#<player_pos_y# Then gy#=gy#+3
If gx#=player_pos_x Then richtung=1
If gy#=player_pos_y# Then richtung=1
If richtung=0 Then DrawImage hecht,gx#,gy,frmspark
If richtung=2 Then DrawImage hechtspiegel,gx#,gy,frmsparks
If richtung=1 Then DrawImage hecht,gx#,gy#,frmsparks

Flip
Until KeyDown(1)




Function drawmap()
   For y = 0 To 14
      For x = 0 To 19
         If map(x,y) = 1 Then
            DrawImage tile, x*32, y*32
         EndIf
      Next
   Next
End Function 


Function Movehero()
   If KeyDown(203) Or JoyXDir()= 1 Then
      
      If Player_Frame <3 Then Player_Frame = 3
      Player_Counter = Player_Counter -1
      If Player_Counter = 0 Then
         Player_Counter = 6
      Player_Frame = Player_Frame +1

         If Player_Frame = 6 Then Player_Frame = 3
     End If
        If map((player_pos_x +32) /32,(player_pos_y# +16) /32)=0 Then
         player_pos_x = player_pos_x -9
         If player_pos_x => 608 Then player_pos_x = 607

      EndIf
         ElseIf KeyDown(205) Or JoyXDir()=-1 Then
      
      If Player_Frame >3 Then Player_Frame = 0
      Player_Counter = Player_Counter -1
      If Player_Counter = 0 Then
         Player_Counter = 6
         Player_Frame = Player_Frame +1

         If Player_Frame = 3 Then Player_Frame = 0
     End If
         If map(player_pos_x /32,(player_pos_y# +16) /32)=0 Then
         player_pos_x = player_pos_x +9
         If player_pos_x =< 0 Then player_pos_x = 1

      EndIf
      
         EndIf
         If KeyDown(200) Or JoyXDir()= 1 Then
      
      If Player_Frame <3 Then Player_Frame = 3
      Player_Counter = Player_Counter -1
      If Player_Counter = 0 Then
         Player_Counter = 6
      Player_Frame = Player_Frame +1

         If Player_Frame = 6 Then Player_Frame = 3
     End If
        If map((player_pos_x +32) /32,(player_pos_y# +16) /32)=0 Then
         player_pos_y# = player_pos_y# -9
         If player_pos_x => 608 Then player_pos_x = 607

      EndIf
         ElseIf KeyDown(208) Or JoyXDir()=-1 Then
      
      If Player_Frame >3 Then Player_Frame = 0
      Player_Counter = Player_Counter -1
      If Player_Counter = 0 Then
         Player_Counter = 6
         Player_Frame = Player_Frame +1

         If Player_Frame = 3 Then Player_Frame = 0
     End If
         If map(player_pos_x /32,(player_pos_y# +16) /32)=0 Then
         player_pos_y# = player_pos_y# +9
         If player_pos_x =< 0 Then player_pos_x = 1

      EndIf
      
         EndIf

End Function


Function drawblasen()
SeedRnd MilliSecs()
zufall=Rnd(50)
If zufall=1 Then
blasencounter=blasencounter+1
End If


If blasencounter=1 Then
 info.blasen=New blasen
info\x=Rand(0,600)
info\y=480

blasencounter=0
End If
 
For info.blasen=Each blasen
info\y=info\y-2
DrawImage blubber,info\x,info\y
Next
End Function

;-------------------------------------------------------------------------------level2------

Function level2()
timer=CreateTimer(60);----------------------habe ich gemacht weil ein anders spiel in den verschiedenen levels unterschiedlich schnell läuft

player_pos_x=545;-------------------------------wenn man in das level kommmt soll der fisch direkt vor der röhre stehen
player_pos_y#=165





Dim map(20,15)

Restore mapdata2
   For y=0 To 14
      For x=0 To 19
         Read map(x,y)
      Next
   Next

Repeat
WaitTimer(timer)
Cls
drawmap2()
movehero()
drawblasen()


If z=1 Then
player_pos_x=320;-----wenn man aus level drei zurückt kommt soll der fisch unterhalb der röhre rauskommen
player_pos_y#=80;-----vorher kamm der fisch immer (siehe oben) x=545 und y=165 heraus z steht lediglich für zaehler
z=0
End If


If player_pos_x<1 Then player_pos_x=1
If player_pos_x>600 Then player_pos_x=600
If player_pos_y#>410 Then player_pos_y#=410
If player_pos_y#<0 Then player_pos_y#=0

DrawImage roehre2,600,200
DrawImage roehre3,300,70
DrawImage player,player_pos_x,player_pos_y#,player_frame
If ImagesCollide(player,player_pos_x,player_pos_y#,player_frame,roehre3,300,70,0) Then
level3()
End If
If ImagesCollide(player,player_pos_x,player_pos_y#,player_frame,roehre2,600,200,0) Then
Return
End If
Flip
Until KeyDown(1)
End Function

Function drawmap2()
   For y = 0 To 14
      For x = 0 To 19
         If map(x,y) = 1 Then
            DrawImage tile, x*32, y*32
         EndIf
      Next
   Next
End Function

 
;-----------------------------------------------------------level3-------------------------
Function level3()
timer=CreateTimer(60)
player_pos_x=300
player_pos_y#=400


Dim map(20,15)


Restore mapdata3
   For y=0 To 14
      For x=0 To 19
         Read map(x,y)
      Next
   Next

Repeat
WaitTimer(timer)
Cls
drawmap3()
movehero()
drawblasen()


If player_pos_x<1 Then player_pos_x=1
If player_pos_x>600 Then player_pos_x=600
If player_pos_y#>410 Then player_pos_y#=410
If player_pos_y#<0 Then player_pos_y#=0

DrawImage roehre4,300,410
DrawImage player,player_pos_x,player_pos_y#,player_frame
If ImagesCollide(player,player_pos_x,player_pos_y#,player_frame,roehre4,275,420,0) Then
z=z+1
Return z
End If
Flip
Until KeyDown(1)
End Function

Function drawmap3()
   For y = 0 To 14
      For x = 0 To 19
         If map(x,y) = 1 Then
            DrawImage tile, x*32, y*32
         EndIf
      Next
   Next
End Function

;------------------------------------------------------------------------------------------
.mapdata
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

.mapdata2
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

.mapdata3
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 

ChristianK

BeitragDo, Nov 22, 2012 15:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist aber kein Monkey-Code... Wink
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT
 

meik sauss

BeitragDo, Nov 22, 2012 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
ich glaube ich habe es,es liegt wohl doch an timer=createtimer(60). ich habe das waittimer aus level2 entfernt und jetzt scheint es zu funktionieren.
 

meik sauss

BeitragDo, Nov 22, 2012 15:29
Antworten mit Zitat
Benutzer-Profile anzeigen
entschuldigung ich war wohl etwas schnell da habe ich das beginnerforum
von monkey erwischt.tut mir leid Embarassed . ich habe mich schon gewunder warum
der text nicht im beginnerforum von BB stand.
problem scheint auch behoben zu sein.

BladeRunner

Moderator

BeitragFr, Nov 23, 2012 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein werter Meik sauss,
folgendes muss ich nun doch mal loswerden:
- Du postest im falschen Forum.
- Dein Threadtitel hat nichts mit deinem Problem zu tun
- Code reichst Du erst auf Nachfrage nach, obwohl Dir klar sein sollte dass wir ohne nicht wissen können wo es hapert.
- Der Code den Du dann lieferst ist wegen absoluter LadePfade und nicht mitgelieferter Medias nicht testbar.
- ab davon ist er quasi frei jeden Kommentares.
- Deine grundsätzliche Fragestellung ist präzise wie die Aussage eines BND-Mitarbeiters vorm NSU-Untersuchungsausschuß.
- Wie Du selbst sagst warst Du wohl "etwas schnell" UND
- Der EditButton scheunt dir unbekant zu sein, denn Du fabrizierst binnen Minutenfrist mehrere Doppelpostings.

Das alles in Kombination GEHT GAR NICHT.
Wenn Du Hilfe willst solltest Du dir die Zeit nehmen sorgfältig deine Frage zu formulieren, sorgfältig das passende Forum zu wählen, nötige Codeteile direkt mitliefern und diese auch mit reichlich Kommentare versehen.
Wenn Du Dir schon keine Mühe gibst, warum sollten wir es dann tun?
Wenn Du nochmal so eine Frage hinschluderst werde ich den betreffenden Thread ohne weitere Kommentare in die Ablage P befördern.

Danke für die Aufmerksamkeit.

~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.
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

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group