Publicité
Publicité

Contenu connexe

Publicité

4.4 erweiterte spiele

  1. Microsoft® Small Basic Erweiterte Spiele Geschätzte Zeit für den Abschluss dieser Lektion: 1 Stunde
  2. Erweiterte Spiele In dieser Lektion erhalten Sie Informationen über: Erstellen erweiterter Spiele mittels einfacher Elemente, Objekte und anderer erweiterter Konzepte von Small Basic.
  3. Erweiterte Spiele in Small Basic Herzlichen Glückwunsch! Sie sind nun mit den Programmiergrundlagen und erweiterten Konzepten von Small Basic vertraut. Sie haben gelernt, wie Sie einfache Programmierkonzepte in Small Basic verwenden. Sie erhielten außerdem eine Einführung in Small Basic-Objekte und erweiterte Konzepte. Betrachten wir nun, wie wir diese Konzepte für das Erstellen erweiterter Spiele verwenden können.
  4. Tic-Tac-Toe – Das Spiel Wahrscheinlich kennen Sie das beliebte Tic-Tac-Toe-Spiel. Betrachten wir, wie wir unsere eigene Version des Spiels erstellen können. Der Benutzer und der Computer versuchen beide, das Spiel zu gewinnen, indem sie X- und O-Zeichen in einer horizontalen, vertikalen oder diagonalen Linie anordnen, bevor dies dem anderen Spieler gelingt. Beachten Sie, wie Sie das Shapes-Objekt für das Zeichnen verschiedener Spielelemente verwenden. Mittels Mausereignissen ermöglichen Sie dem Spieler das Platzieren der X-Zeichen im Grafikfenster.
  5. Tic-Tac-Toe – So funktioniert das Spiel Wie spielen Sie also dieses Spiel? Schritte für das Spielen des Spiels  Dieses Spiel wird von zwei Spielern gespielt: dem Benutzer und dem Computer. Jeder Spieler platziert abwechselnd ein X- oder ein O-Zeichen im 3x3-Spielfeld. Um das Spiel zu starten, platziert der Benutzer ein X auf dem Spielfeld.  Die Spieler platzieren abwechselnd X- oder O-Zeichen im Spielfeld.  Der Spieler, der als erster drei X- oder O-Zeichen in einer horizontalen, vertikalen oder diagonalen Linie platziert, gewinnt das Spiel.
  6. Tic-Tac-Toe – Der Code Betrachten wir den Code für das Spiel nun im Detail…  Sie erstellen die Spieloberfläche mittels des GraphicsWindow-Objekts.  Sie verwenden das Shapes-Objekt, um das Spielfeld für die X- und O-Zeichen im Grafikfenster zu erstellen.  Sie verwenden Mausereignisse und –bedingungen wie If-Else, um die einzelnen Aktionen zu beschreiben, die der Benutzer und der Spieler während des Spiels durchführen.
  7. Fassen wir zusammen… Herzlichen Glückwunsch! Sie haben Folgendes gelernt: Erweiterte Spiele mittels einfacher Elemente, Objekte und anderer erweiterter Konzepte von Small Basic erstellen.
  8. Zeigen Sie, was Sie wissen Erstellen Sie ein Spiel, das die folgenden Objekte enthält: eine Wand aus farbigen und grauen Blöcken und ein Paddel. Die Wand bewegt sich langsam auf das Paddel zu. Sie müssen mittels des Paddels alle farbigen Bereiche mit dem Ball treffen, bevor die Wand das Paddel berührt. Sie verwenden die Maus, um das Paddel zu bewegen. Das Paddel steuert die Bewegungen des Balls. Der Ball prallt von grauen Bereichen ab. Wenn Sie alle farbigen Bereiche getroffen haben, haben Sie das Spiel gewonnen. Sie verlieren das Spiel, wenn das Paddel den Ball nicht trifft oder wenn die Bereiche das Paddel treffen, bevor Sie alle farbigen Bereiche entfernen können.

Notes de l'éditeur

  1. Lösung:' Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten.GraphicsWindow.Hide()GraphicsWindow.Height = 450GraphicsWindow.Width = 600GraphicsWindow.Top = ( Desktop.Height - 450 ) / 2GraphicsWindow.Left = ( Desktop.Width - 600 ) / 2GraphicsWindow.CanResize = "False"GraphicsWindow.Show()paddleImage = Program.Directory + "\rectangle.png"ballImage = Program.Directory + "\circle.png"Left = 42bStartY = 35CreatUI()hitCount = 0GraphicsWindow.MouseMove = MouseActionFor index = 0 To 15Array.SetValue("PinkBricks", Index, 1)Array.SetValue("VioletBricks", Index, 1)Array.SetValue("AquaBricks", Index, 1)EndforInitBricks()score = 0ShowScore()gw = GraphicsWindow.Widthgh = GraphicsWindow.Heighty = gh - 28Shapes.Move(ball, x, y)dX= 1dY =-2Loop:x = x + dXy = y + dYIf x >= gw - 16 Or x <= 0 ThendX= -dXEndIfIf y <= 0 ThendY = -dYEndIfpadX = Shapes.GetLeft(paddle)If y >= gh - 28 + 2 And x >= padX And x <= padX + 70 Then y = gh - 28 + 2 hitCount = hitCount + 1If Math.Remainder(hitCount, 3) = 0 ThenFor Index = 0 To 15HidePinkBrick()HideVioletBrick()HideAquaBrick()EndforbStartY = bStartY + 20InitBricks()EndIfTestAqua:For Index = 0 To 15If Array.GetValue("AquaBricks", Index) = 1 ThenIf bStartY > gh - 160 ThenGotoEndGameEndIfEndIfEndForTestViolet:For Index = 0 To 15If Array.GetValue("VioletBricks", Index) = 1 ThenIf bStartY > gh - 100 ThenGotoEndGameEndIfEndIfEndForTestPink:For Index = 0 To 15If Array.GetValue("PinkBricks", Index) = 1 ThenIf bStartY > gh - 40 ThenGotoEndGameEndIfEndIfEndForEndTest:dX= dX- 2 + (x - padX) / 30 If score = oldScore ThenIf score <> 0 Then score = score - 1EndIfEndIfoldScore = scoreShowScore()dY = -dYEndIfShapes.Move(ball, x, y) Program.Delay(5)If y > bStartY - 16 And y < bStartY + 20 Then Index = (x+8) / 40 Index = Math.Floor(Index)If Array.GetValue("PinkBricks", Index) = 1 ThenIf Index=8 ThenElseArray.SetValue("PinkBricks", Index, 0)HidePinkBrick() Left = Left - 1 score = score + 15ShowScore()EndIfdY = -dYgameFinish() EndIfEndIfIf y > bStartY + 44 And y < bStartY + 80 Then Index = (x+8) / 40 Index = Math.Floor(Index) If Array.GetValue("VioletBricks", Index) = 1 ThenIf Index=4 Or Index=11 ThenElseArray.SetValue("VioletBricks", Index, 0)HideVioletBrick() Left = Left - 1 score = score + 10ShowScore()EndIfdY = -dYgameFinish() EndIfEndIfIf y > bStartY + 104 And y < bStartY + 140 Then Index = (x+8) / 40 Index = Math.Floor(Index) If Array.GetValue("AquaBricks", Index) = 1 ThenIf Index = 2 Or Index = 7 Or Index = 13 ThenElseArray.SetValue("AquaBricks", Index, 0)HideAquaBrick() score = score + 5ShowScore() Left = Left - 1EndIfdY = -dYgameFinish()EndIfEndIfIf y < gh ThenGoto LoopEndIfEndGame:GraphicsWindow.ShowMessage("Ihr Punktestand ist: " + score, "Das Spiel ist beendet.")Program.End()Sub CreatUIGraphicsWindow.Title = "Paddelspiel"GraphicsWindow.FontSize = 14 paddle = Shapes.AddImage(paddleimage) ball = Shapes.AddImage(ballimage)EndSubSub MouseActionpaddleX = GraphicsWindow.MouseXShapes.Move(paddle, paddleX - 10, GraphicsWindow.Height - 14)EndSubSub ShowScoreGraphicsWindow.BrushColor = "White"GraphicsWindow.FillRectangle(520, 10, 200, 20)GraphicsWindow.BrushColor = "Black"GraphicsWindow.DrawText(500, 10, "Punktestand: " + score)EndSubSub InitBricksFor Index = 0 To 15If Index=8 ThenGraphicsWindow.PenColor = "Black"GraphicsWindow.BrushColor = "Gray"ElseIf Array.GetValue("PinkBricks", Index) = 1 ThenGraphicsWindow.PenColor = "Black"GraphicsWindow.BrushColor = "Pink"ElseGraphicsWindow.PenColor = "White"GraphicsWindow.BrushColor = "White"EndIfEndIfGraphicsWindow.FillRectangle(Index * 40, bStartY, 40, 20)GraphicsWindow.DrawRectangle(Index * 40, bStartY, 40, 20)GraphicsWindow.BrushColor = "Violet"If Index=4 Or Index=11 ThenGraphicsWindow.PenColor = "Black"GraphicsWindow.BrushColor = "Gray"ElseIf Array.GetValue("VioletBricks", Index) = 1 ThenGraphicsWindow.PenColor = "Black"GraphicsWindow.BrushColor = "Violet"ElseGraphicsWindow.PenColor = "White"GraphicsWindow.BrushColor = "White"EndIfEndIfGraphicsWindow.FillRectangle(Index * 40, bStartY + 60, 40, 20)GraphicsWindow.DrawRectangle(Index * 40, bStartY + 60, 40, 20)GraphicsWindow.BrushColor = "Aqua"If Index = 2 Or Index = 7 Or Index = 13 ThenGraphicsWindow.PenColor = "Black"GraphicsWindow.BrushColor = "Gray"ElseIf Array.GetValue("AquaBricks", Index) = 1 ThenGraphicsWindow.PenColor = "Black"GraphicsWindow.BrushColor = "Aqua"ElseGraphicsWindow.PenColor = "White"GraphicsWindow.BrushColor = "White"EndIfEndIfGraphicsWindow.FillRectangle(Index * 40, bStartY + 120, 40, 20)GraphicsWindow.DrawRectangle(Index * 40, bStartY + 120, 40, 20)EndForEndSubSub HidePinkBrickGraphicsWindow.PenColor = "White"GraphicsWindow.BrushColor = "White"GraphicsWindow.FillRectangle(Index * 40, bStartY, 40, 20)GraphicsWindow.DrawRectangle(Index * 40, bStartY, 40, 20)EndSubSub HideVioletBrickGraphicsWindow.PenColor = "White"GraphicsWindow.BrushColor = "White"GraphicsWindow.FillRectangle(Index * 40, bStartY + 60, 40, 20)GraphicsWindow.DrawRectangle(Index * 40, bStartY + 60, 40, 20)EndSubSub HideAquaBrickGraphicsWindow.PenColor = "White"GraphicsWindow.BrushColor = "White"GraphicsWindow.FillRectangle(Index * 40, bStartY + 120, 40, 20)GraphicsWindow.DrawRectangle(Index * 40, bStartY + 120, 40, 20)EndSubSub gameFinishIf Left = 0 Then GraphicsWindow.ShowMessage("Gut gemacht! Ihr Punktestand ist: " + score, "Das Spiel ist beendet.")Program.End() EndIfEndSub
Publicité