Code: Alles auswählen
#Fensterbreite = 800
#Fensterlaenge = 600
#Farbtiefe = 32
Global KranX = 100, KranY = -300
Global Buchstabe1X = 100, Buchstabe1Y = 500
Global Buchstabe2X = 200, Buchstabe2Y = 500
Global Buchstabe3X = 300, Buchstabe3Y = 500
Global Buchstabe4X = 400, Buchstabe4Y = 500
Global Buchstabe5X = 500, Buchstabe5Y = 500
Global Buchstabe6X = 600, Buchstabe6Y = 500
Global BewegBX = 0, BewegBY = 500
Global UB1 = Random(25)
Global UB2 = Random(25)
Global UB3 = Random(25)
Global UB4 = Random(25)
Global UB5 = Random(25)
Global UB6 = Random(25)
Global B1, B2, B3, B4, B5, B6
Global StartX = 300, StartY = 200
Global ExitX = 300, ExitY = 240
Procedure InitBuchstabenDaten()
;Unbelegter Buchstabe 1
Select UB1
Case 50 : B1 = 76 : Case 51 : B1 = 77 : Case 52 : B1 = 78 : Case 53 : B1 = 79 : Case 54 : B1 = 80
Case 55 : B1 = 81 : Case 56 : B1 = 82 : Case 57 : B1 = 83 : Case 58 : B1 = 84 : Case 59 : B1 = 85
Case 60 : B1 = 86 : Case 61 : B1 = 87 : Case 62 : B1 = 88 : Case 63 : B1 = 89 : Case 64 : B1 = 90
Case 65 : B1 = 91 : Case 66 : B1 = 92 : Case 67 : B1 = 93 : Case 68 : B1 = 94 : Case 69 : B1 = 95
Case 70 : B1 = 96 : Case 71 : B1 = 97 : Case 72 : B1 = 98 : Case 73 : B1 = 99 : Case 74 : B1 = 100
Case 75 : B1 = 101
EndSelect
;Unbelegter Buchstabe 2
Select UB2
Case 50 : B2 = 76 : Case 51 : B2 = 77 : Case 52 : B2 = 78 : Case 53 : B2 = 79 : Case 54 : B2 = 80
Case 55 : B2 = 81 : Case 56 : B2 = 82 : Case 57 : B2 = 83 : Case 58 : B2 = 84 : Case 59 : B2 = 85
Case 60 : B2 = 86 : Case 61 : B2 = 87 : Case 62 : B2 = 88 : Case 63 : B2 = 89 : Case 64 : B2 = 90
Case 65 : B2 = 91 : Case 66 : B2 = 92 : Case 67 : B2 = 93 : Case 68 : B2 = 94 : Case 69 : B2 = 95
Case 70 : B2 = 96 : Case 71 : B2 = 97 : Case 72 : B2 = 98 : Case 73 : B2 = 99 : Case 74 : B2 = 100
Case 75 : B2 = 101
EndSelect
;Unbelegter Buchstabe 3
Select UB3
Case 50 : B3 = 76 : Case 51 : B3 = 77 : Case 52 : B3 = 78 : Case 53 : B3 = 79 : Case 54 : B3 = 80
Case 55 : B3 = 81 : Case 56 : B3 = 82 : Case 57 : B3 = 83 : Case 58 : B3 = 84 : Case 59 : B3 = 85
Case 60 : B3 = 86 : Case 61 : B3 = 87 : Case 62 : B3 = 88 : Case 63 : B3 = 89 : Case 64 : B3 = 90
Case 65 : B3 = 91 : Case 66 : B3 = 92 : Case 67 : B3 = 93 : Case 68 : B3 = 94 : Case 69 : B3 = 95
Case 70 : B3 = 96 : Case 71 : B3 = 97 : Case 72 : B3 = 98 : Case 73 : B3 = 99 : Case 74 : B3 = 100
Case 75 : B3 = 101
EndSelect
;Unbelegter Buchstabe 4
Select UB4
Case 50 : B4 = 76 : Case 51 : B4 = 77 : Case 52 : B4 = 78 : Case 53 : B4 = 79 : Case 54 : B4 = 80
Case 55 : B4 = 81 : Case 56 : B4 = 82 : Case 57 : B4 = 83 : Case 58 : B4 = 84 : Case 59 : B4 = 85
Case 60 : B4 = 86 : Case 61 : B4 = 87 : Case 62 : B4 = 88 : Case 63 : B4 = 89 : Case 64 : B4 = 90
Case 65 : B4 = 91 : Case 66 : B4 = 92 : Case 67 : B4 = 93 : Case 68 : B4 = 94 : Case 69 : B4 = 95
Case 70 : B4 = 96 : Case 71 : B4 = 97 : Case 72 : B4 = 98 : Case 73 : B4 = 99 : Case 74 : B4 = 100
Case 75 : B4 = 101
EndSelect
;Unbelegter Buchstabe 5
Select UB5
Case 50 : B5 = 76 : Case 51 : B5 = 77 : Case 52 : B5 = 78 : Case 53 : B5 = 79 : Case 54 : B5 = 80
Case 55 : B5 = 81 : Case 56 : B5 = 82 : Case 57 : B5 = 83 : Case 58 : B5 = 84 : Case 59 : B5 = 85
Case 60 : B5 = 86 : Case 61 : B5 = 87 : Case 62 : B5 = 88 : Case 63 : B5 = 89 : Case 64 : B5 = 90
Case 65 : B5 = 91 : Case 66 : B5 = 92 : Case 67 : B5 = 93 : Case 68 : B5 = 94 : Case 69 : B5 = 95
Case 70 : B5 = 96 : Case 71 : B5 = 97 : Case 72 : B5 = 98 : Case 73 : B5 = 99 : Case 74 : B5 = 100
Case 75 : B5 = 101
EndSelect
;Unbelegter Buchstabe 6
Select UB6
Case 50 : B6 = 76 : Case 51 : B6 = 77 : Case 52 : B6 = 78 : Case 53 : B6 = 79 : Case 54 : B6 = 80
Case 55 : B6 = 81 : Case 56 : B6 = 82 : Case 57 : B6 = 83 : Case 58 : B6 = 84 : Case 59 : B6 = 85
Case 60 : B6 = 86 : Case 61 : B6 = 87 : Case 62 : B6 = 88 : Case 63 : B6 = 89 : Case 64 : B6 = 90
Case 65 : B6 = 91 : Case 66 : B6 = 92 : Case 67 : B6 = 93 : Case 68 : B6 = 94 : Case 69 : B6 = 95
Case 70 : B6 = 96 : Case 71 : B6 = 97 : Case 72 : B6 = 98 : Case 73 : B6 = 99 : Case 74 : B6 = 100
Case 75 : B6 = 101
EndSelect
EndProcedure
Procedure InitScreen()
InitSprite()
InitKeyboard()
InitMouse()
If OpenScreen(#Fensterbreite,#Fensterlaenge,#Farbtiefe,"Alex der Alphamaster") = #False
MessageRequester("Fehler","Konnte das Fenster nicht öffnen",0)
EndIf
FlipBuffers()
MouseLocate(390,290)
EndProcedure
Procedure InitSprites()
;Hintergrund
LoadSprite(100,"Grafik\Hintergrund\Hintergrund.bmp",0)
;Kran
LoadSprite(101,"Grafik\Ingame\Kran\Kran.bmp",0)
;Alphabetfalsch
LoadSprite(103,"Grafik\Ingame\Alphabet\falsch\falsch.bmp",0)
;Gitter
LoadSprite(104,"Grafik\Ingame\Seitliche Bilder\Gitter.bmp",0)
;AnzeigeRF
LoadSprite(105,"Grafik\Ingame\Seitliche Bilder\AnzeigeRF.bmp",0)
;MenuIngame
LoadSprite(106,"Grafik\Ingame\Menu\Menu.bmp",0)
;Balken
LoadSprite(107,"Grafik\Ingame\Menu\Balken.bmp",0)
;Musikanusingame
LoadSprite(108,"Grafik\Ingame\Menu\Musikanaus.bmp",0)
; Unbelegte Buchstaben
For unbelegt = 0 To 25
LoadSprite(unbelegt,"Grafik\Ingame\Alphabet\unbelegt\Buchstabe"+Str(unbelegt)+".bmp",0)
Next
;Belegte Buchstaben
For belegt = 0 To 25
LoadSprite(belegt,"Grafik\Ingame\Alphabet\belegt\Buchstabe"+Str(belegt)+".bmp",0)
Next
;Startbutton
LoadSprite(109,"Grafik\Menu\Buttons\Sample\MenuButton.bmp",0)
;Exitbutton
LoadSprite(110,"Grafik\Menu\Buttons\Sample\MenuButton.bmp",0)
;Mauszeiger
LoadSprite(111,"Grafik\Maus\Mauszeiger.bmp",0)
;Textauswahl(Font)
LoadFont(0,"Arial",18,#PB_Font_Bold)
EndProcedure
Procedure ZeigeIngameSprites(X,Y)
;Sprites
;;Hintergrund
DisplaySprite(100,0,0)
;;Kran
TransparentSpriteColor(101,RGB(255,0,255))
DisplayTransparentSprite(101,KranX,KranY)
;;AnzeigeRF
DisplaySprite(105,700,20)
;:Buchstabe1Unbelegt
DisplaySprite(UB1,Buchstabe1X,Buchstabe1Y)
;:Buchstabe2Unbelegt
DisplaySprite(UB2,Buchstabe2X,Buchstabe2Y)
;:Buchstabe3Unbelegt
DisplaySprite(UB3,Buchstabe3X,Buchstabe3Y)
;:Buchstabe4Unbelegt
DisplaySprite(UB4,Buchstabe4X,Buchstabe4Y)
;:Buchstabe5Unbelegt
DisplaySprite(UB5,Buchstabe5X,Buchstabe5Y)
;:Buchstabe6Unbelegt
DisplaySprite(UB6,Buchstabe6X,Buchstabe6Y)
DisplaySprite(B1,BewegBX,BewegBY)
DisplaySprite(B2,BewegBX,BewegBY)
DisplaySprite(B3,BewegBX,BewegBY)
DisplaySprite(B4,BewegBX,BewegBY)
DisplaySprite(B5,BewegBX,BewegBY)
DisplaySprite(B6,BewegBX,BewegBY)
;;Gitter
TransparentSpriteColor(104,RGB(255,0,255))
DisplayTransparentSprite(104,0,20)
;;Menu
DisplaySprite(106,0,0)
;;Balken
DisplaySprite(107,100,0)
;;Musikanausingame
DisplaySprite(108,700,0)
EndProcedure
Procedure ZeigeMenuSprites(X,Y)
FlipBuffers()
;Hintergrund
DisplaySprite(100,0,0)
;Startbutton
DisplaySprite(109,StartX,StartY)
;Exitbutton
DisplaySprite(110,ExitX,ExitY)
;Mauszeiger
TransparentSpriteColor(111,RGB(255,0,255))
DisplayTransparentSprite(111,MouseX(),MouseY())
EndProcedure
Procedure CheckEingabeTasten()
ExamineKeyboard()
ExamineMouse()
MouseX()
MouseY()
;Tastaturbefehle
If KeyboardPushed(#PB_Key_Left)
KranX - 100
Delay(150)
If KranX < 100
KranX = 100
EndIf
EndIf
If KeyboardPushed(#PB_Key_Right)
KranX + 100
Delay(150)
If KranX > 600
KranX = 600
EndIf
EndIf
;Mausbefehle
;;Start
If MouseX() > 300 And MouseX() + 20 < 500 And MouseY() > 200 And MouseY() + 20 < 230
If MouseButton(#PB_MouseButton_Left)
ZeigeIngameSprites(#Fensterbreite,#Fensterlaenge)
EndIf
StartDrawing(SpriteOutput(109))
DrawingFont(FontID(0))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(70,0,"Start",RGB(255,0,0),RGB(255,0,255))
StopDrawing()
Else
StartDrawing(SpriteOutput(109))
DrawingFont(FontID(0))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(70,0,"Start",RGB(255,255,255),RGB(255,0,255))
StopDrawing()
EndIf
;;Exit
If MouseX() > 300 And MouseX() +20 < 500 And MouseY() > 240 And MouseY() + 20 < 270
If MouseButton(1)
End
EndIf
StartDrawing(SpriteOutput(110))
DrawingFont(FontID(0))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(75,0,"Exit",RGB(255,0,0),RGB(255,0,255))
StopDrawing()
Else
StartDrawing(SpriteOutput(110))
DrawingFont(FontID(0))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(75,0,"Exit",RGB(255,255,255),RGB(255,0,255))
StopDrawing()
EndIf
EndProcedure
;-************************Kern************************
InitBuchstabenDaten()
InitScreen()
InitSprites()
Repeat
Delay(1)
ZeigeMenuSprites(#Fensterbreite,#Fensterlaenge)
CheckEingabeTasten()
Until KeyboardPushed(#PB_Key_Escape)