' 4k-Wettbewerb @Volkmar 2013
Déclarer Int SX, SY, CX, CY, SW, SL, FL, FO, FW, FH, BX, BY, BRV, BRH, SP, CP, VZ, TI
Titre de la fenêtre "Ping Pong 5"
Fenêtre Style 24
Fenêtre 600, 400
CLS 0
Randomiser
FL = 4 : FO = 4
FW = Width(%HWnd, 0) - 2 * FL
FH = Height(%HWnd, 0) - 2 * FO
SW = 2
SL = 30
SX = 4 : CX = FW - (4 + SW)
SY = FO
CY = FO
BX = FW \ 2
BY = 6 + Tour(FH - 12)
BRH = 1
VZ = 10
MCLS FW, FH, 0
Utilisateur Messages 16
Tandis que %UMessage <> 16
TI = &gettickcount
Si (SP + CP) < 7
Malen
D'autre
Ergebnis
EndIf
Si (CY + 9) > BY
Si BRH
Si BX > ((FW \ 3) * 2)
Décembre CY, 2
EndIf
EndIf
ElseIf CY < (FH - SL)
Si BRH
Si BX > ((FW \ 3) * 2)
Inc CY, 2
EndIf
EndIf
EndIf
Si IsKey(38)
Si SY > FO
Décembre SY, 2
EndIf
ElseIf IsKey(40)
Si SY < (FH - SL)
Inc SY, 2
EndIf
ElseIf IsKey(93) Or IsKey(2)
Menu
EndIf
Tandis que 1
Cas &gettickcount-TI > VZ : BREAK
Sleep 1
Endwhile
Endwhile
Proc Menu
CreateMenu
AppendMenu 1, "&Langsam"
AppendMenu 2, "&Mittel"
AppendMenu 3, "&Schnell"
Si SL > 28
AppendMenu 8, "Schläger &Klein"
D'autre
AppendMenu 9, "Schläger &groß"
EndIf
TrackMenu 0, 0
Si MenuItem(1)
VZ = 22
ElseIf MenuItem(2)
VZ = 16
ElseIf MenuItem(3)
VZ = 10
ElseIf MenuItem(8)
SL = 20
ElseIf MenuItem(9)
SL = 30
EndIf
ENDPROC
Proc BallCalc
Si BRH
Si (BX > (FW - 13)) And (BY > CY) And (BY < (CY + SL))
BRH = 0
Sound 300, 20
ElseIf BX > FW - 8
BRH = 0
Sound 1400, 28
Inc SP
D'autre
Inc BX, 2
EndIf
D'autre
Si (BX < 11) And (BY > SY) And (BY < (SY + SL))
BRH = 1
Sound 300, 20
ElseIf BX < 6
BRH = 1
Sound 1400, 28
Inc CP
D'autre
Décembre BX, 2
EndIf
EndIf
Si BRV
Si BY > FH - 8
BRV = 0
Sound 1200, 16
D'autre
Inc BY, 2
EndIf
D'autre
Si BY < 7
BRV = 1
Sound 1200, 16
D'autre
Décembre BY, 2
EndIf
EndIf
ENDPROC
Proc Punkte
UseFont "COURIER NEW", 24, 0, 1, 0, 0
Couleur du texte RGB(200, 220, 32), -1
DrawText (FW \ 2) - 22, 10, (FW \ 2) - 4, 30, Str$(CP), 1
DrawText (FW \ 2) + 4, 10, (FW \ 2) + 22, 30, Str$(SP), 1
ENDPROC
Proc Ergebnis
Début de peinture -1
UseBrush 1, 0
USEP 0, 1, RGB(240, 64, 64)
Rectangle 0, 0 - FW, FH
Line FW \ 2 , 2 - FW \ 2 , FH - 4
Punkte
UseFont "ARIAL", 24, 0, 0, 0, 0
Si SP > CP
Couleur du texte RGB(0, 255, 48), -1
DrawText 22, 96, "Du la hâte gewonnen"
D'autre
Couleur du texte RGB(255, 96, 0), -1
DrawText 22, 96, "Du la hâte verloren"
EndIf
EndPaint
MCopyBMP 0, 0 - FW, FH > FL, FO; 0
ENDPROC
Proc Malen
BallCalc
Début de peinture -1
UseBrush 1, 0
USEP 0, 1, RGB(240, 64, 64)
Rectangle 0, 0 - FW, FH
Line FW \ 2 , 2 - FW \ 2 , FH - 2
USEP 0, 1, RGB(240, 240, 64)
Rectangle SX, SY - SW + SX, SY + SL - 2
USEP 0, 1, RGB(64, 240, 240)
Rectangle CX, CY - CX + SW, CY + SL - 2
USEP 0, 1, RGB (240, 64, 64)
UseBrush 1, RGB(240, 64, 64)
Ellipse BX - 3, (BY - 3) - BX + 8, BY + 8
Punkte
EndPaint
MCopyBMP 0, 0 - FW, FH > FL, FO; 0
ENDPROC