EXCEL用53行代码制作一个打地鼠的小游戏,很有趣

大家好,我是头条作者:小嘟嘟熊,今天向大伙分享我用EXCEL做的一个小作品(打地鼠),只用了53行代码,很简单的,首先我们打开EXCEL软件,行数从A2到A11,列数从A到J设置1个10*10的区域,把颜色填充为白色,宽度调整一下,画一个边框,这个区域就是刷新地鼠的位置,在A1单元格中写"GO"开始游戏格子(详情看图3),设置好区域后,在菜单栏上单击"工具","宏","Visual Basic 编辑器",在左边资源管理器中双击"Sheet1",在代码编辑框中编写代码:

Option Explicit

Private Const PosX = 1

Private Const PosY = 2

Dim Pre_theMouse As Integer

Dim Pre_PosY As Integer

Dim Cur_theMouse As Integer

Dim cur_PosY As Integer

Dim cut As Integer

Dim KillCut As Integer

Dim KillFalg As Boolean

Public Sub GenerateMouse(ByVal Target As Range)

Randomize

If Pre_theMouse > 0 Then

Target.Cells(Pre_PosY, Pre_theMouse).Interior.Color = vbWhite

Target.Cells(Pre_PosY, Pre_theMouse) = ""

End If

Cur_theMouse = Int(Rnd() * 10 + PosX)

cur_PosY = Int(Rnd() * 10 + PosY)

Target.Cells(cur_PosY, Cur_theMouse).Interior.Color = vbRed

Target.Cells(cur_PosY, Cur_theMouse) = "鼠"

Pre_theMouse = Cur_theMouse

Pre_PosY = cur_PosY

End Sub

图1

要不断的有地鼠刷新,就要一个定时器,我们写一个简单的定时器,来控制刷新地鼠

Private Sub sleep(ByVal value As Single) '定时器'

Dim tim As Long

tim = Timer + value

Do While Timer < tim

DoEvents

Loop

End Sub

接着编写打地鼠的代码,在SelectionChange事件中有一个参数"Target"它是存储当前表中的信息,Target.Column成员是返回当前选择的列, Target.Row是所在行,那么我们就用这两个成员来判断是否打中了地鼠,图片中有详细的介绍

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 And Target.Row = 1 Then

Pre_theMouse = 0

cut = 0

KillCut = 0

Do

DoEvents

sleep 0.5

If KillFalg = False Then

cut = cut + 1

End If

GenerateMouse Target

Target.Cells(1, 2) = "打中:" & KillCut & "只,逃跑:" & cut & "只"

Loop

ElseIf Target.Column

1 And Target.Row < (PosY + 10) Then

If Target.Column = Cur_theMouse And Target.Row = cur_PosY Then

KillFalg = True

KillCut = KillCut + 1

Else

KillFalg = False

End If

End If

End SubEnd Sub

图2

打地鼠代码编写完了,我们回到EXCEL界面,选择A1单元格开始游戏,区域内0.5秒就刷新一只地鼠(这个地鼠动物不是动物,图片不是图片,我用的是汉字来代替的,)不断的跳动,当鼠标选中它时表示打中了,没有的话表示逃跑了,这要看大伙的动作快不快了,如果觉得慢可以修改速度 sleep 0.5,把0.5改0.1,

图3

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();