贪吃蛇程序c++贪食蛇程序

贪吃蛇程序  时间:2022-03-02  阅读:()

c++贪食蛇程序

#include<stdio.h> #include<graphics.h> #include<bios.h> #include<stdlib.h> #include<conio.h> #define BC LIGHTBLUE #define FC RED #define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b void drawmat(char *mat,int matsize,int x,int y,int color); void ashui(); void printsnake(int x,int y,int corlor); void moveh(int *x,int *y,char (*p)[30],int dir); void movet(int *tx,int *ty,char (*p)[30]); void food(char (*p)[30]); void main() { int x,y,tx,ty,driver=DETECT,mode,key,key1;char snake[40][30]={0}; initgraph(&driver,&mode,""); ashui(); setcolor(RED); rectangle(80,80,520,420) ; rectangle(100,100,500,400) ; setfillstyle(SOLID_FILL, BC); floodfill(200,200,RED); printsnake(2,15,FC); printsnake(3,15,FC); snake[2][15]=snake[3][15]=1; food(snake); key=RIGHT; x=3;y=15;tx=2;ty=15; for(;;) { if(bioskey(1))key1=bioskey(0); if(key1==ESC)break; if(key1==LEFT&&key!=RIGHT||key1==RIGHT&&key!=LEFT||key1==UP&&key!=DOWN||key1==DOWN&&key!=UP)key=key1; moveh(&x,&y,snake,key); if(snake[x][y]!=5) { movet(&tx,&ty,snake); if(x<0||x>39||y<0||y>29) {printsnake(x,y,0); break; } else if(snake[x][y])break; } else food(snake); delay(10000); } moveto(260,240); outtext("GAME OVER!"); getch(); getch(); } void printsnake(int x,int y,int corlor) { int xx,yy; setfillstyle(SOLID_FILL, corlor); setcolor(corlor); xx=100+10*x+5; yy=100+10*y+5; circle(xx,yy,5); floodfill(xx,yy,corlor); } void moveh(int *x,int *y,char (*p)[30],int dir) { int i,j; i=*x;j=*y; switch(dir) { case RIGHT:p[i][j]=1;(*x)++;break; case UP:p[i][j]=2;(*y)--;break; case LEFT:p[i][j]=3;(*x)--;break; case DOWN:p[i][j]=4;(*y)++;break; } printsnake(*x,*y,FC); } void movet(int *tx,int *ty,char (*p)[30]) { int i,j; i=*tx;j=*ty; printsnake(i,j,BC); switch(p[i][j]) { case 1:(*tx)++;break; case 2:(*ty)--;break; case 3:(*tx)--;break; case 4:(*ty)++;break; } p[i][j]=0; } void food(char (*p)[30]) { int x,y; for(;;) { srand( (unsigned)time(NULL)); x=random(40); y=random(30); if(!p[x][y])break; } printsnake(x,y,WHITE); p[x][y]=5; } void drawmat(char *mat,int matsize,int x,int y,int color) { int i, j, k, n; n = (matsize - 1) / 8 + 1; for(j = 0; j < matsize; j++) for(i = 0; i < n; i++) for(k = 0;k < 8; k++) if(mat[j * n + i] & (0x80 >> k)) putpixel(x + i * 8 + k, y + j, color); } void ashui() { char tan32K[]={ 0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00, 0x00,0x03,0x00,0x00,0x00,0x07,0x00,0x00, 0x00,0x07,0x80,0x00,0x00,0x0C,0x60,0x00, 0x00,0x18,0x30,0x00,0x00,0x38,0x1C,0x00, 0x00,0x73,0x0E,0x00,0x00,0xE1,0x83,0x80, 0x01,0x80,0x01,0xF0,0x03,0x03,0xF0,0xFE, 0x06,0x7E,0x70,0x3E,0x0C,0x00,0xC0,0x00, 0x30,0x00,0x80,0x00,0x40,0x01,0x00,0x00, 0x00,0x43,0xF8,0x00,0x00,0x7C,0x1C,0x00, 0x00,0x60,0x18,0x00,0x00,0x63,0x18,0x00, 0x00,0x63,0x18,0x00,0x00,0x63,0x18,0x00, 0x00,0x62,0x18,0x00,0x00,0x62,0x18,0x00, 0x00,0x46,0x18,0x00,0x00,0x04,0x00,0x00, 0x00,0x0C,0xC0,0x00,0x00,0x18,0x70,0x00, 0x00,0x30,0x38,0x00,0x00,0x60,0x1C,0x00, 0x01,0xC0,0x0C,0x00,0x02,0x00,0x04,0x00, }; char chi32K[]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00, 0x00,0x00,0x70,0x00,0x00,0x00,0x70,0x00, 0x00,0x00,0x60,0x00,0x00,0x00,0xE0,0x00, 0x00,0x00,0xC1,0x80,0x00,0x01,0x9F,0xC0, 0x00,0xC1,0xFE,0x00,0x67,0xE3,0x00,0x00, 0x7C,0xE2,0x00,0x00,0x20,0xC4,0x00,0x00, 0x30,0xC8,0x00,0x00,0x30,0x80,0x38,0x00, 0x30,0x81,0xF8,0x00,0x17,0xC7,0x60,0x00, 0x1E,0x00,0x60,0x00,0x10,0x00,0xC0,0x00, 0x10,0x00,0xC0,0x00,0x00,0x00,0x80,0x08, 0x00,0x01,0x80,0x08,0x00,0x01,0x00,0x08, 0x00,0x01,0x00,0x08,0x00,0x03,0x00,0x18, 0x00,0x01,0x80,0x3C,0x00,0x01,0xFF,0xF8, 0x00,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; char she32K[]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x1C,0x00,0x01,0x80,0x0E,0x00, 0x01,0x80,0x06,0x00,0x01,0x80,0x02,0x00, 0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x70, 0x00,0x80,0x87,0xF8,0x00,0xBC,0xF8,0x30, 0x3F,0xCE,0xC0,0x60,0x18,0x8D,0x80,0x40, 0x18,0x89,0x80,0x00,0x08,0x89,0x30,0x40, 0x08,0xB8,0x10,0x60,0x0B,0xE0,0x10,0xE0, 0x0C,0x80,0x11,0xC0,0x00,0x88,0x13,0x00, 0x00,0x8C,0x1C,0x00,0x00,0x8C,0x10,0x00, 0x00,0xF6,0x30,0x08,0x03,0xC4,0x30,0x08, 0x7F,0x00,0x10,0x08,0x3C,0x00,0x10,0x18, 0x00,0x00,0x18,0x3C,0x00,0x00,0x0F,0xFC, 0x00,0x00,0x03,0xF0,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; char a16S[]={ 0x00,0x00,0x7B,0xFE,0x48,0x08,0x50,0x08, 0x60,0x08,0x53,0xE8,0x4A,0x28,0x4A,0x28, 0x4A,0x28,0x6B,0xE8,0x50,0x08,0x40,0x08, 0x40,0x08,0x40,0x08,0x40,0x28,0x40,0x10, }; char shui16S[]={ 0x01,0x00,0x01,0x00,0x01,0x08,0x01,0x10, 0x7D,0x20,0x05,0xC0,0x05,0x40,0x09,0x20, 0x09,0x20,0x11,0x10,0x11,0x18,0x21,0x0E, 0xC1,0x04,0x01,0x00,0x05,0x00,0x02,0x00, }; char zuo16S[]={ 0x08,0x80,0x0C,0x80,0x09,0x00,0x13,0xFE, 0x12,0x80,0x34,0x88,0x50,0xFC,0x90,0x80, 0x10,0x80,0x10,0x84,0x10,0xFE,0x10,0x80, 0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80, }; char pin16S[]={ 0x00,0x00,0x0F,0xF0,0x08,0x10,0x08,0x10, 0x08,0x10,0x0F,0xF0,0x08,0x10,0x00,0x00, 0x7E,0xFC,0x42,0x84,0x42,0x84,0x42,0x84, 0x42,0x84,0x7E,0xFC,0x42,0x84,0x00,0x00, }; drawmat(tan32K,32,150,180,BLUE); drawmat(chi32K,32,300,180,BLUE); drawmat(she32K,32,450,180,BLUE); drawmat(a16S,16,350,250,RED); drawmat(shui16S,16,370,250,RED); drawmat(zuo16S,16,390,250,RED); drawmat(pin16S,16,410,250,RED); getch(); cleardevice(); }

DiyVM:2G内存/50G硬盘/元起线路香港vps带宽CN2线路,香港VPS五折月付50元起

DiyVM是一家低调国人VPS主机商,成立于2009年,提供的产品包括VPS主机和独立服务器租用等,数据中心包括香港沙田、美国洛杉矶、日本大阪等,VPS主机基于XEN架构,均为国内直连线路,主机支持异地备份与自定义镜像,可提供内网IP。最近,商家对香港机房VPS提供5折优惠码,最低2GB内存起优惠后仅需50元/月。下面就以香港机房为例,分享几款VPS主机配置信息。CPU:2cores内存:2GB硬...

ZoeCloud:香港BGP云服务器,1GB内存/20GB SSD空间/2TB流量/500Mbps/KVM,32元/月

zoecloud怎么样?zoecloud是一家国人商家,5月成立,暂时主要提供香港BGP KVM VPS,线路为AS41378,并有首发永久8折优惠:HKBGP20OFF。目前,解锁香港区 Netflix、Youtube Premium ,但不保证一直解锁,谢绝以不是原生 IP 理由退款。不保证中国大陆连接速度,建议移动中转使用,配合广州移动食用效果更佳。点击进入:zoecloud官方网站地址zo...

古德云香港cn2/美国cn235元/月起, gia云服务器,2核2G,40G系统盘+50G数据盘

古德云(goodkvm)怎么样?古德云是一家成立于2020年的商家,原名(锤子云),古德云主要出售VPS服务器、独立服务器。古德云主打产品是香港cn2弹性云及美西cn2云服务器,采用的是kvm虚拟化构架,硬盘Raid10。目前,古德云香港沙田cn2机房及美国五星级机房云服务器,2核2G,40G系统盘+50G数据盘,仅35元/月起,性价比较高,可以入手!点击进入:古德云goodkvm官方网站地址古德...

贪吃蛇程序为你推荐
飘零网络验证如何在飘零网络验证里面加入成品软件有DLL文件宝安网站制作跪求,深圳宝安网站设计 ?智慧充电桩鑫轩智慧用电的安装方法流动比率计算公式流动比率计算公式中的流动资产和流动负债是用期末数减去期初数后的净值吗?北京移动官网北京移动网上营业厅神州行套餐修改四川大学教务系统四川大学教务处的含义及作用湖北文理学院地址湖北文理学院是哪个街道,邮编号码是多少湖北文理学院地址湖北文理学院怎么样,希望各位前辈指点。中山大学南校区地址中山大学 南校区 在哪里?怎么来黄村地铁站?寻找手机怎么用手机序列号找回手机?
vps是什么 vps侦探 火山主机 host1plus 香港加速器 cpanel 68.168.16.150 ssh帐号 网通服务器ip 服务器托管什么意思 服务器合租 能外链的相册 超级服务器 免费mysql数据库 360云服务 空间登陆首页 外贸空间 带宽租赁 西安服务器托管 512内存 更多