#include<stdio.h>#include <graphics.h> // “˝”√Õº–Œø‚Õ∑Œƒº˛#include <conio.h>#include <windows.h>#include <stdlib.h>int hight=504;int width=1008;int rwhight=131;int rwwidth=134;int holdback[10320][504]={0};//…Ë÷√µÿÕº…œµƒ’œ∞≠ŒÔµƒ∂˛Œ¨ ˝◊Èint red[504][10320];int gllow[504][10320];int blue[504][10320];char i=0;//”√¿¥∂®“¬̿Ô∞¬∑ΩœÚchar j=0;//”√¿¥Ãœ÷¬Ì¿Ô∞¬‘À∂Ø∏–float v=0;//¬Ì¿Ô∞¬µƒ…œ…˝ÀŸ∂»float v1=0;//¬Ì¿Ô∞¬µƒœ¬ΩµÀŸ∂»float rw_x,rw_y;float bj_x;IMAGE img_rw2,img_gw2;//∂®“±≥æ∞£¨»ÀŒÔ£¨π÷ŒÔÕº∆¨µƒ’⁄’÷ÕºIMAGE img_bk,img_rw,img_gw;//∂®“±≥æ∞£¨»ÀŒÔ£¨π÷ŒÔÕº∆¨IMAGE img_redbj;void updatewithpeople();//”Δ√ªß ‰»Î”–πÿµƒ∫Ø ˝void updatewithoutpeople();//”Δ√ªß ‰»ÎŒfiπÿµƒ∫Ø ˝void star();//≥ı ºªØ∫Ø ˝void show();//œ‘ æ∫Ø ˝void gameover();//”Œœ∑Ω· ¯int main(){ star(); while(1) { updatewithpeople(); updatewithoutpeople(); show(); } return 0;}void updatewithpeople(){ int x,x1,y; x=(int)rw_x; x1=(int)bj_x; y=(int)rw_y;//Ω¯––«ø÷∆¿‡–Õ◊™ªª£¨“ÚŒ™ ˝◊È «int–Õif((GetAsyncKeyState(0x41)&0x8000))//œÚ◊Û“∆∂Ø{ if(holdback[x+x1-1][y]==0) { i=0; j=!j; rw_x-=0.5; if(rw_x<0&&bj_x>1) { rw_x=0; bj_x-=0.5; } }}if((GetAsyncKeyState(0x44)&0x8000))//œÚ”““∆∂Ø{ if(holdback[x+x1+66][y]==0) { i=1; j=!j; rw_x+=0.5; if(rw_x>504&&bj_x<10320-1008)//“∆∂صΩ÷–º‰£¨±≥æ∞ø™ º“∆∂Ø { rw_x=504; bj_x+=0.5; } }}if((GetAsyncKeyState(VK_SPACE)&0x8000)){ if(holdback[x+x1+33][y+66]==1)//¬˙◊„¬Ì¿Ô∞¬¬‰µÿ∫Û£¨≤≈ƒ‹Ã¯‘浃Ãıº˛ v=300;}}void updatewithoutpeople()//”ÎÕʺ“Œfiπÿµƒ∫Ø ˝{ int x,x1,y; x=(int)rw_x; x1=(int)bj_x; y=(int)rw_y;//Ω¯––«ø÷∆¿‡–Õ◊™ªª£¨“ÚŒ™ ˝◊È «int–Õ if(v>0) //¬Ì¿Ô∞¬…œ…˝øÿ÷∆ { rw_y-=1; v--; if(rw_y==0)//µΩ¥Ô∂•≤ø£¨Õ£÷π…œ…˝ { v=0; } } if(v<=0&&holdback[x+x1+33][y+66]==0)//¬Ì¿Ô∞¬œ¬Ωµøÿ÷∆ { rw_y+=1; if(rw_y>=500) { gameover(); } }}void star()//≥ı ºªØ∫Ø ˝{ int i,j; int x=0,y;initgraph(width, hight); // ¥¥Ω®ªÊÕº¥∞ø⁄£¨¥Û–°Œ™ 1008x504 œÒÀÿloadimage(&img_bk,_T("C:\\game\\Õº∆¨Àÿ≤ƒ\\±≥æ∞.jpg"));loadimage(&img_rw,_T("C:\\game\\Õº∆¨Àÿ≤ƒ\\¬Ì¿Ô∞¬.jpg"));loadimage(&img_rw2,_T("C:\\game\\Õº∆¨Àÿ≤ƒ\\¬Ì¿Ô∞¬—⁄¬ÎÕº.jpg"));loadimage(&img_gw,_T("C:\\game\\Õº∆¨Àÿ≤ƒ\\“∞π÷2.jpg"));loadimage(&img_gw2,_T("C:\\game\\Õº∆¨Àÿ≤ƒ\\“∞π÷2—⁄¬ÎÕº.jpg"));//≥ı ºªØ¬Ì¿Ô∞¬µƒ◊¯±Írw_x=33;rw_y=300;//≥ı ºªØ’œ∞≠ŒÔ◊¯±Í£¨”√∫Ø ˝Ã·»°Õº∆¨÷–µƒ∫Ï…´«¯”Ú◊¯±Í£¨‘ŸΩ¯––∏≥÷µloadimage(&img_redbj,_T("C:\\game\\Õº∆¨Àÿ≤ƒ\\red±≥æ∞.jpg"));DWORD*pic;pic=GetImageBuffer(&img_redbj);for(i=0;i<504;i++) for(j=0;j<10320;j++) { red[i][j]=GetRValue(pic[x]); gllow[i][j]=GetGValue(pic[x]); blue[i][j]=GetBValue(pic[x]); x++; }for(i=0;i<504;i++) for(j=0;j<10320;j++) { if(red[i][j]==0&&blue[i][j]>=250&&gllow[i][j]==0) { holdback[j][i]=1; } }}void show(){ BeginBatchDraw(); putimage(0,0,width,hight,&img_bk,bj_x,0);// ‰≥ˆ±≥æ∞Õº∆¨ if(i==1) { if(j==0) { putimage(rw_x,rw_y,rwwidth/2,rwhight/2,&img_rw2,0,0,NOTSRCERASE);// ‰≥ˆœÚ”“±fl◊flµƒ¬Ì¿Ô∞¬ putimage(rw_x,rw_y,rwwidth/2,rwhight/2,&img_rw,0,0,SRCINVERT); } else { putimage(rw_x,rw_y,rwwidth/2,rwhight/2,&img_rw2,rwwidth/2,0,NOTSRCERASE);// ‰≥ˆ¬Ì¿Ô∞¬ putimage(rw_x,rw_y,rwwidth/2,rwhight/2,&img_rw,rwwidth/2,0,SRCINVERT); } } else { if(j==0) { putimage(rw_x,rw_y,rwwidth/2,rwhight/2,&img_rw2,0,rwhight/2,NOTSRCERASE);// ‰≥ˆœÚ◊Û◊flµƒ¬Ì¿Ô∞¬ putimage(rw_x,rw_y,rwwidth/2,rwhight/2,&img_rw,0,rwhight/2,SRCINVERT); } else { putimage(rw_x,rw_y,rwwidth/2,rwhight/2,&img_rw2,rwwidth/2,rwhight/2,NOTSRCERASE);// ‰≥ˆ¬Ì¿Ô∞¬ putimage(rw_x,rw_y,rwwidth/2,rwhight/2,&img_rw,rwwidth/2,rwhight/2,SRCINVERT); } } FlushBatchDraw();}void gameover()//Ω· ¯’˚∏ˆ”Œœ∑{ _getch(); // ∞¥»Œ“‚º¸ºÃ–¯ closegraph(); // πÿ±’ªÊÕº¥∞ø⁄ printf("you lose"); Sleep(4000); exit(0);}