该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

耗费两节课,调试到一个不错的效果。

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多行代码的《贪吃蛇》相关推荐

  1. C语言基础——C语言概述——语句和每行代码的含义

    目录 2.1:C 语言的六种语句 2.2:C程序中每行代码的解释 2.1:C 语言的六种语句 标号语句 复合语句 表达式语句 选择语句 迭代语句 跳转语句 我们先来看一个简单的C程序 2.2:C程序中 ...

  2. cmd装b专用代码_Python 用5行代码学机器学习—线性回归

    我准备使用scikit-learn给大家介绍一些模型的基础知识,今天就来讲讲线性回归模型. 1. 准备 开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细P ...

  3. python人脸识别代码_Python不用10行代码就可实现人脸识别,还可辨别真假,太棒了!...

    人脸识别技术大致由人脸检测和人脸识别两个环节组成.之所以要有人脸检测,不光是为了检测出照片上是否有人脸,更重要的是把照片中人脸无关的部分删掉,否则整张照片的像素都传给f(x)识别函数肯定就不可用了.人 ...

  4. 车牌识别 代码_用31行代码构建车牌识别服务

    车牌识别 代码 A few days ago, when prowling around the internet, I came across a very interesting article, ...

  5. html国庆节代码,小程序10行代码实现微信头像挂红旗,国庆节个性化头像

    最近朋友圈里经常有看到这样的头像 既然这么火,大家要图又这么难,作为程序员的自己当然要自己动手实现一个. 老规矩,先看效果图 仔细研究了下,发现实现起来并不难,核心代码只有下面10行. wx.canv ...

  6. html崩溃手机代码15,这12行代码分分钟让你电脑崩溃手机重启

    事情的起因是这样的,国外一哥们Cyber Security在推特上发了这么一条推文: 神秘的12行代码(图片来自0xroot) 这哥们声称,如果你使用上述这段12行的JavaScript代码,就可以能 ...

  7. php消消乐代码,C/C++百行代码实现热门游戏消消乐功能的示例代码

    游戏设计 首先我们需要使用第三方框架,这里我使用的是sfml,不会使用sfml在我的上几篇文章当中-扫雷(上)有详细的开发环境搭建介绍 首先准备图片资源 一张背景图片,一张宝石图片 窗口初始化加载图片 ...

  8. 图像分割技术语义分割代码_用5行代码对150类对象进行语义分割

    图像分割技术语义分割代码 It is now possible to perform segmentation on 150 classes of objects using ade20k model ...

  9. 贪吃蛇c++语言程序,利用C/C++实现较完整贪吃蛇游戏

    记得在大一时刚学习c/c++语言,学到一半突然想用这门语言做一些小游戏出来,首先想到的便是贪吃蛇.于是本人利用空余时间写出了这么一个简单的小游戏. 由于当时的我还没有能力构造出用户界面,故直接使用do ...

最新文章

  1. 块代码编程---开始使用块代码
  2. 解决rsync 同步auth failed on module问题
  3. define、const、typedef区别
  4. SVN:“SVN”不是内部命令,解决方法
  5. 【经典回放】JavaScript学习详细干货笔记之(二)
  6. 手把手教你用Python实现“坦克大战”,附详细代码!
  7. DevEco Studio的下载
  8. body-parser和multer
  9. HarmonyOS — Button按钮
  10. 【图片、字符画互转】字符画实现(JAVA)
  11. OFDM子载波正交特性matlab,OFDM的正交性(转)
  12. linux vi 替换
  13. (全)Docker安装+人脸比对算法服务(win10)
  14. html实现微信扫一扫,JS 实现微信扫一扫功能
  15. 共射级放大电路—密勒电容影响下的压摆率
  16. 360随身WiFi在没有网络的情况下打开热点
  17. 乖离率背离公式_乖离率指标——BIAS
  18. 如何用油猴解析VIP视频
  19. 散列表查找 (15 分)
  20. 利用malloc函数分配二维数组

热门文章

  1. UIKit框架-高级控件Swift版本: 2.UITableView方法/属性详解
  2. Eclipse开发JSP页面,xhtml页面卡死的解决方法
  3. 实现随着 下拉菜单中 选中值的变化 周边的值也也跟着变化。(使用【 VLOOKUP 】 函数)
  4. 【EDAS问题】轻量级EDAS部署hsf服务出现找不到类的解决方案
  5. TCP粘包和拆包的定义,产生的原因以及解决方案
  6. .Net 站点跨域问题及解决方法
  7. 1. jenkins常见错误及解决方法
  8. webview重新加载(reload)或者发起 redirect request导致js和objc代码之间的bridge失联解决方案(亲测有效)
  9. 80端口未被占用,无法启动wamp的解决方法(原创)
  10. 域账户登录时提示“你的账户配置不允许使用这台电脑。请试一下其他电脑” 解决方案