做游戏学编程c语言(c语言编程软件)

圈圈笔记 82

贪吃蛇(也叫做贪食蛇)游戏是一款休闲益智类游戏,有PC和手机等多平台版本。既简单又耐玩。该游戏通过控制蛇头方向吃蛋,从而使得蛇变得越来越长。

我们的今天的目标就是:用C语言来实现一个贪吃蛇项目,也不用太复杂,初学者能看懂就行!

贪吃蛇小程序,主要采用C语言描述,采用数组进行数据存储的图形化操作界面,会涉及一点点C++ 知识(特别少的一点点),但是有C语言基础就够用了,编译器:VS2019,会涉及部分库函数的安装及使用,不过也很简单啦!

效果展示:

看到了这个效果之后,那我们就动手来实现吧!

希望大家都能轻松实现这个项目!另外涉及到的include 需要额外安装图形库插件easyX哦~

代码如下:

includeincludeincludeincludeincludeinclude"snake.h"intscore =0;intgamespeed =100;//蛇运行速度staticvoidInit(void);/*图形驱动*/staticvoidClose(void);/*图形结束*/staticvoidGame_interface(void);/*游戏界面*/staticvoidGameOver(void);/*结束游戏*/staticvoidGamePlay(void);/*游戏过程*/staticvoidPrScore(void);/*输出成绩*//*主函数*/intmain(void){ Init(); Game_interface(); GamePlay(); Close();return0; }/*图形驱动*/staticvoidInit(void){intgd=9,gm=2; initgraph(&gd,&gm," "); cleardevice(); }/* 开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙 */staticvoidGame_interface(void){inti; setcolor(LIGHTCYAN);/*setbkcolor(LIGHTGREEN);*/setlinestyle(PS_SOLID,0,1);/*设置线型*/for(i=50;i<=600;i+=10)/*画边框*/{ rectangle(i,40,i+10,49);/*上边框*/rectangle(i,451,i+10,460);/*下边框*/}for(i=40;i<=450;i+=10) { rectangle(50,i,59,i+10);/*左边框*/rectangle(601,i,610,i+10);/*右边框*/} }/* 游戏主函数 */staticvoidGamePlay(void){inti; srand(time(NULL));/*随机数发生器*/food.yes =1;/*1表示需要出现新食物,0表示已经存在食物*/snake.life =0;/*活着*/snake.direction =1;/*方向往右*/snake.x[0] =100; snake.y[0] =100; snake.x[1] =110; snake.y[1] =100; snake.node =2;/*节数*/PrScore();/*输出得分*/while(1)/*可以重复玩游戏,压ESC键结束*/{while( !kbhit() )/*在没有按键的情况下,蛇自己移动*/{if(food.yes ==1)/*需要出现新食物*/{ food.x = rand()%400+60; food.y = rand()%350+60;while(food.x%10!=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/food.x++;while(food.y%10!=0) food.y++; food.yes =0;/*画面上有食物了*/}if(food.yes ==0)/*画面上有食物了就要显示*/{ setcolor(GREEN); rectangle(food.x,food.y,food.x +10,food.y -10); }for(i=snake.node-1;i>0;i--)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/{ snake.x[i] = snake.x[i-1]; snake.y[i] = snake.y[i-1]; }/*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/switch(snake.direction) {case1: snake.x[0] +=10;break;case2: snake.x[0] -=10;break;case3: snake.y[0] -=10;break;case4: snake.y[0] +=10;break; }/* 从蛇的第四节开始判断是否撞到自己 */for(i=3;i此外,我也给大家分享我收集的其他资源,从最零基础开始的教程到C语言C++项目案例,帮助大家在学习C语言的道路上披荆斩棘!

编程学习书籍分享:

编程学习视频分享:

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!

对于C/C++感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些C/C++的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!

上一篇:

下一篇:

  推荐阅读

分享