简易vbs贪吃蛇游戏代码
时间: 2023-09-18 17:03:52 浏览: 132
下面是一个简单的VBScript贪吃蛇游戏代码例子:
```vbscript
Option Explicit
Const LEFT = -1
Const RIGHT = 1
Const UP = -2
Const DOWN = 2
Dim snake(50, 2), direction, speed, xFruit, yFruit, score, gameover
Sub InitGame()
ReDim snake(50, 2)
direction = RIGHT
speed = 100
xFruit = 10
yFruit = 10
score = 0
gameover = False
snake(0, 0) = 5
snake(0, 1) = 5
Randomize
PlaceFruit
End Sub
Sub PlaceFruit()
xFruit = Int((Console.WindowWidth - 1) * Rnd) + 1
yFruit = Int((Console.WindowHeight - 1) * Rnd) + 1
End Sub
Sub DrawSnake()
For i = 0 To score
Console.SetCursorPosition(snake(i, 0), snake(i, 1))
If i = 0 Then
Console.Write("o")
Else
Console.Write("#")
End If
Next
End Sub
Sub MoveSnake()
Dim headX, headY, tailX, tailY
headX = snake(0, 0)
headY = snake(0, 1)
Select Case direction
Case LEFT
headX = headX - 1
Case RIGHT
headX = headX + 1
Case UP
headY = headY - 1
Case DOWN
headY = headY + 1
End Select
tailX = snake(score, 0)
tailY = snake(score, 1)
For i = score To 1 Step -1
snake(i, 0) = snake(i - 1, 0)
snake(i, 1) = snake(i - 1, 1)
Next
snake(0, 0) = headX
snake(0, 1) = headY
If headX = xFruit And headY = yFruit Then
score = score + 1
PlaceFruit
End If
If headX <= 0 Or headX >= Console.WindowWidth Or headY <= 0 Or headY >= Console.WindowHeight - 1 Then
gameover = True
Else
For i = 1 To score
If headX = snake(i, 0) And headY = snake(i, 1) Then
gameover = True
End If
Next
End If
If gameover Then
Console.Clear
Console.SetCursorPosition((Console.WindowWidth - 10) / 2, Console.WindowHeight / 2)
Console.Write("Game Over")
End If
End Sub
InitGame
Do Until gameover
Console.Clear
DrawSnake
Console.SetCursorPosition(xFruit, yFruit)
Console.Write("*")
WScript.Sleep(speed)
MoveSnake
If Console.KeyAvailable Then
Select Case Asc(Console.ReadKey(True).KeyChar)
Case 97, 65 ' a or A
If direction <> RIGHT Then direction = LEFT
Case 100, 68 ' d or D
If direction <> LEFT Then direction = RIGHT
Case 119, 87 ' w or W
If direction <> DOWN Then direction = UP
Case 115, 83 ' s or S
If direction <> UP Then direction = DOWN
Case 27 ' Esc
gameover = True
End Select
End If
Loop
```
这个贪吃蛇游戏使用了控制台窗口,并且通过键盘输入“a”、“d”、“w”、“s”来控制贪吃蛇的方向。贪吃蛇的身体由“#”符号组成,头部用“o”符号表示,食物由“*”符号表示。通过吃掉食物来增加得分,如果贪吃蛇触碰到边界或者自己的身体,则游戏结束。