VBA实现贪食蛇游戏

本文介绍了如何使用VBA在Excel中实现一个20 x 20的游戏区域,包含游戏开始、停止和清空功能。通过PgUp和PgDn键调整游戏速度,Ctrl键暂停游戏。详细讲解了游戏的变量定义、事件处理以及蛇的移动和状态检查,最终实现一个完整的贪食蛇游戏体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:
用excel画出20 x 20的区域,
添加三个按钮:游戏开始,游戏停止,清空按钮
游戏快捷键:
按PgUp按键,加快速度
按PgDn按键:减慢速度
按Ctrl按键:游戏暂停

变量定义:

Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Dim mystop As Integer '开关
Dim MoveDir As String '移动方向

Dim CST_Area_X As Integer ' 画布大小 x
Dim CST_Area_Y As Integer '画布大小 y

Dim Pos_X As Integer '当前位置 行
Dim Pos_Y As Integer '当前位置 列

Dim snake_body As Collection

Dim game_map(22, 22) As Integer '画布状态
Dim offset_x As Integer   '画布偏移x
Dim offset_y As Integer

Dim eat_flg As Integer '食物是否被吃掉 标识
Dim food_x  As Integer '食物坐标
Dim food_y As Integer

Dim snake_length As Integer '蛇的长度

Dim snake_speed As Integer '蛇运行速度

Dim stop_flg As Integer '游戏暂停 标识

’游戏开始按钮

Private Sub START_Click()
    '游戏参数初始化
    Call Game_init
    
    '添加第一个食物
    Call giveFood
    
    '游戏开始
    Call GameStart
    
End Sub

'开始按钮按下后,触发的监控事件

Private Sub START_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    '判断按下的按键,上下左右中哪一个
    Select Case KeyCode
        Case 37 'left pressed
            MoveDir = "Left"
        Case 38 'up pressed
            MoveDir = "Up"
        Case 39 '
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值