没有合适的资源?快使用搜索试试~ 我知道了~
用java编写的贪吃蛇游戏代码.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 160 浏览量
2022-06-27
05:33:09
上传
评论
收藏 35KB DOCX 举报
温馨提示
试读
12页
。。。
资源推荐
资源详情
资源评论
包罗万象网—http://www.baoluowanxiang.com
用 Java 编写的贪吃蛇代码
下面是我用 java 编写的一个贪吃蛇游戏源代码.我个人是比较喜欢玩游戏的,所以学习编程
二年多了,很想做个游戏程序,由于能力有限,一直没能做好,后来突然看同学在手机上玩
“贪吃蛇”,故想做出来,其一是因为此游戏界面容易设计,算法也比较简单,今天我就把
我程序的代码和算法介绍一下,顺便把程序界面皮肤设计说一下......
程序中一个关于游戏信息的类如下,由于类的说明在程序中写的很清楚了,就不再多解
释了:#include "time.h"
//方向定义
const CPoint UP(CPoint(0,-1));
const CPoint DOWN(CPoint(0,1));
const CPoint LEFT(CPoint(-1,0));
const CPoint RIGHT(CPoint(1,0));
//速度快慢定义
const int HIGH = 75;
const int NORMAL = 180;
const int SLOW = 300;
const int MAX = 80; / /表示转向数
const int LENGTH = 10;
class GameMsg
{
public:
GameMsg(void)
: m_icon(0)
包罗万象网—http://www.baoluowanxiang.com
{
InitGame();
}
void InitGame(int up = VK_UP, int down = VK_DOWN, int left = VK_LEFT, int right =
VK_RIGHT)
{
srand((unsigned)time(NULL));
m_gameSpeed = NORMAL;
m_speedNum = 2;
m_snakeNum = 4;
for(int i=0; i<m_snakeNum; ++i)
m_snakePoint[i] = CPoint(5+LENGTH*2*5+LENGTH,LENGTH*2*(i+5));
m_run = true;
m_direction = RIGHT;
turnUP = up;
turnDOWN = down;
turnLEFT = left;
turnRIGHT = right;
}
public:
int m_gameSpeed;//游戏速度
int m_speedNum;//游戏速度数
CPoint m_foodPoint; //食物定义
包罗万象网—http://www.baoluowanxiang.com
bool m_run;//游戏状态,运得态还是暂停(结束)态
CPoint m_snakePoint[MAX]; //蛇身定义
CPoint m_direction;//蛇运动方向
int m_snakeNum; / /蛇身结点数
int m_icon;//用来设定食物是那种图标的
int turnUP;//用来表示玩家“上”键设的键 int turnDOWN;//用来表示玩家“下”键设的
键 int turnLEFT;//用来表示玩家“左”键设的键int turnRIGHT;//用来表示玩家“右”键设的键
int m_num;//用来记录所选水果的编号
};
再让读者看一下程序主干类的设计,其中以下只列出由我们自己添加的一些变量的说
明,其他的是由程序向导自动生成的,我就不说了:
public:
afx_msg void OnTimer(UINT_PTR nIDEvent);//程序中运行函数,即是一个定时器,时间就
是上面类中的 m_gameSpeed 来控制的 CStatic *m_staticArray;//这是一个蛇定义,是用来显示
蛇的,上面只告诉蛇身结点的中心点位置坐标,然后在此中心画一个控件就类似于蛇身了
afx_msg void OnClose();//结束,主要是在其中销毁定时器的
void GameOver(void);//游戏结束函数
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);//当点击鼠标右键出现菜单
afx_msg void OnNewGame();//菜单选项,新游戏 afx_msg void OnPauseOrStart();//菜单选项,
暂停/开始 游戏 afx_msg void OnUpdateQuick(CCmdUI *pCmdUI);//这 3 个函数本来是来标记
速度的,和上面类中的 m_speedNum 对应,但是没有标记成功
afx_msg void OnUpdateNormal(CCmdUI *pCmdUI);
afx_msg void OnUpdateSlow(CCmdUI *pCmdUI);
afx_msg void OnNormal();//菜单选项,设定为普通速度 afx_msg void OnSlow();//菜单选
项,设定为慢速度 afx_msg void OnQuick();//菜单选项,设定为快速度
OnIntroduce();//游戏介绍,就是弹出一个对话框而以
afx_msg void
afx_msg void OnMoreprogram();//进入我的博客的函数
剩余11页未读,继续阅读
资源评论
苦茶子12138
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功