云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C++课程设计贪吃蛇小游戏(内附完整源码与附件)

C++课程设计贪吃蛇小游戏(内附完整源码与附件)

  • 62 次阅读
  • 3 次下载
  • 2025/6/22 17:34:08

六、教师评审

教师评语 实验成绩

(虽然上机主要侧重于验证问题,但是建议各位老师从解决 “工程技术问题”,特别是“复杂工程问题”的角度去评审学 生上机过程及上机报告,主要内容包括提出问题、分析问题、 解决问题及验证问题。 要有较详细的评审意见 。)

签名:

日期:

附 录

用户使用手册

1、编译运行即开始游戏。

2、按小写字母 wsad 即可进行游戏的操作。 3、按任意键暂停游戏 程序源代码

#include #include #include #include #include using namespace std; #define #define #define #define #define #define #define #define #define #define #define #define class

N20 / / 地图大小 WALL5 HEAR1 TAIL 2 BODY3 FOOD4 UP 'w' DOWN's' LEFT 'a' RIGHT 'd' GMAE_TIME100 RetroSnaker {

// 设置游戏的绘制速度

// 墙 // 蛇头 // 蛇尾 // 蛇身 // 食物

// 蛇的前进方向:上下左右

EMPTY0 // 空

public :

RetroSnaker() { Init(); } bool gameOver; void move();

void move( char ch ); private :

int map[ N][ N]; int directionMap[ int hearX, hearY; int tailX, tailY; int foodX, foodY; bool eatFood; void Init(); void gotoXY( int

/ / 初始化

x, int

y);

// 光标跳转到屏幕的相应位置

// 二维地图 N][ N]; // 方向图

// 蛇头坐标 // 蛇尾坐标 // 食物坐标 // 标记是否吃到食物 // 游戏是否结束

void againFood(); void erasingTheTail(); void erasingTheHear( };

void RetroSnaker ::move() {

// 食物被吃,再次产生食物

// 擦除尾巴 char ch );

// 擦除蛇头

switch (directionMap[hearY][hearX]) {

case UP:

if ( FOOD== map[hearY - 1][hearX])

againFood();

else if ( EMPTY== map[hearY - 1][hearX])

erasingTheTail(); else {

gameOver = true ; / / 没有遇到食物或者空,则表示游戏结束 break ; }

erasingTheHear( break ; case DOW:N

if ( FOOD== map[hearY + 1][hearX])

againFood();

else if ( EMPTY== map[hearY + 1][hearX])

erasingTheTail(); else {

gameOver = true ; / / 没有遇到食物或者空,则表示游戏结束 break ; }

erasingTheHear( break ; case LEFT:

if ( FOOD== map[hearY][hearX - 1])

againFood();

else if ( EMPTY== map[hearY][hearX - 1])

erasingTheTail(); else {

gameOver = true ; / / 没有遇到食物或者空,则表示游戏结束 break ; }

erasingTheHear( break ; case RIGHT:

if ( FOOD== map[hearY][hearX + 1])

// 吃到食物

LEFT);

// 擦除尾巴

// 什么都没遇到 // 吃到食物

DOW)N;

// 擦除尾巴

// 什么都没遇到 // 吃到食物

UP);

// 擦除尾巴

// 什么都没遇到 // 吃到食物

againFood();

else if ( EMPTY== map[hearY][hearX + 1])

erasingTheTail(); else {

gameOver = true ; / / 没有遇到食物或者空,则表示游戏结束 // 擦除尾巴

// 什么都没遇到

break ; }

erasingTheHear( RIGHT);

break ; default :

break ; } }

void RetroSnaker ::move( char ch) {

directionMap[hearY][hearX] = move(); }

void RetroSnaker ::Init() {

int i = 0,j=0;

gameOver = false ; eatFood =

false ;

for (i = 0; i <

N; i++)

for (j = 0; j <

N; j++) { map[i][j] =

EMPTY;

directionMap[i][j] = } for (i = 0; i <

N; i++) { map[0][i] = WALL;

map[ N - 1][i] = WALL; map[i][0] = WALL;

map[i][ N- 1] = WALL;

}

// 初始化蛇头 hearX = N/ 2; hearY = N/ 2; map[hearY][hearX] =

HEAR; directionMap[hearY][hearX] = ch;

// 清空二维数组 EMPTY; // 清空方向图

// 初始化墙

RIGHT; // 记录蛇头的移动方向

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

六、教师评审 教师评语 实验成绩 (虽然上机主要侧重于验证问题,但是建议各位老师从解决 “工程技术问题”,特别是“复杂工程问题”的角度去评审学 生上机过程及上机报告,主要内容包括提出问题、分析问题、 解决问题及验证问题。 要有较详细的评审意见 。) 签名: 日期:附 录 用户使用手册 1、编译运行即开始游戏。 2、按小写字母 wsad 即可进行游戏的操作。 3、按任意键暂停游戏 程序源代码 #include #include #include #include #include using namespace std; #define #define #de

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com