为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

做一个小游戏

2017-12-06 9页 doc 32KB 17阅读

用户头像

is_447713

暂无简介

举报
做一个小游戏做一个小游戏 做一个小游戏标签Tags: 百度首页 百度知道 登录 新闻 网页 贴吧 知道 MP3 图片 视频 百科 文库 帮助 设置 ifg_f_jsvar g_f_jstruedocument.write 百度知道 游戏 小游戏 添加到搜藏已解决 做一个小游戏 悬赏分10 - 解决时间2007-12-27 19:09 我要做一个小游戏但不知道怎么做如果有人会我追加分数。 提问者 4725830666 - 三级 最佳答案 下面是个程序希望有用 定义蛇的运动速度枚举值 Private Enum tpsSpeed Q...
做一个小游戏
做一个小游戏 做一个小游戏标签Tags: 百度首页 百度知道 登录 新闻 网页 贴吧 知道 MP3 图片 视频 百科 文库 帮助 设置 ifg_f_jsvar g_f_jstruedocument.write 百度知道 游戏 小游戏 添加到搜藏已解决 做一个小游戏 悬赏分10 - 解决时间2007-12-27 19:09 我要做一个小游戏但不知道怎么做如果有人会我追加分数。 提问者 4725830666 - 三级 最佳答案 下面是个程序希望有用 定义蛇的运动速度枚举值 Private Enum tpsSpeed QUICKLY 0 SLOWLY 1 End Enum 定义蛇的运动方向枚 举值 Private Enum tpsDirection D_UP 38 D_DOWN 40 D_LEFT 37 D_RIGHT 39 End Enum 定义运动区域4个禁区的枚举值 Private Enum tpsForbiddenZone FZ_TOP 30 FZ_BOTTOM 5330 FZ_LEFT 30 FZ_RIGHT 5730 End Enum 定义 蛇头及身体初始化数枚举值 Private Enum tpsSnake SNAKEONE 1 SNAKETWO 2 SNAKETHREE 3 SNAKEFOUR 4 End Enum 定义蛇宽度的常量 Private Const SNAKEWIDTH As Integer 100 该过程用于显示游戏信息 Private Sub Form_Load Me.Show Me.lblTitle BS贪食蛇 版本 App.Major . App.Minor . App.Revision Me.Caption Me.lblTitle.Caption frmSplash.Show 1 End Sub 该过程 用于使窗体恢复原始大小 Private Sub Form_Resize If Me.WindowState 1 Then Me.Caption Me.Height 6405 窗体高度为 6405 缇 Me.Width 8535 窗体宽度 为 8535 缇 Me.Left Screen.Width - Width 2 Me.Top Screen.Height - Height 2 End If End Sub 该过程用于重新开始开始游戏 Private Sub cmdGameStart_MouseDownButton As Integer Shift As Integer X As Single Y As Single Beep msg MsgBox您确认要重新开始游戏吗 4 32 BS贪食蛇 If msg 6 Then Call m_subGameInitialize End Sub 该过程用于暂停/运行游戏 Private Sub chkPause_MouseDownButton As Integer Shift As Integer X As Single Y As Single If Me.chkPause.Caption 暂停游戏P Then Me.tmrSnakeMove.Enabled False Me.tmrGameTime.Enabled False Me.picMoveArea.Enabled False Me.lblPauseLab.Visible True Me.chkPause.Caption 继续游戏R Else Me.tmrSnakeMove.Enabled True Me.tmrGameTime.Enabled True Me.picMoveArea.Enabled True Me.lblPauseLab.Visible False Me.chkPause.Caption 暂停游戏P End If End Sub 该过程用于显示游戏规则 Private Sub cmdGameRules_MouseDownButton As Integer Shift As Integer X As Single Y As Single Beep MsgBox BS贪食蛇一个规则最简单的趣味游戏您将用键盘 Chr13 _ 上的4个方向键来控制蛇的运动方向。在运动过程中蛇 Chr13 _ 不能后退蛇的头 部也不能接触到运动区域的边线以外 Chr13 _ 和蛇自己的身体否则就游戏失败。 在吃掉随机出现的 Chr13 _ 果子后蛇的身体会变长越长难度越大。祝您好运 0 64闫凤娇327m打包下载 游戏规则 End Sub 该过程用于显示游戏开发信息 Private Sub cmdAbout_MouseDownButton As Integer Shift As Integer X As Singleqq 黑名单 了恢复游戏 Y As Single Beep MsgBox BS贪食蛇 V- App.Major . App.Minor 版本 Chr13 Chr13 _ Chr13 Chr13 _ 由PigheadPrince设计制作 Chr13 _ CopyRightC2002BestSoft.TCG闫凤娇被选走了吗 0 关于本游戏 End Sub 该过程用 于退出游戏 Private Sub cmdExit_MouseDownButton As Integer Shift As Integer怎么 弄CS1.5视频 X As Single Y As Single Beep msg MsgBox您要退出本游戏吗 4 32 BS贪食蛇 Select Case msg Case 6 End Case 7 Me.chkWindowButton2.Value 0 Exit Sub End Select End Sub 该过程用于拖动窗体_点击图标 Private Sub imgWindowTop_MouseDownButton As Integer Shift As Integer X As Single Y As Single ReleaseCapture SendMessage Me.hwnd WM_SYSCOMMAND跑跑卡丁车雯雯 以后会用游戏币买么 SC_MOVE 0 End Sub 该共用过程用于处理窗体控制按钮组 的相关操作_锁定、最小化、退出 Private Sub chkWindowButton_MouseUpIndex As Integer Button As Integer Shift As Integer X As Single Y As Single If Button 1 Then Exit Sub Select Case Index Case 0 锁定窗体 If Me.chkWindowButton0.Value 1 Then Me.imgWindowTop.BorderStyle 0 Me.imgWindowTop.Enabled False Else Me.imgWindowTop.BorderStyle 1 Me.imgWindowTop.Enabled True End If Case 1 最小化 Me.WindowState 1 Me.chkWindowButton1.Value 0 Me.Caption BS贪食 蛇 V- App.Major . App.Minor 版本 Case 2 退出 Beep msg MsgBox您要退 出本游戏吗 4 32 BS贪食蛇 Select Case msg Case 6 End Case 7 Me.chkWindowButton2.Value 0 Exit Sub End Select End Select End Sub 该过程用于 设置蛇运动速度的快慢 Private Sub hsbGameSpeed_Change Me.tmrSnakeMove.Interval Me.hsbGameSpeed.Value End Sub 该过程用于通过键盘 的方向键改变蛇的运动方向 Private Sub picMoveArea_KeyDownKeyCode As Integer Shift As Integer Select Case g_intDirection Case D_UP If KeyCode D_DOWN Then Exit Sub Case D_DOWN If KeyCode D_UP Then Exit Sub Case D_LEFT If KeyCode D_RIGHT Then Exit Sub Case D_RIGHT If KeyCode D_LEFT Then Exit Sub End Select g_intDirection KeyCode End Sub 该计时循环过程用于计算游戏耗费的秒数 并显示 Private Sub tmrGameTime_Timer g_lngGameTime g_lngGameTime 1 Me.lblGameTime.Caption g_lngGameTime 秒 End Sub 该计时循环过程用于控制 蛇的行动轨迹 Private Sub tmrSnakeMove_Timer Dim lngSnakeX As Long lngSnakeY As Long lngSnakeColor As Long Dim lngPointX As Long lngPointY As Long无聊中先 容点 好听的歌 lngPointColor As Long Randomize Me.picMoveArea.SetFocus Me.picMoveArea.Cls 确认蛇头的运动方向并获取新的位置 Select Case g_intDirection Case D_UP 向上运动 g_udtSnakeSNAKEONE.Snake_CurX g_udtSnakeSNAKEONE.Snake_OldX g_udtSnakeSNAKEONE.Snake_CurY g_udtSnakeSNAKEONE.Snake_OldY g_udtSnakeSNAKEONE.Snake_CurY g_udtSnakeSNAKEONE.Snake_CurY - SNAKEWIDTH Case D_DOWN 向下运动 g_udtSnakeSNAKEONE.Snake_CurX g_udtSnakeSNAKEONE.Snake_OldX g_udtSnakeSNAKEONE.Snake_CurY g_udtSnakeSNAKEONE.Snake_OldY g_udtSnakeSNAKEONE.Snake_CurY g_udtSnakeSNAKEONE.Snake_CurY SNAKEWIDTH Case D_LEFT 向左运动 g_udtSnakeSNAKEONE.Snake_CurX g_udtSnakeSNAKEONE.Snake_OldX g_udtSnakeSNAKEONE.Snake_CurX g_udtSnakeSNAKEONE.Snake_CurX - SNAKEWIDTH g_udtSnakeSNAKEONE.Snake_CurY g_udtSnakeSNAKEONE.Snake_OldY Case D_RIGHT 向右运动 g_udtSnakeSNAKEONE.Snake_CurX g_udtSnakeSNAKEONE.Snake_OldX g_udtSnakeSNAKEONE.Snake_CurX g_udtSnakeSNAKEONE.Snake_CurX SNAKEWIDTH g_udtSnakeSNAKEONE.Snake_CurY g_udtSnakeSNAKEONE.Snake_OldY End Select 根据新的位置绘制蛇头 lngSnakeX g_udtSnakeSNAKEONE.Snake_CurX lngSnakeY g_udtSnakeSNAKEONE.Snake_CurY lngSnakeColor g_udtSnakeSNAKEONE.Snake_Color Me.picMoveArea.PSet lngSnakeX征途 20级怎 么不能交易钱的 lngSnakeY lngSnakeColor 移动蛇身体其他部分的位置 For i 2 To g_intSnakeLength g_udtSnakei.Snake_CurX g_udtSnakei - 1.Snake_OldX g_udtSnakei.Snake_CurY g_udtSnakei - 1.Snake_OldY lngSnakeX g_udtSnakei.Snake_CurX lngSnakeY g_udtSnakei.Snake_CurY lngSnakeColor g_udtSnakei.Snake_Color Me.picMoveArea.PSet lngSnakeX lngSnakeY lngSnakeColor Next i 更新蛇旧的坐标位置 For j 1 To g_intSnakeLength g_udtSnakej.Snake_OldX g_udtSnakej.Snake_CurX g_udtSnakej.Snake_OldY g_udtSnakej.Snake_CurY Next j 判断蛇在移动中是否到了禁区而导致游戏失败 If m_funMoveForbiddenZoneg_udtSnakeSNAKEONE.Snake_CurX g_udtSnakeSNAKEONE.Snake_CurY Then Beep MsgBox 您的蛇移动到了禁区游戏 失败 0 16 BS贪食蛇 Me.tmrSnakeMove.Enabled False Me.tmrGameTime.Enabled False Me.picMoveArea.Visible False Exit Sub End If 判断蛇在移动中是否碰到了自 己的身体而导致游戏失败 If m_funTouchSnakeBodyg_udtSnakeSNAKEONE.Snake_CurX g_udtSnakeSNAKEONE.Snake_CurY Then Beep MsgBox 您的蛇在移动中碰到了自 己的身体游戏失败 0 16 BS贪食蛇 Me.tmrSnakeMove.Enabled False Me.tmrGameTime.Enabled False Me.picMoveArea.Visible False Exit Sub End If 判 断蛇是否吃到了果子 If m_funEatPointg_udtSnakeSNAKEONE.Snake_CurX g_udtSnakeSNAKEONE.Snake_CurY Then 累加玩家的得分并刷新得分显示 g_intPlayerScore g_intPlayerScore 1 Me.lblYourScore.Caption g_intPlayerScore 分 Call m_subAddSnake 加长蛇的身体 Call m_subGetPoint 获取下一个果子的位置 和颜色 Else 绘制果子 lngPointX g_udtPoint.Point_X lngPointY g_udtPoint.Point_Y lngPointColor g_udtPoint.Point_Color Me.picMoveArea.PSet lngPointX厕所门事件全集 lngPointY lngPointColor End If End Sub 该私有子过程用 于初始化游戏 Private Sub m_subGameInitialize Erase g_udtSnake 清空蛇的结构数组 g_intPlayerScore 0 清空玩家的得分 g_lngGameTime 0 清空游戏耗费的秒数 g_intDirection D_DOWN 设定蛇的初始运动方向为下 g_intSnakeLength 4 设定 蛇的初始长度 ReDim g_udtSnake1 To g_intSnakeLength 重新定义蛇的长度 定义蛇 头部的数据 With g_udtSnakeSNAKEONE .Snake_OldX 530 .Snake_OldY 530 .Snake_Color vbBlack End With 定义蛇身第2节的数据 With g_udtSnakeSNAKETWO .Snake_OldX 530 .Snake_OldY 430 .Snake_Color vbGreen End With 定义蛇身第3节的数据 With g_udtSnakeSNAKETHREE .Snake_OldX 530 .Snake_OldY 330 .Snake_Color vbYellow End With 定义蛇身第4节的数据 With g_udtSnakeSNAKEFOUR .Snake_OldX 530 .Snake_OldY 230 .Snake_Color vbRed End With Me.picMoveArea.Visible True Me.lblYourScore.Caption g_intPlayerScore 分 Me.lblGameTime.Caption g_lngGameTime 秒 Me.tmrSnakeMove.Interval Me.hsbGameSpeed.Value Me.tmrSnakeMove.Enabled True Me.tmrGameTime.Enabled True Call m_subGetPoint 获取第一个果子的位置和 颜色 End Sub 该私有子过程用于返回获取的果子的位置和颜色信息 Private Sub m_subGetPoint Dim lngRedValue As Long lngGreenValue As Long lngBlueValue As Long Dim lngPointX As Long lngPointY As Long lngPointColor As Long 随机获取果 子的颜色 lngRedValue Int255 - 0 1 Rnd 0 lngGreenValue Int255 - 0 1 Rnd 0 lngBlueValue Int255 - 0 1 Rnd 0 lngPointColor RGBlngRedValue lngGreenValue lngBlueValue 随机获取果子的位置 lngPointX IntFZ_LEFT - FZ_RIGHT 1 Rnd FZ_RIGHT lngPointY IntFZ_TOP - FZ_BOTTOM 1 Rnd FZ_BOTTOM Me.PSet lngPointX lngPointY lngPointColor 设置函数返回值 With g_udtPoint .Point_X lngPointX .Point_Y lngPointY .Point_Color lngPointColor End With End Sub 该私有子过程用于加长蛇的身体 Private Sub m_subAddSnake Dim udtSnakeTemp As Snake Dim lngSnakeX As Long lngSnakeY As Long lngSnakeColor As Long 备份蛇原先身体的数据并使蛇的身体加长 ReDim udtSnakeTemp1 To g_intSnakeLength For k 1 To g_intSnakeLength With udtSnakeTempk .Snake_CurX g_udtSnakek.Snake_CurX .Snake_CurY g_udtSnakek.Snake_CurY .Snake_OldX g_udtSnakek.Snake_OldX .Snake_OldY g_udtSnakek.Snake_OldY .Snake_Color g_udtSnakek.Snake_Color End With Next k g_intSnakeLength g_intSnakeLength 1 ReDim g_udtSnakeg_intSnakeLength 将备 份蛇身体的数据返回到加长的蛇身数组中 For l 1 To g_intSnakeLength - 1 With g_udtSnakel .Snake_CurX udtSnakeTempl.Snake_CurX .Snake_CurY udtSnakeTempl.Snake_CurY .Snake_OldX udtSnakeTempl.Snake_OldX .Snake_OldY udtSnakeTempl.Snake_OldY .Snake_Color udtSnakeTempl.Snake_Color End With Next l 写入新加入的身体数据 Select Case g_intDirection Case D_UP With g_udtSnakeg_intSnakeLength .Snake_OldX g_udtSnakeg_intSnakeLength - 1.Snake_CurX SNAKEWIDTH .Snake_OldY g_udtSnakeg_intSnakeLength - 1.Snake_CurY .Snake_Color g_udtPoint.Point_Color End With Case D_DOWN With g_udtSnakeg_intSnakeLength .Snake_OldX g_udtSnakeg_intSnakeLength - 1.Snake_CurX - SNAKEWIDTH .Snake_OldY g_udtSnakeg_intSnakeLength - 1.Snake_CurY .Snake_Color g_udtPoint.Point_Color End With Case D_LEFT With g_udtSnakeg_intSnakeLength .Snake_OldX g_udtSnakeg_intSnakeLength - 1.Snake_CurX .Snake_OldY g_udtSnakeg_intSnakeLength - 1.Snake_CurY SNAKEWIDTH .Snake_Color g_udtPoint.Point_Color End With Case D_RIGHT With g_udtSnakeg_intSnakeLength .Snake_OldX g_udtSnakeg_intSnakeLength - 1.Snake_CurX .Snake_OldY g_udtSnakeg_intSnakeLength - 1.Snake_CurY - SNAKEWIDTH .Snake_Color g_udtPoint.Point_Color End With End Select lngSnakeX g_udtSnakeg_intSnakeLength.Snake_CurX lngSnakeY g_udtSnakeg_intSnakeLength.Snake_CurY lngSnakeColor g_udtSnakeg_intSnakeLength.Snake_Color Me.picMoveArea.PSet lngSnakeX lngSnakeY lngSnakeColor End Sub 该自定义函数用于返回运动的蛇是否到达禁区而 导致游戏失败 Private Function m_funMoveForbiddenZoneSnakeX As Long SnakeY As Long As Boolean If SnakeX FZ_LEFT And SnakeX FZ_TOP And SnakeY
/
本文档为【做一个小游戏】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索