贪吃蛇c语言代码高难,100多行代码的《贪吃蛇》
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
耗费两节课,调试到一个不错的效果。
http://www.lugede.cn
注意:使用前请确保TC文件夹位于D:\TC目录下。
-------
#include
#include
#include
#include
#include
#define ESC 283
#define UP 18432
#define DOWN 20480
#define LEFT 19200
#define RIGHT 19712
void main()
{
int gdrive,gmode;
int an,ano;
int mx=15,my=10,r=38,rs=36,l=3;
int i,j;
int rnd,ex,ey,exx,eyy;
int x,y,xo,yo;
int xx,yy,xxo,yyo;
int lv;
int xs[999],ys[999];
gdrive=DETECT;
initgraph(&gdrive,&gmode,"D:\\TC\\BGI");
srand(time(NULL));
setbkcolor(BLACK);
gotoxy(30,1);
printf("---- Snake v0.1 ---- C 2007 www.lugede.cn");
setcolor(WHITE);
rectangle(26,26,600,410);
start:
/*lv++;
if(lv%2==0) dl/=2;
gotoxy(7,1);
printf("Lv:%d",lv);
*/
rnd=rand();x=rnd%(mx-1)+1;
rnd=rand();y=rnd%(my-1)+1;
rndx1:rnd=rand();ex=rnd%(mx-1)+1;
for(i=1;i
rndy1:rnd=rand();ey=rnd%(my-1)+1;
for(j=1;j
exx=ex*r-10;eyy=ey*r-10;
setfillstyle(1,WHITE);
circle(exx+r/2-1,eyy+r/2-1,rs/2);
floodfill(exx+r/2,eyy+r/2,WHITE);
anjian:
if(bioskey(1))
{
an=bioskey(0);
}
if(an==UP)
{
if(ano==2) y++;
else
{
y--;
ano=1;
}
}
if(an==DOWN)
{
if(ano==1) y--;
else
{
y++;
ano=2;
}
}
if(an==LEFT)
{
if(ano==4) x++;
else
{
x--;
ano=3;
}
}
if(an==RIGHT)
{
if(ano==3) x--;
else
{
x++;
ano=4;
}
}
if(an==ESC) goto end;
along:
delay(99999999);
for(i=2;i
{
if(xs[i]==x&&ys[i]==y&&l>3) goto die;
}
if(x<1||x>mx||y<1||y>my) goto die;
for(j=l;j>1;j--)
{
xs[j]=xs[j-1];
ys[j]=ys[j-1];
}
xs[1]=x;
ys[1]=y; /*body record*/
if(x==ex && y==ey)
{
l++;
xxo=xo*r-10;yyo=yo*r-10;
setfillstyle(1,BLACK);
bar(xxo,yyo,xxo+rs,yyo+rs);
goto ad; /*pass clean old body*/
}
xxo=xo*r-10;yyo=yo*r-10;
setfillstyle(1,BLACK);
bar(xxo,yyo,xxo+rs,yyo+rs);
goto bd;
ad: /*remake egg*/
gotoxy(14,1);
printf("Eaten Eggs:%d",l-3);
rndx2:rnd=rand();ex=rnd%(mx-1)+1;
for(i=1;i
rndy2:rnd=rand();ey=rnd%(my-1)+1;
for(j=1;j
exx=ex*r-10;eyy=ey*r-10;
setfillstyle(1,WHITE);
circle(exx+r/2-1,eyy+r/2-1,rs/2);
floodfill(exx+r/2,eyy+r/2,WHITE);
bd:
xx=x*r-10;yy=y*r-10;
setfillstyle(1,GREEN);
bar(xx,yy,xx+rs,yy+rs);
xs[1]=x;ys[1]=y;
xo=xs[l];yo=ys[l];
goto anjian;
die:
setfillstyle(1,RED);
for(i=1;i<=l;i++)
{
bar(xs[i]*r-10,ys[i]*r-10,xs[i]*r-10+rs,ys[i]*r-10+rs);
}
gotoxy(30,15);
printf("You got %d eggs!",l-3);
getch();
end:
an=getch();
if(an!=27) goto end;
closegraph();
}
贪吃蛇c语言代码高难,100多行代码的《贪吃蛇》相关推荐
- C语言基础——C语言概述——语句和每行代码的含义
目录 2.1:C 语言的六种语句 2.2:C程序中每行代码的解释 2.1:C 语言的六种语句 标号语句 复合语句 表达式语句 选择语句 迭代语句 跳转语句 我们先来看一个简单的C程序 2.2:C程序中 ...
- cmd装b专用代码_Python 用5行代码学机器学习—线性回归
我准备使用scikit-learn给大家介绍一些模型的基础知识,今天就来讲讲线性回归模型. 1. 准备 开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细P ...
- python人脸识别代码_Python不用10行代码就可实现人脸识别,还可辨别真假,太棒了!...
人脸识别技术大致由人脸检测和人脸识别两个环节组成.之所以要有人脸检测,不光是为了检测出照片上是否有人脸,更重要的是把照片中人脸无关的部分删掉,否则整张照片的像素都传给f(x)识别函数肯定就不可用了.人 ...
- 车牌识别 代码_用31行代码构建车牌识别服务
车牌识别 代码 A few days ago, when prowling around the internet, I came across a very interesting article, ...
- html国庆节代码,小程序10行代码实现微信头像挂红旗,国庆节个性化头像
最近朋友圈里经常有看到这样的头像 既然这么火,大家要图又这么难,作为程序员的自己当然要自己动手实现一个. 老规矩,先看效果图 仔细研究了下,发现实现起来并不难,核心代码只有下面10行. wx.canv ...
- html崩溃手机代码15,这12行代码分分钟让你电脑崩溃手机重启
事情的起因是这样的,国外一哥们Cyber Security在推特上发了这么一条推文: 神秘的12行代码(图片来自0xroot) 这哥们声称,如果你使用上述这段12行的JavaScript代码,就可以能 ...
- php消消乐代码,C/C++百行代码实现热门游戏消消乐功能的示例代码
游戏设计 首先我们需要使用第三方框架,这里我使用的是sfml,不会使用sfml在我的上几篇文章当中-扫雷(上)有详细的开发环境搭建介绍 首先准备图片资源 一张背景图片,一张宝石图片 窗口初始化加载图片 ...
- 图像分割技术语义分割代码_用5行代码对150类对象进行语义分割
图像分割技术语义分割代码 It is now possible to perform segmentation on 150 classes of objects using ade20k model ...
- 贪吃蛇c++语言程序,利用C/C++实现较完整贪吃蛇游戏
记得在大一时刚学习c/c++语言,学到一半突然想用这门语言做一些小游戏出来,首先想到的便是贪吃蛇.于是本人利用空余时间写出了这么一个简单的小游戏. 由于当时的我还没有能力构造出用户界面,故直接使用do ...
最新文章
- 块代码编程---开始使用块代码
- 解决rsync 同步auth failed on module问题
- define、const、typedef区别
- SVN:“SVN”不是内部命令,解决方法
- 【经典回放】JavaScript学习详细干货笔记之(二)
- 手把手教你用Python实现“坦克大战”,附详细代码!
- DevEco Studio的下载
- body-parser和multer
- HarmonyOS — Button按钮
- 【图片、字符画互转】字符画实现(JAVA)
- OFDM子载波正交特性matlab,OFDM的正交性(转)
- linux vi 替换
- (全)Docker安装+人脸比对算法服务(win10)
- html实现微信扫一扫,JS 实现微信扫一扫功能
- 共射级放大电路—密勒电容影响下的压摆率
- 360随身WiFi在没有网络的情况下打开热点
- 乖离率背离公式_乖离率指标——BIAS
- 如何用油猴解析VIP视频
- 散列表查找 (15 分)
- 利用malloc函数分配二维数组
热门文章
- UIKit框架-高级控件Swift版本: 2.UITableView方法/属性详解
- Eclipse开发JSP页面,xhtml页面卡死的解决方法
- 实现随着 下拉菜单中 选中值的变化 周边的值也也跟着变化。(使用【 VLOOKUP 】 函数)
- 【EDAS问题】轻量级EDAS部署hsf服务出现找不到类的解决方案
- TCP粘包和拆包的定义,产生的原因以及解决方案
- .Net 站点跨域问题及解决方法
- 1. jenkins常见错误及解决方法
- webview重新加载(reload)或者发起 redirect request导致js和objc代码之间的bridge失联解决方案(亲测有效)
- 80端口未被占用,无法启动wamp的解决方法(原创)
- 域账户登录时提示“你的账户配置不允许使用这台电脑。请试一下其他电脑” 解决方案