C语言可以编手机游戏. 你叫他去死 不过我这有 贪吃蛇的代码,你倒可以看看 (用TC 编译一定过)

#include

#include

#include

#include

#include

#define Enter 7181

#define ESC 283

#define UP 18432

#define DOWN 20480

#define LEFT 19200

#define RIGHT 19712

#ifdef __cplusplus

#define __CPPARGS ...

#else

#define __CPPARGS

#endif

void interrupt (*oldhandler)(__CPPARGS);

void interrupt newhandler(__CPPARGS);

void SetTimer(void interrupt (*IntProc)(__CPPARGS));

void KillTimer(void);

void Initgra(void);

void TheFirstBlock(void);

void DrawMap(void);

void Initsnake(void);

void Initfood(void);

void Snake_Headmv(void);

void Flag(int,int,int,int);

void GameOver(void);

void Snake_Bodymv(void);

void Snake_Bodyadd(void);

void PrntScore(void);

void Timer(void);

void Win(void);

void TheSecondBlock(void);

void Food(void);

void Dsnkorfd(int,int,int);

void Delay(int);

struct Snake

{int x;int y;int color;}Snk[12];

struct Food

{int x;int y;int color;}Fd;

int flag1=1,flag2=0,flag3=0,flag4=0,flag5=0,flag6=0,

checkx,checky,num,key=0,Times,Score,Hscore,Snkspeed,TimerCounter,TureorFalse;

char Sco[2],Time[6];

void main()

{ Initgra();

SetTimer(newhandler);

TheFirstBlock();

while(1)

{DrawMap();

Snake_Headmv();

GameOver();

Snake_Bodymv();

Snake_Bodyadd();

PrntScore();

Timer();

Win();

if(key==ESC)

break;

if(key==Enter)

{cleardevice();

TheFirstBlock();

}

TheSecondBlock();

Food();

Delay(Snkspeed);

}

closegraph();

KillTimer();

}

void interrupt newhandler(__CPPARGS)

{

TimerCounter++;

oldhandler();

}

void SetTimer(void interrupt (*IntProc)(__CPPARGS))

{

oldhandler=getvect(0x1c);

disable();

setvect(0x1c,IntProc);

enable();

}

void KillTimer()

{

disable();

setvect(0x1c,oldhandler);

enable();

}

void Initgra()

{int gd=DETECT,gm;

initgraph(&gd,&gm,"d:\\tc");

}

void TheFirstBlock()

{setcolor(11);

settextstyle(0,0,4);

outtextxy(100,220,"The First Block");

loop:key=bioskey(0);

if(key==Enter)

{cleardevice();

Initsnake();

Initfood();

Score=0;

Hscore=1;

Snkspeed=10;

num=2;

Times=0;

key=0;

TureorFalse=1;

TimerCounter=0;

Time[0]='0';Time[1]='0';Time[2]=':';Time[3]='1';Time[4]='0';Time[5]='\0';

}

else if(key==ESC) cleardevice();

else goto loop;

}

void DrawMap()

{line(10,10,470,10);

line(470,10,470,470);

line(470,470,10,470);

line(10,470,10,10);

line(480,20,620,20);

line(620,20,620,460);

line(620,460,480,460);

line(480,460,480,20);

}

void Initsnake()

{randomize();

num=2;

Snk[0].x=random(440);

Snk[0].x=Snk[0].x-Snk[0].x%20+50;

Snk[0].y=random(440);

Snk[0].y=Snk[0].y-Snk[0].y%20+50;

Snk[0].color=4;

Snk[1].x=Snk[0].x;

Snk[1].y=Snk[0].y+20;

Snk[1].color=4;

}

void Initfood()

{randomize();

Fd.x=random(440);

Fd.x=Fd.x-Fd.x%20+30;

Fd.y=random(440);

Fd.y=Fd.y-Fd.y%20+30;

Fd.color=random(14)+1;

}

void Snake_Headmv()

{if(bioskey(1))

{key=bioskey(0);

switch(key)

{case UP:Flag(1,0,0,0);break;

case DOWN:Flag(0,1,0,0);break;

case LEFT:Flag(0,0,1,0);break;

case RIGHT:Flag(0,0,0,1);break;

default:break;

}

}

if(flag1)

{checkx=Snk[0].x;

checky=Snk[0].y;

Dsnkorfd(Snk[0].x,Snk[0].y,0);

Snk[0].y-=20;

Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);

}

if(flag2)

{checkx=Snk[0].x;

checky=Snk[0].y;

Dsnkorfd(Snk[0].x,Snk[0].y,0);

Snk[0].y+=20;

Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);

}

if(flag3)

{checkx=Snk[0].x;

checky=Snk[0].y;

Dsnkorfd(Snk[0].x,Snk[0].y,0);

Snk[0].x-=20;

Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);

}

if(flag4)

{checkx=Snk[0].x;

checky=Snk[0].y;

Dsnkorfd(Snk[0].x,Snk[0].y,0);

Snk[0].x+=20;

Dsnkorfd(Snk[0].x,Snk[0].y,Snk[0].color);

}

}

void Flag(int a,int b,int c,int d)

{flag1=a;flag2=b;flag3=c;flag4=d;}

void GameOver()

{int i;

if(Snk[0].x<20||Snk[0].x>460||Snk[0].y<20||Snk[0].y>460)

{cleardevice();

setcolor(11);

settextstyle(0,0,4);

outtextxy(160,220,"Game Over");

loop1:key=bioskey(0);

if(key==Enter)

{cleardevice();

TheFirstBlock();

}

else

if(key==ESC)

cleardevice();

else

goto loop1;

}

for(i=3;i

{if(Snk[0].x==Snk[i].x&&Snk[0].y==Snk[i].y)

{cleardevice();

setcolor(11);

settextstyle(0,0,4);

outtextxy(160,220,"Game Over");

loop2:key=bioskey(0);

if(key==Enter)

{cleardevice();

TheFirstBlock();

}

else

if(key==ESC)

cleardevice();

else goto loop2;

}

}

}

void Snake_Bodymv()

{int i,s,t;

for(i=1;i

{Dsnkorfd(checkx,checky,Snk[i].color);

Dsnkorfd(Snk[i].x,Snk[i].y,0);

s=Snk[i].x;

t=Snk[i].y;

Snk[i].x=checkx;

Snk[i].y=checky;

checkx=s;

checky=t;

}

}

void Food()

{if(flag5)

{randomize();

Fd.x=random(440);

Fd.x=Fd.x-Fd.x%20+30;

Fd.y=random(440);

Fd.y=Fd.y-Fd.y%20+30;

Fd.color=random(14)+1;

flag5=0;

}

Dsnkorfd(Fd.x,Fd.y,Fd.color);

}

void Snake_Bodyadd()

{if(Snk[0].x==Fd.x&&Snk[0].y==Fd.y)

{if(Snk[num-1].x>Snk[num-2].x)

{num++;

Snk[num-1].x=Snk[num-2].x+20;

Snk[num-1].y=Snk[num-2].y;

Snk[num-1].color=Fd.color;

}

else

if(Snk[num-1].x

{num++;

Snk[num-1].x=Snk[num-2].x-20;

Snk[num-1].y=Snk[num-2].y;

Snk[num-1].color=Fd.color;

}

else

if(Snk[num-1].y>Snk[num-2].y)

{num++;

Snk[num-1].x=Snk[num-2].x;

Snk[num-1].y=Snk[num-2].y+20;

Snk[num-1].color=Fd.color;

}

else

if(Snk[num-1].y

{num++;

Snk[num-1].x=Snk[num-2].x;

Snk[num-1].y=Snk[num-2].y-20;

Snk[num-1].color=Fd.color;

}

flag5=1;

Score++;

}

}

void PrntScore()

{if(Hscore!=Score)

{setcolor(11);

settextstyle(0,0,3);

outtextxy(490,100,"SCORE");

setcolor(2);

setfillstyle(1,0);

rectangle(520,140,580,180);

floodfill(530,145,2);

Sco[0]=(char)(Score+48);

Sco[1]='\0';

Hscore=Score;

setcolor(4);

settextstyle(0,0,3);

outtextxy(540,150,Sco);

}

}

void Timer()

{if(TimerCounter>18)

{Time[4]=(char)(Time[4]-1);

if(Time[4]

{Time[4]='9';

Time[3]=(char)(Time[3]-1);

}

if(Time[3]

{Time[3]='5';

Time[1]=(char)(Time[1]-1);

}

if(TureorFalse)

{setcolor(11);

settextstyle(0,0,3);

outtextxy(490,240,"TIMER");

setcolor(2);

setfillstyle(1,0);

rectangle(490,280,610,320);

floodfill(530,300,2);

setcolor(11);

settextstyle(0,0,3);

outtextxy(495,290,Time);

TureorFalse=0;

}

if(Time[1]=='0'&&Time[3]=='0'&&Time[4]=='0')

{setcolor(11);

settextstyle(0,0,4);

outtextxy(160,220,"Game Over");

loop:key=bioskey(0);

if(key==Enter)

{cleardevice();

TheFirstBlock();

}

else if(key==ESC) cleardevice();

else goto loop;

}

TimerCounter=0;

TureorFalse=1;

}

}

void Win()

{if(Score==3)

Times++;

if(Times==2)

{cleardevice();

setcolor(11);

settextstyle(0,0,4);

outtextxy(160,220,"You Win");

loop:key=bioskey(0);

if(key==Enter)

{cleardevice();

TheFirstBlock();

key=0;

}

else if(key==ESC) cleardevice();

else goto loop;

}

}

void TheSecondBlock()

{if(Score==3)

{cleardevice();

setcolor(11);

settextstyle(0,0,4);

outtextxy(100,220,"The Second Block");

loop:key=bioskey(0);

if(key==Enter)

{cleardevice();

Initsnake();

Initfood();

Score=0;

Hscore=1;

Snkspeed=8;

num=2;

key=0;

}

else if(key==ESC) cleardevice();

else goto loop;

}

}

void Dsnkorfd(int x,int y,int color)

{setcolor(color);

setfillstyle(1,color);

circle(x,y,10);

floodfill(x,y,color);

}

void Delay(int times)

{int i;

for(i=1;i<=times;i++)

delay(15000);

}

取消

评论

c语言能做安卓游戏吗,c语言能编写手机游戏吗?相关推荐

  1. 40套各种风格游戏行业网站html5模板wap手机游戏资讯网站模板游戏动漫设计公司html模板游戏公司网站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响应

    40套各种风格游戏行业网站html5模板wap手机游戏资讯网站模板游戏动漫设计公司html模板游戏公司网站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响应. 不仅仅 ...

  2. 易语言除了做点外挂,易语言还有多少发展前景

    虽然表面上易语言在展示形式上实现了中文编程,但内在实现上还差得很远,很多专业的程序员都觉得易语言就是做了外套.本质上还是传统编程语言内涵,全球编程语言有几百种,真正主流的编程语言也就几十种,真正的编程 ...

  3. 安卓下的c语言ide,C语言编译器IDE安卓版下载-C语言编译器IDE下载v1.7 最新版-腾牛安卓网...

    C语言编译器IDE安卓版下载,一款专业实用的C语言编程工具,C语言编译器IDE帮助更多小伙伴们创建C语言项目,进行高效便捷的代码编辑,有需要就来下载. C语言编译器IDE介绍 C语言编译器IDE,是一 ...

  4. tcgames无需安卓模拟器,刺激战场电脑玩手机游戏怎么设置高清流畅不卡顿?

    tcgames电脑玩手机游戏助手是一款无需安卓模拟器也可以在电脑上鼠标键盘操作手游的软件!只要设置好了可以达到在电脑上玩手机游戏高清流畅不卡顿的效果,并且可以匹配手游服玩家.但是很多游戏玩家不知道怎么 ...

  5. 手机游戏可以投屏吗?手机游戏怎么投屏到电脑?

    随着科技的不断发展,如今家家户户都有智能手机和电脑,人人都用智能手机,那么如何把手机或者平板的屏幕投屏到电脑上呢?其实很简单,首先我们得有一款投屏软件,比如说迅捷录屏大师,就非常的不错,下面小编便来分 ...

  6. Java游戏里面的星球大战_星球大战手机游戏-JAVA程序算法

    内容简介: 毕业设计 星球大战手机游戏-JAVA程序算法,共18页,9196字 摘 要 近年来,随着各种不同设备,尤其是移动通信设备的飞速发展诞生了一项新的开发技术-J2ME.它定位在消费性电子产品的 ...

  7. python编的俄罗斯方块游戏_Python使用pygame模块编写俄罗斯方块游戏的代码实例

    文章先介绍了关于俄罗斯方块游戏的几个术语. 边框--由10*20个空格组成,方块就落在这里面. 盒子--组成方块的其中小方块,是组成方块的基本单元. 方块--从边框顶掉下的东西,游戏者可以翻转和改变位 ...

  8. 手机打开游戏显示无法连接服务器,玩手机游戏提示无法连接服务器

    玩手机游戏提示无法连接服务器 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 安 ...

  9. 手机计算机的游戏怎么玩,电脑玩手机游戏,教您电脑怎么玩手机游戏

    有时小伙伴在使用电脑时想玩手机游戏或者软件,令人遗憾的是,那些游戏只能在手机系统里玩,不能够在我们的电脑里直接玩的,都知道电脑玩起来可比手机方便多了,可是手机游戏怎么在电脑上玩?下面,小编就来跟大家分 ...

最新文章

  1. html中legend设置大小,HTML_如何给 legend 标签设定宽度,我们在做表单的时候经常会使 - phpStudy...
  2. 一年月份大小月口诀_有关12个月份的顺口溜
  3. ValueError: Variable rnn/basic_rnn_cell/kernel already exists, disallowed. Did you mean to set reuse
  4. Android外设存储设备的访问及测试
  5. Microtransactions
  6. MySQL的环境变量配置详细步骤
  7. leetcode585. 2016年的投资(SQL)
  8. MongoDB:SpringBoot有关@Document(collection = )与@Document(collation= )注解的区别
  9. html文件内容搜索,html读出文本文件内容
  10. android 巧用资源文件(不断积累)
  11. Drools 文档(目录)
  12. 软件测试的功能测试和性能测试,大型软件的功能测试流程及性能测试流程
  13. python输出完全平方数_Python: 打印完全平方数
  14. 老毛桃u盘装系统linux,老毛桃U盘装系统教程详细步骤
  15. 钉钉审批流API接口
  16. 使用C#压缩/解压缩7-zip文件
  17. exchange 网页无法连接服务器,exchange2016 无法连接服务器
  18. CaysnPrinter开发包接口说明文档及打印示例程序 - 20160715
  19. ipad键盘使用快捷键_每个iPad使用者都应该知道的20个键盘快捷键
  20. 2022-2028全球可观察性解决方案套件软件行业调研及趋势分析报告

热门文章

  1. 微信小程序自定义输入仿咸鱼发布
  2. Linux桌面版实现复制,Linux-No.05 scp实现不同电脑间进行文件复制
  3. 指针进阶·八道笔试题(四)
  4. Matplotlib学习笔记(三)
  5. 盖雅招聘联合Moka开启招聘新模式
  6. c语言hook微信dll,Hook微信 - 拦截新消息函数,获取消息内容
  7. 大d是什么梗_黑社会2粤语-请问粤语中“大D”是啥意思?黑社会2里有一 – 手机爱问...
  8. 简黑时钟 AClock 2.8 中文版 ,一款全屏翻页时钟/倒计时/番茄钟
  9. 组队学习-free_excel-知识点和作业汇总
  10. 带你打造一套 APM 监控系统(一)