also, entschuldige ein paar mal, aber der code ist ja überhaupt nicht formatiert, das ist grottenschlecht.
Code: Alles auswählen
;diesekommentarzeilemachtdasforenfensterbreitgenugahwsdgfksdfgkadsgdszfgadsjkfgasdkfgalsdkgfasdkfgasdkfgaskdfgasdfliusdgafsdigfisdugfkadsgdszfgadsjkfgasdkfgalsdkgfasdkfgasdkfgaskdfgasdfliusdgafsdigfisdugfkadsgdszfgadsjkfgasdkfgalsdkgfasdkfgasdkfgaskdfgasdfliusdgafsdigfisdugfaisugdfiasugdfalisudgfaliugsdfiusdgfaulisdgfliasduglsdufg
Global Gamestate = 0
Global ScreenWidth = 640
Global ScreenHeight = 480
Global Highscore = 0
Global Score = 0
Global PlayerX = ScreenWidth/2-32
Global PlayerY = ScreenHeight/2-32
Global PlayerLook = 5
Global PlayerLookLeft = 5
Global PlayerLookRight = 6
Global EnemyX = Random(ScreenWidth-32)
Global EnemyY = Random(ScreenHeight-32)
Global BlubX = 50
Global BlubY = ScreenHeight
Global BlaseYa = ScreenHeight
Global BlaseYb = ScreenHeight+Random(ScreenHeight)
Global BlaseYc = ScreenHeight+Random(ScreenHeight)
Global BlaseXa = Random(ScreenWidth-18)
Global BlaseXb = Random(ScreenWidth-18)
Global BlaseXc = Random(ScreenWidth-18)
InitSound()
InitKeyboard()
InitSprite()
UsePNGImageDecoder()
OpenScreen(ScreenWidth, ScreenHeight, 32, "Plankton")
CatchSprite(1, ?Include1)
CatchSprite(2, ?Include2)
CatchSprite(3, ?Include3)
CatchSprite(4, ?Include4)
CatchSprite(5, ?Include5)
CatchSprite(6, ?Include6)
CatchSprite(7, ?Include7)
CatchSprite(8, ?Include8)
CatchSprite(9, ?Include9)
CatchSprite(12, ?Include12)
CatchSprite(13, ?Include13)
DataSection
Include1: IncludeBinary "Plankton_LEFT.png"
Include2: IncludeBinary "Plankton_RIGHT.png"
Include3: IncludeBinary "Titel.png"
Include4: IncludeBinary "Ende.png"
Include5: IncludeBinary "YumYum_LEFT.png"
Include6: IncludeBinary "YumYum_RIGHT.png"
Include7: IncludeBinary "BadPlankton_LEFT.png"
Include8: IncludeBinary "BadPlankton_RIGHT.png"
Include9: IncludeBinary "Blub.png"
Include12: IncludeBinary "Alge.png"
Include13: IncludeBinary "Blase.png"
EndDataSection
LoadFont(0, "Comic Sans MS", 8, #PB_Font_HighQuality)
LoadFont(1, "Comic Sans MS", 8, #PB_Font_HighQuality | #PB_Font_Bold)
Repeat
ClearScreen(RGB(90, 150, 255))
ExamineKeyboard()
DisplaySprite(12, ScreenWidth-132, ScreenHeight-514)
Select Gamestate
Case 0
DisplayTransparentSprite(9, 50, BlubY)
DisplayTransparentSprite(3, ScreenWidth/2-128, ScreenHeight/2-64)
StartDrawing(ScreenOutput())
DrawingMode(1) : DrawingFont(FontID(1))
DrawText(ScreenWidth/2-TextWidth("Um zu spielen, drücke 'Return'!")/2, ScreenHeight/2+64, "Um zu spielen, drücke Enter!", RGB(255, 255, 255))
DrawText(ScreenWidth/2-TextWidth("Hilfe:")/2, ScreenHeight/2+90, "Hilfe:", RGB(255, 255, 255))
DrawingFont(FontID(0))
DrawText(ScreenWidth/2-TextWidth("Du steuerst 'YumYum' einfach mit den Pfeiltasten.")/2, ScreenHeight/2+105, "Du steuerst 'YumYum' einfach mit den Pfeiltasten.", RGB(255, 255, 255))
DrawingFont(FontID(1))
DrawText(ScreenWidth/2-TextWidth("Ziel:")/2, ScreenHeight/2+120, "Ziel:", RGB(255, 255, 255))
DrawingFont(FontID(0))
DrawText(ScreenWidth/2-TextWidth("Ist es, so viele 'Leckers' wie möglich zu machen indem man durch berühren die anderen Planktons auffrisst.")/2, ScreenHeight/2+135,"Ist es, so viele 'Leckers' wie möglich zu machen indem man durch berühren die anderen Planktons auffrisst.", RGB(255, 255, 255))
DrawingFont(FontID(1))
DrawText(ScreenWidth/2-TextWidth("Tip:")/2, ScreenHeight/2+150, "Tip:", RGB(255, 255, 255))
DrawingFont(FontID(0))
DrawText(ScreenWidth/2-TextWidth("Halte dich von den schlecht gelaunten Planktons fern, die bekommen dir nicht...")/2, ScreenHeight/2+165, "Halte dich von den schlecht gelaunten Planktons fern, die bekommen dir nicht...", RGB(255, 255, 255))
DrawText(5, ScreenHeight-20, "Plankton Version 1.0.0.0 Copyright 2006 by Peter 'the Nameless' Horn", RGB(200, 200, 200))
StopDrawing()
If KeyboardPushed(#PB_Key_Return)
StartTime = ElapsedMilliseconds()
Gamestate = 1
EndIf
BlubY = BlubY-1
If BlubY = -ScreenHeight/2
BlubY = ScreenHeight
EndIf
Case 1
NewTime = ElapsedMilliseconds()
ElapsedTime = NewTime-StartTime
RemainingTime = 60000-ElapsedTime
If RemainingTime = 0 Or RemainingTime < 0
Gamestate = 2
ElseIf RemainingTime > 10001
RedLevel = 255
ElseIf RemainingTime < 10001
RedLevel = 0
EndIf
If KeyboardPushed(#PB_Key_Left) And PlayerX <> 0
PlayerLook = PlayerLookLeft
PlayerX = PlayerX-2
ElseIf KeyboardPushed(#PB_Key_Right) And PlayerX <> ScreenWidth-64
PlayerLook = PlayerLookRight
PlayerX = PlayerX+2
ElseIf KeyboardPushed(#PB_Key_Up) And PlayerY <> 0
PlayerY = PlayerY-2
ElseIf KeyboardPushed(#PB_Key_Down) And PlayerY <> ScreenHeight-64
PlayerY = PlayerY+2
EndIf
If KeyboardPushed(#PB_Key_Left) And KeyboardPushed(#PB_Key_Up)
PlayerX = PlayerX-1
PlayerY = PlayerY-1
ElseIf KeyboardPushed(#PB_Key_Right) And KeyboardPushed(#PB_Key_Up)
PlayerX = PlayerX+1
PlayerY = PlayerY-1
ElseIf KeyboardPushed(#PB_Key_Right) And KeyboardPushed(#PB_Key_Down)
PlayerX = PlayerX+1
PlayerY = PlayerY+1
ElseIf KeyboardPushed(#PB_Key_Left) And KeyboardPushed(#PB_Key_Down)
PlayerX = PlayerX-1
PlayerY = PlayerY+1
EndIf
DisplayTransparentSprite(13, BlaseXa, BlaseYa)
DisplayTransparentSprite(13, BlaseXb, BlaseYb)
DisplayTransparentSprite(13, BlaseXc, BlaseYc)
DisplayTransparentSprite(PlayerLook, PlayerX, PlayerY)
StartDrawing(ScreenOutput())
DrawingMode(1) : DrawingFont(FontID(1))
DrawText(3, 3, "Leckers: "+Str(Score)+" (Highscore sind "+Str(Highscore)+" Leckers)", RGB(200, 150, 0))
DrawText(2, 2, "Leckers: "+Str(Score)+" (Highscore sind "+Str(Highscore)+" Leckers)", RGB(255, 200, 0))
DrawText(ScreenWidth/2-TextWidth("Verbleibende Zeit: "+Str(RemainingTime)+"ms")/2+1, 2+1, "Verbleibende Zeit: "+Str(RemainingTime)+"ms", RGB(200, 150, 0))
DrawText(ScreenWidth/2-TextWidth("Verbleibende Zeit: "+Str(RemainingTime)+"ms")/2, 2, "Verbleibende Zeit: "+Str(RemainingTime)+"ms", RGB(255, RedLevel, RedLevel))
DrawText(ScreenWidth/2-TextWidth("Um zu Beenden, Esc oder Strg+Alt+Entf drücken")/2, ScreenHeight-20, "Um zu Beenden, Esc oder Strg+Alt+Entf drücken", RGB(200, 200, 200))
StopDrawing()
BlaseYa = BlaseYa-1
BlaseYb = BlaseYb-1
BlaseYc = BlaseYc-1
If BlaseYa = -ScreenHeight/2
BlaseXa = Random(ScreenWidth-18)
BlaseYa = ScreenHeight
ElseIf BlaseYb = -ScreenHeight/2
BlaseXb = Random(ScreenWidth-18)
BlaseYb = ScreenHeight+Random(ScreenHeight)
ElseIf BlaseYc = -ScreenHeight/2
BlaseXc = Random(ScreenWidth-18)
BlaseYc = ScreenHeight+Random(ScreenHeight)
EndIf
Case 2
DisplayTransparentSprite(9, 50, BlubY)
DisplayTransparentSprite(4, ScreenWidth/2-186, ScreenHeight/2-78)
StartDrawing(ScreenOutput())
DrawingMode(1) : DrawingFont(FontID(1))
DrawText(ScreenWidth/2-TextWidth("Deine Leckers: ")/2+1, ScreenHeight/2+101, "Deine Leckers: "+Str(Score), RGB(200, 150, 0))
DrawText(ScreenWidth/2-TextWidth("Deine Leckers: ")/2, ScreenHeight/2+100, "Deine Leckers: "+Str(Score), RGB(255, 200, 0))
If Score > Highscore
DrawText(ScreenWidth/2-TextWidth("NEUER HIGHSCORE!")/2+1, ScreenHeight/2+111, "NEUER HIGHSCORE!", RGB(200, 150, 0))
DrawText(ScreenWidth/2-TextWidth("NEUER HIGHSCORE!")/2, ScreenHeight/2+110, "NEUER HIGHSCORE!", RGB(255, 0, 0))
EndIf
DrawText(ScreenWidth/2-TextWidth("Um noch einmal zu spielen drücke Enter, um aufzuhören Escape")/2+1, ScreenHeight/2+126, "Um noch einmal zu spielen drücke Enter, um aufzuhören Escape", RGB(200, 200, 200))
DrawText(ScreenWidth/2-TextWidth("Um noch einmal zu spielen drücke Enter, um aufzuhören Escape")/2, ScreenHeight/2+125, "Um noch einmal zu spielen drücke Enter, um aufzuhören Escape", RGB(255, 255, 255))
StopDrawing()
If KeyboardReleased(#PB_Key_Return)
Highscore = Score
Score = 0
StartTime = ElapsedMilliseconds()
GameState = 1
EndIf
BlubY = BlubY-1
If BlubY = -ScreenHeight/2
BlubY = ScreenHeight
EndIf
EndSelect
If KeyboardPushed(#PB_Key_LeftAlt) And KeyboardPushed(#PB_Key_LeftControl) And KeyboardPushed(#PB_Key_Delete)
CloseScreen()
End
EndIf
FlipBuffers()
Delay(10)
Until KeyboardPushed(#PB_Key_Escape)