蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > PDF文档下载
 

贪吃蛇游戏设计

  • 资源ID:55708287       资源大小:296.36KB        全文页数:9页
  • 资源格式: PDF        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

贪吃蛇游戏设计

C C 语言实训三贪吃蛇游戏设计语言实训三贪吃蛇游戏设计 1.游戏主画面及规则 2.描述蛇及食物的数据结构 蛇身体由多节构成,每节有不同的位置(坐标) ,蛇的节数由吃到食物多少决定。蛇 的信息可以由下面结构体描述 struct Snake{//struct Snake{//描述的信息描述的信息 int x[200];//int x[200];//每节的每节的 X X 坐标坐标 int y[200];//int y[200];//每节的每节的 Y Y 坐标坐标 int count;//int count;//蛇的节数蛇的节数 int direct;//int direct;//蛇移动方向蛇移动方向 int isliving; //int isliving; //蛇是否活着蛇是否活着, ,活着活着1 1,死,死0 0 int color;//int color;//蛇颜色蛇颜色 } snake;} snake; define FNUMdefine FNUM3; //3; //定义在画面上同时出现的食物数定义在画面上同时出现的食物数 struct Food{//struct Food{//描述食物的信息描述食物的信息 int x;//Xint x;//X 坐标坐标 int y;//Yint y;//Y 坐标坐标 int type;//int type;//食物的类型食物的类型 int score;//int score;//吃到此类食物的得分吃到此类食物的得分 } food;} food;// //如在画面上要同时出现多个食物,则用如在画面上要同时出现多个食物,则用 food[FNUM];food[FNUM]; 3. 画游戏空间的边界(围墙) define WALL_TOPdefine WALL_TOP 50 //50 //围墙各边界的坐标(单位象素)围墙各边界的坐标(单位象素) define Wdefine WALL_BOTTOMALL_BOTTOM550550 define Wdefine WALL_LEFTALL_LEFT5050 define Wdefine WALL_RIGHTALL_RIGHT600600 void DrawWallvoid //void DrawWallvoid //画围墙画围墙 { { setcolor11;setcolor11; setlinestyleSOLID_LINE,0,THICK_WIDTH;/*setlinestyleSOLID_LINE,0,THICK_WIDTH;/*设置线型设置线型*/ */ fori WALL_LEFT-10;iWALL_RIGHT||yWALL_BOTTMALL_BOTTM return 0; //return 0; //蛇是否撞到墙壁蛇是否撞到墙壁 fori3; i0;i--//蛇的每个环节往前移动一节,到达前一节原位置蛇的每个环节往前移动一节,到达前一节原位置 { {snake.x[i]snake.x[i-1];snake.x[i]snake.x[i-1];snake.y[i]snake.y[i-1];snake.y[i]snake.y[i-1];} } } } 7.产生一个新食物 随机产生一个新食物,位置是随机的,类型也是随机的,信息填写到一个食物结构体变量中,并给出食物的分数 struct Foodstruct FoodNewFood NewFood { {struct Foodstruct Foodnewfd;newfd; int width WALL_RIGHTint width WALL_RIGHT -- WALL_LEFT;//WALL_LEFT;// 空间宽空间宽 int hight WALL_BOTTOMint hight WALL_BOTTOM -- WALL_TOP;//WALL_TOP;//空间高空间高 newfd.x randwidth WALL_LEFT1; //newfd.x randwidth WALL_LEFT1; // 随机生成食物的位置坐标随机生成食物的位置坐标 在墙内在墙内 newfd.y randhight WALL_TOP;newfd.y randhight WALL_TOP; // //调整食物位置,使在整格内调整食物位置,使在整格内, ,这样才可以让蛇吃到这样才可以让蛇吃到 whilenewfd.x100whilenewfd.x100newfd.x;newfd.x; whilenewfd.y100whilenewfd.y100newfd.y;newfd.y; // //本可以随机生成食物类型本可以随机生成食物类型, ,但简化了,只生成一种但简化了,只生成一种 newfd.type1;newfd.type1;newfd.score10;newfd.score10; return newfd;return newfd; } } 8. 画一个食物 根据食物的类形,在屏幕上画不同的图形,来表示蛇要去吃的食物 void DrawFood structvoid DrawFood structFoodFoodfd,fd,intintcolorcolor { {// //可以用可以用 switchfd.typeswitchfd.type来分别针对不同类食物,画不同的图来分别针对不同类食物,画不同的图 // //为了简化,这里只画一种类型食物为了简化,这里只画一种类型食物 setcolorcolor;setcolorcolor; rectanglefood.x, food.y, food.x10, food.y-10;rectanglefood.x, food.y, food.x10, food.y-10; } } 9. 蛇是否吃到食物 判断蛇是否吃到食物的依据是蛇头移动到了食物位置(坐标相同) ,吃到了,蛇的节数增1,把食物分数加入得分,同时清除食物,随机生成另一新食物。 int CanEatFoodint CanEatFood { { ifsnake.x[0]food.x //DrawFood food, SPACECOLOR;//用背景色把画面上的食物东西擦掉用背景色把画面上的食物东西擦掉 Snake.count; //Snake.count; //蛇增长一节蛇增长一节 snake.x[snake.count] snake.x[snake.count-1];//snake.x[snake.count] snake.x[snake.count-1];//新的一节与原未节重又能叠新的一节与原未节重又能叠 snake.y[snake.count] snake.y[snake.count-1];//snake.y[snake.count] snake.y[snake.count-1];

注意事项

本文(贪吃蛇游戏设计)为本站会员(sunhongz113)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开