LoginSignup
0
0

More than 5 years have passed since last update.

smallbasic ゲームスレッド

Posted at

サンプル

Sub setup
  paddle = Shapes.AddRectangle(120, 12)
  ball = Shapes.AddEllipse(16, 16)
  GraphicsWindow.FontSize = 14
  GraphicsWindow.MouseMove = OnMouseMove
  score = 0
  PrintScore()
  Sound.PlayBellRingAndWait()
  x = 0
  y = 0
  deltaX = 1
  deltaY = 2
EndSub

Sub loop
RunLoop:
  x = x + deltaX
  y = y + deltaY  
  gw = GraphicsWindow.Width
  gh = GraphicsWindow.Height
  If (x >= gw - 16 Or x <= 0) Then
    deltaX = -deltaX
  EndIf
  If (y <= 0) Then
    deltaY = -deltaY
  EndIf 
  padX = Shapes.GetLeft(paddle)
  If (y = gh - 28 And x >= padX And x <= padX + 120) Then
    Sound.PlayClick()
    score = score + 10
    PrintScore()
    deltaY = -deltaY
  EndIf
  Shapes.Move(ball, x, y)
  Program.Delay(5)  
  If (y < gh) Then
    Goto RunLoop
  EndIf  
  GraphicsWindow.ShowMessage("Your score is: " + score, "Paddle")
  Program.End()
EndSub

Sub OnMouseMove
  paddleX = GraphicsWindow.MouseX
  Shapes.Move(paddle, paddleX - 60, GraphicsWindow.Height - 12)
EndSub

Sub PrintScore
  GraphicsWindow.BrushColor = "White"
  GraphicsWindow.FillRectangle(10, 10, 200, 20)
  GraphicsWindow.BrushColor = "Black"
  GraphicsWindow.DrawText(10, 10, "Score: " + score)
EndSub

setup()
loop()
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0