yellow 游戏攻略

yellow 游戏攻略

yellow游戏全关卡50关怎么过 yellow全关卡通关攻略

合金装甲使得擎天在5秒内将会获得一定的伤害减免并反馈所有敌方造成的伤害(60%),神秘商店“求打脸”。

反甲有木有,这就是开着大在那边怒吼着擎天,生命值越高站得越久的话反伤就越多:西方阵营前排防御型英雄 获取途径,魔神抽卡 擎天技能详情。

因此,将其中的百分比伤害返还至对方:合金装甲 擎天开启装甲时对周围单位照成伤害:钻抽卡!减免自身受到的伤害同时…

yellow游戏第43关怎么过 第43关通关技巧介

左边是放置,4右1左,5右1左。

所以按右左右右左右右右左右右右右左右右右右右左右右右右右右左这样的顺序,其实就是点右边就会向右移动一个。

懂了可以打乱,不会的就1右1左,下面小编为大家带来第43关通关技巧介绍,2右1左,3右1左,懂得了规律就很简单。

许多玩家都不知道怎么点,6右1左。

是不是很简单yellow游戏第43关怎么过很多玩家不知道43关怎么过…

防御阵型的游戏攻略

这个游戏没有命令输入的控制平台,也没有聊天平台,直接盲打输入,类似于GTA系列 (提醒,一旦使用秘籍游戏娱乐性全无,直接在游戏中输入 包括“=”号)=dnamuse 增加100,000资源=chezanator 干掉在地图中的所有异形=kristalithan 干掉所有夺得能量核的异形=indesilvermoon 异形无法捡得返回的能量核=jeanmarie 打开或关闭异形夺取能量核的能力=enzyme 解开所有等级 成就及达成方法 1.救援权限(SALVAGE RIGHTS):至少杀死一个boss级入侵者。

这个成就一定会在第3关远古研究中获得,因为这一关第一次出现boss级入侵者。

2.区域晋级(FIELD PROMOTION):至少获得一个银牌 只要你获得一个银牌就行,我好像见过全部是金牌后也会有这个成就。

3.祸从天降(DEATH FROM ABOVE):使用轨道激光射击 轨道激光最初是在第8关瞩目焦点中出现,从此开始可以获得此成就。

4.塔防专家(TOWER EXPERT):建造所有的塔并升级 这个成就是每个塔都至少建造一个,然后升级就会获得此成就。

5.完美胜利(FLAWLESS VICTORY):至少获得一个金牌6.基地保卫(BASE DEFENDER):完成单人战役 打完所有关卡的故事模式就可以7.星球保卫(PLANET DEFENDER STORY):在单人战役的所有任务中都获得银牌 故事模式的所有关卡至少是银牌8.斩草除根(EXTERMINATOR):杀死1000个入侵者9.入侵之泪(ALIEN TEARS):在单人战役中所有的任务都是金牌 故事模式的所有关卡都是金牌10.阻断狂潮(SIEGE BREAKER):在无限挑战地图上扛过99次敌潮 只要你完成一次磨练就可以获得成就11.战略大师(MASTER STATEGIST):包括挑战模式都获得金牌 这个成就是要完成所有模式才可以获得此成就,包括故事、故事挑战、限制资源挑战、单一能量核、磨练、限制塔、练习所有模式12.钉死仇敌(NAIL BITER):保证最后一个能量核离地图出口有至少10秒远的情况下赢得战役13.犹豫不决(INDECISIVE):一个任务内出售10个塔14.无可触碰(UNTOUCHABLE):零能量核丢失条件下完成高级任务15.千钧一发(CLOSE CALL):保证能量核离地图出口至少有10秒远 在入侵者将要把能量核带出出口时打死它才叫千钧一发16.欢迎回归(HAPPY RETURNS):收回一个失散的能量核17.接力比赛(RELAY RACE):20秒内10次传递 在第18关单一能量核模式,在入口建好机枪,按F就行了18.优良投资(WELL INVESTED):一个任务中获得10000资源 当你在一个关卡内的资源超过10000时就可以获得,不是最后的分数。

19.建塔能手(POWER BUILDER):10秒内建6个塔20.悠悠长路(THE LONG ROAD):入侵者从进入直到退出超过10分钟 建议在第20关最后一击中建设最远绕行路线获得成就。

21.非卖物品(NO SALE):无塔出售22.嗨!是我的!(HEY!THIS’S MINE!):杀死一个带能量核的入侵者23.各种各样(DIVERSITY):一个任务里所有塔都建造了24.完全建造(FULL HOUSE):一个任务里所有建筑都升级了 在一个任务中,把你建造的所有塔都升级为3级,然后完成这个关卡就能获得此成就。

25.第一滴血(FIREST BLOOD):杀死一个入侵者26.斩草除根(100)(ERADICATOR):杀死100个入侵者27.歼灭狂人(ANNIHILATOR):杀死10000个入侵者28.星际居异(XENOCIDE):杀死50000个入侵者29.剩余物资(SURPLUS):赢得1000资源30.吝啬发家(PENNY PINCHER):赢得5000资源31.富可敌国(FILTHY RICH):赢得10000资源32.资产清理(LIQUIDATOR):售出5个塔 是累计售出5个塔,不是一个关卡内售出5个塔,回档也算。

33.我是间谍(I SPY):激活侦察34.领袖人物(LEADHEAD):建立5座机枪塔35.烧吧烧吧(BURN BABY BURN):建立5座火焰塔36.闪吧闪吧(PEW PEW):建立5座激光塔37.慢点慢点(NOT SO FAST):建立5座时空塔38.超大火球(GREAT BALL OF FIRE):建立5座远程火炮塔39.高压电线(HIGH VOLTAGE):建立5座磁暴塔40.轰隆隆隆!(KABOOM):建立5座加农炮41.敌意天空(THE NOT-SO-FRIENDLY SKIES):建立5座导弹塔42.监督进程(OVERSEER):建立5座控制塔43.头脑震荡(HEAD TRAUMA):建立5座冲击塔44.疯狂机枪(GUN CRAZY):只使用机枪塔在1项高级任务中获胜45.纵火狂人(FIREBUG):只使用火焰塔在1项高级任务中获胜46.冲击弹药(SHELL-SHOCKED):只使用加农炮在1项高级任务中获胜47.最低要求(MINIMLIST):只使用第一等级塔在1项高级任务中获胜48.全部潜能(FULL POTENTIAL):在用第三等级塔且没有出售的情况下,在高级任务中获胜49.黄比绿好(YELLOW BEATS GREEN):升级一座塔50.那是什么?(WHAT IS THAT):监察10个入侵者51.自信满满(CONFIDENT):在任意任务中使用加速控制总计达30秒52.再来一次(RETRY):重新载入一个较早的记录点53.神枪射手(SHARPSHOOTER):击落飞行入侵者54.苦战而胜(PYRRHIC VICTORU):击落携带能量核的入侵者55.新兵训练(BOOT CAMP):完成前…

dna2小游戏攻略

女孩1:Tomoko Saeki 生日在November 21 Hip:87(4.1版89) waist:56 breast:88 身高163cm 体重 45kg (4.1版47kg) 血型AB 电话866-656-7354 就读学校Fukoma High 父亲的职所ecophbia 最爱的歌曲Blurry Eyes 喜欢的颜色red,blue,black,pink 喜欢的电影KungFu Fighters 最cool的车carrera GT EXP值为达成游戏目的的重要指标 要遇到她就要到学校去 最初只能ASK她的名字 exp达 20后.就能得知她的名字(LV.New friend) 开始可以送礼搏取好感 exp达 65后.就能问到她的电话(LV.Good friend) 开始可以打电话 exp达 350后.就能跟她约会(LV.Close friend) 开始可以於三个地点约会 exp达1500后.就能到她家去玩(LV.Grilfriend) 开始可以玩something exp达6000后.就能要求与她H(LV.Lover) 女孩2:Kotomi takanash 生日在Aug29 Hip:83 waist:53 breast:84 身高155cm 体重 43kg 血型O 电话866-731-8410 就读学校Fukoma High 父亲的职所Miscom 最爱的歌曲You And Me Song 喜欢的颜色black,red,brown,yellow 喜欢的电影Titanic 最爱的食物noodle 最cool的车360 speder EXP值为达成游戏目的的重要指标 (最终游戏目的为#### her) 要遇到她就要到学校去 最初只能ASK她的名字 exp达 20后.就能得知她的名字(LV.New friend) 开始可以送礼搏取好感 exp达 65后.就能问到她的电话(LV.Good friend) 开始可以打电话 exp达 350后.就能跟她约会(LV.Close friend) 开始可以於三个地点约会 exp达1500后.就能到她家去玩(LV.Grilfriend) 开始可以玩something exp达6000后.就能要求与她H(LV.Lover) 《物品》 *礼物* flower:可得到约5点exp Teddy Bear:可得到约30点exp Necklace:可得到约150点exp *约会用品* coffee:T约会中"闭目"的话就给她 Handkerchief:约会中"流泪"的话就给她 Medicine:约会中"青脸"的话就给她 《约会》 (*有上述异常状态要先解除) 1.首先要在ASK中回答她所有的问题(要全对) 她的表情会渐渐高兴起来 2.送礼物给她 3.帮她拍照 4.Kiss她(要记得第一次kiss的日期是Day) 5.Leave(得到6片拼图的一片) 6.1/2机率会出现歹徒,滑鼠指头再按Q,就/滑鼠指身再按A,佢/滑鼠指下体再按Z,就打到佢 《工作vs能力值》 能力Max值皆为200 Strength:当毒贩或击败歹徒时很有用 Knowledge:当教师打工时悠关薪水 Charm:谈话术可以让她在言谈中爱上你 工作有三种 Drug Dealer:当毒贩薪资为Strength值x5.0 (若被抓会被关一星期,可以按滑鼠右click,按play就可以逃过一难) Tutor:当教师薪资为Knowledge值x2.0 Salesman:推销员薪资为Charm值x1.5 在自己名字处打testbug就会有$99999 并且各项能力有170值之高 但是看不到结局4.1中,有一个存档屋,里面的美女会要你一些东西【与女孩约会而得】1\3本杂志2\3个饰品3\一个资料器4\3个特定物品:1游泳冠军的奖杯[特定日子] 2拳王的腰带 3某天与Tomoko在商场碰面后过一段剧情得到[坏的],找学校的美女老师修,至少十天,再交给那个存档屋的美女,就可以XXOO了,100天时与作者打,血厚且会消失,多备回复平【注册名推荐用testbug】

《疯狂猜歌》有多少首歌曲?游戏攻略 歌曲答案 秘籍

这是一个成功的贪吃蛇代码(c语言编写的),希望你能看懂!慢慢看:#define N 200#include #include #include #define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011bint i,key;int score=0;/*得分*/int gamespeed=50000;/*游戏速度自己调整*/struct Food{ int x;/*食物的横坐标*/ int y;/*食物的纵坐标*/ int yes;/*判断是否要出现食物的变量*/}food;/*食物的结构体*/struct Snake{ int x[N]; int y[N]; int node;/*蛇的节数*/ int direction;/*蛇移动方向*/ int life;/* 蛇的生命,0活着,1死亡*/}snake;void Init(void);/*图形驱动*/void Close(void);/*图形结束*/void DrawK(void);/*开始画面*/void GameOver(void);/*结束游戏*/void GamePlay(void);/*玩游戏具体过程*/void PrScore(void);/*输出成绩*//*主函数*/void main(void){ Init();/*图形驱动*/ DrawK();/*开始画面*/ GamePlay();/*玩游戏具体过程*/ Close();/*图形结束*/}/*图形驱动*/void Init(void){ int gd=DETECT,gm; initgraph(&gd,&gm,"c:\\tc"); cleardevice();}/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/void DrawK(void){/*setbkcolor(LIGHTGREEN);*/ setcolor(11); setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ for(i=50;i { rectangle(i,40,i+10,49); /*上边*/ rectangle(i,451,i+10,460);/*下边*/ } for(i=40;i { rectangle(50,i,59,i+10); /*左边*/ rectangle(601,i,610,i+10);/*右边*/ }}/*玩游戏具体过程*/void GamePlay(void){ randomize();/*随机数发生器*/ 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) { case 1:snake.x[0]+=10;break; case 2: snake.x[0]-=10;break; case 3: snake.y[0]-=10;break; case 4: snake.y[0]+=10;break; } for(i=3;i { if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0]) { GameOver();/*显示失败*/ snake.life=1; break; } } if(snake.x[0]595||snake.y[0] snake.y[0]>455)/*蛇是否撞到墙壁*/ { GameOver();/*本次游戏结束*/ snake.life=1; /*蛇死*/ } if(snake.life==1)/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/ break; if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/ { setcolor(0);/*把画面上的食物东西去掉*/ rectangle(food.x,food.y,food.x+10,food.y-10); snake.x[snake.node]=-20;snake.y[snake.node]=-20; /*新的一节先放在看不见的位置,下次循环就取前一节的位置*/ snake.node++;/*蛇的身体长一节*/ food.yes=1;/*画面上需要出现新的食物*/ score+=10; PrScore();/*输出新得分*/ } setcolor(4);/*画出蛇*/ for(i=0;i rectangle(snake.x[i],snake.y[i],snake.x[i]+10, snake.y[i]-10); delay(gamespeed); setcolor(0);/*用黑色去除蛇的的最后一节*/ rectangle(snake.x[snake.node-1],snake.y[snake.node-1], snake.x[snake.node-1]+10,snake.y[snake.node-1]-10); } /*endwhile(!kbhit)*/ if(snake.life==1)/*如果蛇死就跳出循环*/ break; key=bioskey(0);/*接收按键*/ if(key==ESC)/*按ESC键退出*/ break; else if(key==UP&&snake.direction!=4)/*判断是否往相反的方向移动*/ snake.direction=3; else if(key==RIGHT&&snake.direction!=2) snake.direction=1; else if(key==LEFT&&snake.direction!=1) snake.direction=2; else if(key==DOWN&&snake.direction!=3) snake.direction=4; }/*endwhile(1)*/}/*游戏结束*/void GameOver(void){ cleardevice(); PrScore(); setcolor(RED); settextstyle(0,0,4); outtextxy(200,200,"GAME OVER"); getch();}/*输出成绩*/void PrScore(void){ char str[10]; setfillstyle(SOLID_FILL,YELLOW); bar(50,15,220,35); setcolor(6); settextstyle(0,0,2); sprintf(str,"score:%d",score); outtextxy(55,20,str);}/*图形结束*/void Close(void){ getch(); closegraph();}

求一个用C语言编写的小游戏代码

#include #include #include /////////////////////////////////////////////// 定义常量、枚举量、结构体、全局变量/////////////////////////////////////////////#define WIDTH 10 // 游戏区宽度#define HEIGHT 22 // 游戏区高度#define SIZE 20 // 每个游戏区单位的实际像素// 定义操作类型enum CMD{ CMD_ROTATE, // 方块旋转 CMD_LEFT, CMD_RIGHT, CMD_DOWN, // 方块左、右、下移动 CMD_SINK, // 方块沉底 CMD_QUIT // 退出游戏};// 定义绘制方块的方法enum DRAW{ SHOW, // 显示方块 HIDE, // 隐藏方块 FIX // 固定方块};// 定义七种俄罗斯方块struct BLOCK{ WORD dir[4]; // 方块的四个旋转状态 COLORREF color; // 方块的颜色} g_Blocks[7] = { {0x0F00, 0x4444, 0x0F00, 0x4444, RED}, // I {0x0660, 0x0660, 0x0660, 0x0660, BLUE}, // 口 {0x4460, 0x02E0, 0x0622, 0x0740, MAGENTA}, // L {0x2260, 0x0E20, 0x0644, 0x0470, YELLOW}, // 反L {0x0C60, 0x2640, 0x0C60, 0x2640, CYAN}, // Z {0x0360, 0x4620, 0x0360, 0x4620, GREEN}, // 反Z {0x4E00, 0x4C40, 0x0E40, 0x4640, BROWN}}; // T// 定义当前方块、下一个方块的信息struct BLOCKINFO{ byte id; // 方块 ID char x, y; // 方块在游戏区中的坐标 byte dir:2; // 方向} g_CurBlock, g_NextBlock;// 定义游戏区BYTE g_World[WIDTH][HEIGHT] = {0};/////////////////////////////////////////////// 函数声明/////////////////////////////////////////////void Init(); // 初始化游戏void Quit(); // 退出游戏void NewGame(); // 开始新游戏void GameOver(); // 结束游戏CMD GetCmd(); // 获取控制命令void DispatchCmd(CMD _cmd); // 分发控制命令void NewBlock(); // 生成新的方块bool CheckBlock(BLOCKINFO _block); // 检测指定方块是否可以放下void DrawBlock(BLOCKINFO _block, DRAW _draw = SHOW); // 画方块void OnRotate(); // 旋转方块void OnLeft(); // 左移方块void OnRight(); // 右移方块void OnDown(); // 下移方块void OnSink(); // 沉底方块/////////////////////////////////////////////// 函数定义/////////////////////////////////////////////// 主函数void main(){ Init(); CMD c; while(true) { c = GetCmd(); DispatchCmd(c); // 按退出时,显示对话框咨询用户是否退出 if (c == CMD_QUIT) { HWND wnd = GetHWnd(); if (MessageBox(wnd, _T("您要退出游戏吗?"), _T("提醒"), MB_OKCANCEL | MB_ICONQUESTION) == IDOK) Quit(); } }}// 初始化游戏void Init(){ initgraph(640, 480); srand((unsigned)time(NULL)); // 显示操作说明 setfont(14, 0, _T("宋体")); outtextxy(20, 330, _T("操作说明")); outtextxy(20, 350, _T("上:旋转")); outtextxy(20, 370, _T("左:左移")); outtextxy(20, 390, _T("右:右移")); outtextxy(20, 410, _T("下:下移")); outtextxy(20, 430, _T("空格:沉底")); outtextxy(20, 450, _T("ESC:退出")); // 设置坐标原点 setorigin(220, 20); // 绘制游戏区边界 rectangle(-1, -1, WIDTH * SIZE, HEIGHT * SIZE); rectangle((WIDTH + 1) * SIZE – 1, -1, (WIDTH + 5) * SIZE, 4 * SIZE); // 开始新游戏 NewGame();}// 退出游戏void Quit(){ closegraph(); exit(0);}// 开始新游戏void NewGame(){ // 清空游戏区 setfillstyle(BLACK); bar(0, 0, WIDTH * SIZE – 1, HEIGHT * SIZE – 1); ZeroMemory(g_World, WIDTH * HEIGHT); // 生成下一个方块 g_NextBlock.id = rand() % 7; g_NextBlock.dir = rand() % 4; g_NextBlock.x = WIDTH + 1; g_NextBlock.y = HEIGHT – 1; // 获取新方块 NewBlock();}// 结束游戏void GameOver(){ HWND wnd = GetHWnd(); if (MessageBox(wnd, _T("游戏结束。

\n您想重新来一局吗?"), _T("游戏结束"), MB_YESNO | MB_ICONQUESTION) == IDYES) NewGame(); else Quit();}// 获取控制命令DWORD m_oldtime;CMD GetCmd(){ // 获取控制值 while(true) { // 如果超时,自动下落一格 DWORD newtime = GetTickCount(); if (newtime – m_oldtime >= 500) { m_oldtime = newtime; return CMD_DOWN; } // 如果有按键,返回按键对应的功能 if (kbhit()) { switch(getch()) { case ‘w’: case ‘W’: return CMD_ROTATE; case ‘a’: case ‘A’: return CMD_LEFT; case ‘d’: case ‘D’: return CMD_RIGHT; case ‘s’: case ‘S’: return CMD_DOWN; case 27: return CMD_QUIT; case ‘ ‘: return CMD_SINK; case 0: case 0xE0: switch(getch()) { case 72: return CMD_ROTATE; case 75: return CMD_LEFT; case 77: return CMD_RIGHT; case 80: return CMD_DOWN; } } } // 延时 (降低 CPU 占用率) Sleep(20); }}// 分发控制命令void DispatchCmd(CMD _cmd){ switch(_cmd) { case CMD_ROTATE: OnRotate(); break; case CMD_LEFT: OnLeft(); break; case CMD_RIGHT: OnRight(); break; case CMD_DOWN: OnDown(); break; case CMD_SINK: OnSink(); break; case CMD_QUIT: br…

好123中,小游戏的飞越疯人院的攻略

矮子最先从其所在房的门下楼,到了之后,从左边的滕爬下去,在桌上拿一张条子,之后在从藤爬回原屋,在爬进管道,至顶层,到第二个管道,点USE条子,其会掉到高个房内,点高个,捡条,USE条,记住电话号码,到洗手间,拿手机,USE它拨记的号,一个医生会去接电话,大胖到此医生原来的房间拿斧,在到矮子最先的房间,用花砸死阳台上的医生,USE斧辟门,之后推开所有箱9除一层的),到册所拉开管道口,矮子先回到其房,在从此管道爬上去,在丢绳,从绳爬下,在桌上拿珠子,回去DROP让高个检,让他去同一层离狗近的房打狗,在让矮子到狗屋内拿BLUE KEY,并打开二层铁门,高个在用珠开铁扎,拿磁盘,到一层用珠打电线,到二层给黑盒通电,麻死医生,断电,旁桌有YELLOW KEY,矮子拿了从有磁盘屋爬一层,开二门,大胖去推箱,高个开一门,三人同出门过关。

求C语言小游戏源程序

我的楼主可以自己玩一下 试试吧 #define N 200 #include #include #include #define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b int i,key; int score=0;/*得分*/ int gamespeed=50000;/*游戏速度自己调整*/ struct Food { int x;/*食物的横坐标*/ int y;/*食物的纵坐标*/ int yes;/*判断是否要出现食物的变量*/ }food;/*食物的结构体*/ struct Snake { int x[N]; int y[N]; int node;/*蛇的节数*/ int direction;/*蛇移动方向*/ int life;/* 蛇的生命,0活着,1死亡*/ }snake; void Init(void);/*图形驱动*/ void Close(void);/*图形结束*/ void DrawK(void);/*开始画面*/ void GameOver(void);/*结束游戏*/ void GamePlay(void);/*玩游戏具体过程*/ void PrScore(void);/*输出成绩*/ /*主函数*/ void main(void) { Init();/*图形驱动*/ DrawK();/*开始画面*/ GamePlay();/*玩游戏具体过程*/ Close();/*图形结束*/ } /*图形驱动*/ void Init(void) { int gd=DETECT,gm; initgraph(&gd,&gm,"c:\\tc"); cleardevice(); } /*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/ void DrawK(void) { /*setbkcolor(LIGHTGREEN);*/ setcolor(11); setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ for(i=50;i { rectangle(i,40,i+10,49); /*上边*/ rectangle(i,451,i+10,460);/*下边*/ } for(i=40;i { rectangle(50,i,59,i+10); /*左边*/ rectangle(601,i,610,i+10);/*右边*/ } } /*玩游戏具体过程*/ void GamePlay(void) { randomize();/*随机数发生器*/ 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) { case 1:snake.x[0]+=10;break; case 2: snake.x[0]-=10;break; case 3: snake.y[0]-=10;break; case 4: snake.y[0]+=10;break; } for(i=3;i { if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0]) { GameOver();/*显示失败*/ snake.life=1; break; } } if(snake.x[0]595||snake.y[0] snake.y[0]>455)/*蛇是否撞到墙壁*/ { GameOver();/*本次游戏结束*/ snake.life=1; /*蛇死*/ } if(snake.life==1)/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/ break; if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/ { setcolor(0);/*把画面上的食物东西去掉*/ rectangle(food.x,food.y,food.x+10,food.y-10); snake.x[snake.node]=-20;snake.y[snake.node]=-20; /*新的一节先放在看不见的位置,下次循环就取前一节的位置*/ snake.node++;/*蛇的身体长一节*/ food.yes=1;/*画面上需要出现新的食物*/ score+=10; PrScore();/*输出新得分*/ } setcolor(4);/*画出蛇*/ for(i=0;i rectangle(snake.x[i],snake.y[i],snake.x[i]+10, snake.y[i]-10); delay(gamespeed); setcolor(0);/*用黑色去除蛇的的最后一节*/ rectangle(snake.x[snake.node-1],snake.y[snake.node-1], snake.x[snake.node-1]+10,snake.y[snake.node-1]-10); } /*endwhile(!kbhit)*/ if(snake.life==1)/*如果蛇死就跳出循环*/ break; key=bioskey(0);/*接收按键*/ if(key==ESC)/*按ESC键退出*/ break; else if(key==UP&&snake.direction!=4) /*判断是否往相反的方向移动*/ snake.direction=3; else if(key==RIGHT&&snake.direction!=2) snake.direction=1; else if(key==LEFT&&snake.direction!=1) snake.direction=2; else if(key==DOWN&&snake.direction!=3) snake.direction=4; }/*endwhile(1)*/ } /*游戏结束*/ void GameOver(void) { cleardevice(); PrScore(); setcolor(RED); settextstyle(0,0,4); outtextxy(200,200,"GAME OVER"); getch(); } /*输出成绩*/ void PrScore(void) { char str[10]; setfillstyle(SOLID_FILL,YELLOW); bar(50,15,220,35); setcolor(6); settextstyle(0,0,2); sprintf(str,"score:%d",score); outtextxy(55,20,str); } /*图形结束*/ void Close(void) { getch(); closegraph(); }

970797游戏攻略网 » yellow 游戏攻略

赞 (0)