/*
1.显示背景
2.显示静止的马里奥
3.移动的马里奥
4.让背景随马里奥的移动而移动
5.显示障碍物
6.增加马里奥d与障碍物的判断
7.增加野怪
8.增加背景音乐
9.完善代码*/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include<graphics.h>
#include <math.h>
#pragma comment(lib,"Winmm.lib")#define High 504  // 游戏画面尺寸
#define Width 1024
#define rwHigh 131
#define rwWidth 134  //人物像素
#define gsHigh 128
#define gsWidth 128  //怪兽尺寸int i;
int ksjm;//
float bj_x;   //IMAGE img_ks;//IMAGE img_bk,img_human1,img_human2;     //定义背景,人物
float human_x,human_y;   //定义人物的坐标
float x,y;//
float jiao_y;//定义脚的坐标
int left_i,right_i;    //定义左右移动动画序号
int picture_x,picture_y;  //绘制图像的位置
int sfkt;//
int sfkz;//
int ydfx; //
int sfkcz;//IMAGE img_pd1,img_pd2;  //struct ptzgt    //
{float pt_x,pt_y;float pd_x,pd_y;
};ptzgt zpt[3];  //
float ptzjbl[3]; //float G;  //定义重力
float tgz,pdtg,tgjl;  //跳高值,判断跳高,跳高纪录struct gs
{float gs_x,gs_y;    //怪兽坐标float gssj_x,gssj_y; //怪兽的实际坐标int gspicture_x,gspicture_y;  //绘制怪兽图像的位置};
gs num[5];    //怪兽数目
int gsleft_i,gsright_i;  //定义怪兽左右移动的序号
int gsydfw;  //怪兽移动范围
int gsydfx;  //怪兽移动方向
int gsydjl;  //怪兽移动纪录
IMAGE img_gs1,img_gs2;  //怪兽图像
float t[5];   //
int number[5];  //float time;//时间
float sjc;//
float sjjg;//
float score;//实际分数struct kd  //空地
{float qs_x,zd_x;
};
kd n[9];struct zc  //
{float qs_x,zd_x;float high;//
};
zc pt[3];   //
zc zk[4];   //
zc mk[3];   //
zc sk[9];   //
zc xsg[3];  //
int zkc;//struct zaw
{float z_x,y_x;  //float high;//
};
zaw za[13];struct ftqy  //
{float qs_x,zd_x;//float high;//float xlhigh;//int zjcs;//
};
ftqy fmk[4];
ftqy fzk[4];int gameStatus = 0; //
void startMenu();
void show();
void startup();
void updateWithoutInput();
void updateWithInput();void startMenu() //
{putimage(0,0,&img_ks); //setbkmode(TRANSPARENT);settextcolor(BLACK);settextstyle(50,0, _T("∫⁄ÃÂ"));outtextxy(Width*0.3, High*0.2, "1 –¬”Œœ∑");outtextxy(Width*0.3, High*0.3, "2 Ω· ¯”Œœ∑");settextcolor(RED);settextstyle(30,0, _T(""));outtextxy(Width*0.25, High*0.6, "");outtextxy(Width*0.25, High*0.65, "");outtextxy(Width*0.25, High*0.7, "");FlushBatchDraw();Sleep(2);char input;if(kbhit())  //{input = getch();  //if (input == '1') gameStatus = 1;else if (input == '2'){//readRecordFile();gameStatus = 2;exit(0);}}
}void startup() //数据初始化
{sfkcz=1;sjjg=0.02;human_x=0;human_y=0;x=human_x;y=human_y;jiao_y=y+rwHigh/2;left_i=0;right_i=0;bj_x=0;picture_x=0;picture_y=0;//zpt[0].pt_x=815;zpt[0].pt_y=360;zpt[0].pd_x=zpt[0].pt_x;zpt[0].pd_y=zpt[0].pt_y;ptzjbl[0]=0;zpt[1].pt_x=1200;zpt[1].pt_y=255;zpt[1].pd_x=1024;zpt[1].pd_y=zpt[1].pt_y;ptzjbl[1]=zpt[1].pt_x-1024;zpt[2].pt_x=5905;zpt[2].pt_y=360;zpt[2].pd_x=1024;zpt[2].pd_y=zpt[2].pt_y;ptzjbl[2]=zpt[2].pt_x-1024;time = 300;score=0;G=7;tgz=200;pdtg=0;tgjl=0;sfkt=0;zkc=50;num[0].gs_y=319;  //num[0].gs_x=444;num[0].gspicture_x=0;num[0].gspicture_y=128;num[0].gssj_x=num[0].gs_x;num[0].gssj_y=num[0].gs_y;num[1].gs_y=319;num[1].gs_x=1024;num[1].gspicture_x=0;num[1].gspicture_y=128;num[1].gssj_x=2000;num[1].gssj_y=num[0].gs_y;num[2].gs_y=319;num[2].gs_x=1024;num[2].gspicture_x=0;num[2].gspicture_y=128;num[2].gssj_x=3000;num[2].gssj_y=num[0].gs_y;num[3].gs_y=177;num[3].gs_x=1024;num[3].gspicture_x=0;num[3].gspicture_y=128;num[3].gssj_x=3200;num[3].gssj_y=162;num[4].gs_y=319;num[4].gs_x=1024;num[4].gspicture_x=0;num[4].gspicture_y=128;num[4].gssj_x=5200;num[4].gssj_y=num[0].gs_y;t[0]=0;t[1]=num[1].gssj_x-1024;;//t[2]=num[2].gssj_x-1024-80;t[3]=num[3].gssj_x-1024+200;t[4]=num[4].gssj_x-1024;for(int i=1;i<=4;i++)number[i]=0;gsleft_i=0;  //gsright_i=0;gsydfw=200;  //gsydfx=0;gsydjl=0;//n[0].qs_x=2158;n[0].zd_x=2257;n[1].qs_x=2630;n[1].zd_x=2689;n[2].qs_x=2775;n[2].zd_x=2784;n[3].qs_x=6220;n[3].zd_x=6240;n[4].qs_x=6845;n[4].zd_x=6865;n[5].qs_x=8238;n[5].zd_x=8258;n[6].qs_x=8476;n[6].zd_x=8553;n[7].qs_x=9053;n[7].zd_x=9215;n[8].qs_x=9484;n[8].zd_x=9852;//pt[0].qs_x=786;pt[0].zd_x=pt[0].qs_x+50;pt[0].high=289;pt[1].qs_x=1060;pt[1].zd_x=pt[1].qs_x+50;pt[1].high=329;pt[2].qs_x=1200;pt[2].zd_x=pt[2].qs_x+50;pt[2].high=252;//zk[0].qs_x=975;zk[0].zd_x=zk[0].qs_x+zkc;zk[0].high=330;zk[1].qs_x=1390;zk[1].zd_x=zk[1].qs_x+zkc*3;zk[1].high=330;zk[2].qs_x=5900;zk[2].zd_x=zk[2].qs_x+zkc*9;zk[2].high=290;zk[3].qs_x=8110;zk[3].zd_x=zk[3].qs_x+zkc*7;zk[3].high=290;//mk[0].qs_x=2880;mk[0].zd_x=mk[0].qs_x+zkc*10;mk[0].high=145;mk[1].qs_x=3260;mk[1].zd_x=mk[1].qs_x+zkc*8;mk[1].high=290;mk[2].qs_x=6815;mk[2].zd_x=mk[2].qs_x+zkc;mk[2].high=360;//sk[0].qs_x=3020;sk[0].zd_x=sk[0].qs_x+zkc;sk[0].high=325;    sk[1].qs_x=3645;sk[1].zd_x=sk[1].qs_x+zkc;sk[1].high=250;sk[2].qs_x=7485;sk[2].zd_x=sk[2].qs_x+zkc*13;sk[2].high=325;sk[3].qs_x=8975;sk[3].zd_x=sk[3].qs_x+zkc+10;sk[3].high=290;sk[4].qs_x=9120;sk[4].zd_x=sk[4].qs_x+zkc;sk[4].high=250;sk[5].qs_x=9310;sk[5].zd_x=sk[5].qs_x+zkc;sk[5].high=250;sk[6].qs_x=9410;sk[6].zd_x=sk[6].qs_x+zkc;sk[6].high=395;sk[7].qs_x=9455;sk[7].zd_x=sk[7].qs_x+zkc*2;sk[7].high=145;sk[8].qs_x=9885;sk[8].zd_x=sk[8].qs_x+zkc;sk[8].high=395;//xsg[0].qs_x=5615;xsg[0].zd_x=5710;xsg[0].high=250;xsg[1].qs_x=8255;xsg[1].zd_x=8445;xsg[1].high=436;xsg[2].qs_x=8590;xsg[2].zd_x=8690;xsg[2].high=360;//za[0].z_x=820;za[0].y_x=860;za[0].high=290;za[1].z_x=1060;za[1].y_x=1100;za[1].high=330;za[2].z_x=1200;za[2].y_x=1245;za[2].high=260;za[3].z_x=3020;za[3].y_x=3070;za[3].high=325;za[4].z_x=3645;za[4].y_x=3695;za[4].high=255;za[5].z_x=5620;za[5].y_x=5710;za[5].high=250;za[6].z_x=8110;za[6].y_x=8110;za[6].high=290;za[7].z_x=8635;za[7].y_x=8685;za[7].high=360;za[8].z_x=5900;za[8].y_x=6040;za[8].high=360;za[9].z_x=6285;za[9].y_x=6335;za[9].high=395;za[10].z_x=8975;za[10].y_x=9025;za[10].high=285;za[11].z_x=9405;za[11].y_x=9455;za[11].high=400;za[12].z_x=9895;za[12].y_x=9935;za[12].high=400;//fmk[0].qs_x=mk[1].qs_x-zkc;fmk[0].zd_x=mk[1].zd_x;fmk[0].high=325;fmk[0].xlhigh=371;fmk[1].qs_x=mk[0].qs_x-zkc;fmk[1].zd_x=mk[0].zd_x-zkc;fmk[1].high=180;fmk[1].xlhigh=220;fmk[2].qs_x=sk[2].qs_x-zkc;fmk[2].zd_x=sk[2].zd_x-zkc;fmk[2].high=355;fmk[2].xlhigh=371;fmk[3].qs_x=sk[5].qs_x-zkc;fmk[3].zd_x=sk[5].zd_x-zkc;fmk[3].high=285;fmk[3].xlhigh=371;//fzk[0].qs_x=zk[0].qs_x-zkc;fzk[0].zd_x=zk[0].zd_x-zkc;fzk[0].high=360;fzk[0].xlhigh=371;fzk[1].qs_x=zk[1].qs_x-zkc;fzk[1].zd_x=zk[1].zd_x-zkc;fzk[1].high=360;fzk[1].xlhigh=371;fzk[2].qs_x=zk[2].qs_x-zkc;fzk[2].zd_x=zk[2].zd_x-zkc;fzk[2].high=320;fzk[2].xlhigh=371;fzk[3].qs_x=zk[3].qs_x-zkc;fzk[3].zd_x=zk[3].zd_x-zkc;fzk[3].high=320;fzk[3].xlhigh=371;for(i=0;i<4;i++)fzk[i].zjcs=0;mciSendString("open bj.mp3 alias bkmusic", NULL, 0, NULL);   //mciSendString("play bkmusic repeat", NULL, 0, NULL);    //initgraph(Width, High);loadimage(&img_human2,".\\超级马里奥.jpg");loadimage(&img_bk,".\\背景.jpg");loadimage(&img_human1,".\\马里奥掩码图.jpg");loadimage(&img_pd2,".\\.jpg");loadimage(&img_pd1,".\\.jpg");loadimage(&img_gs1,".\\怪兽.jpg");loadimage(&img_gs2,".\\怪兽掩码图.jpg");loadimage(&img_ks,".\\.jpg");BeginBatchDraw();while(gameStatus==0)startMenu();}void show()  //
{putimage(0,0,Width,High,&img_bk,bj_x,0);putimage(human_x,human_y,rwWidth/2,rwHigh/2,&img_human1,picture_x,picture_y,NOTSRCERASE);putimage(human_x,human_y,rwWidth/2,rwHigh/2,&img_human2,picture_x,picture_y,SRCINVERT);//putimage(num[0].gs_x,num[0].gs_y,gsWidth,gsHigh,&img_gs1,num[0].gspicture_x,num[0].gspicture_y,NOTSRCERASE);putimage(num[0].gs_x,num[0].gs_y,gsWidth,gsHigh,&img_gs2,num[0].gspicture_x,num[0].gspicture_y,SRCINVERT);//if(num[1].gssj_x-x<512){putimage(num[1].gs_x,num[1].gs_y,gsWidth,gsHigh,&img_gs1,num[1].gspicture_x,num[1].gspicture_y,NOTSRCERASE);putimage(num[1].gs_x,num[1].gs_y,gsWidth,gsHigh,&img_gs2,num[1].gspicture_x,num[1].gspicture_y,SRCINVERT);}if(num[2].gssj_x-x<512){putimage(num[2].gs_x,num[2].gs_y,gsWidth,gsHigh,&img_gs1,num[2].gspicture_x,num[2].gspicture_y,NOTSRCERASE);putimage(num[2].gs_x,num[2].gs_y,gsWidth,gsHigh,&img_gs2,num[2].gspicture_x,num[2].gspicture_y,SRCINVERT);}if(num[3].gssj_x-x<512){putimage(num[3].gs_x,num[3].gs_y,gsWidth,gsHigh,&img_gs1,num[3].gspicture_x,num[3].gspicture_y,NOTSRCERASE);putimage(num[3].gs_x,num[3].gs_y,gsWidth,gsHigh,&img_gs2,num[3].gspicture_x,num[3].gspicture_y,SRCINVERT);}if(num[4].gssj_x-x<512){putimage(num[4].gs_x,num[4].gs_y,gsWidth,gsHigh,&img_gs1,num[4].gspicture_x,num[4].gspicture_y,NOTSRCERASE);putimage(num[4].gs_x,num[4].gs_y,gsWidth,gsHigh,&img_gs2,num[4].gspicture_x,num[4].gspicture_y,SRCINVERT);}putimage(zpt[0].pd_x,zpt[0].pd_y,94,81,&img_pd1,0,0,NOTSRCERASE);putimage(zpt[0].pd_x,zpt[0].pd_y,94,81,&img_pd2,0,0,SRCINVERT);if(zpt[1].pt_x-x<512){putimage(zpt[1].pd_x,zpt[1].pd_y,94,81,&img_pd1,0,0,NOTSRCERASE);putimage(zpt[1].pd_x,zpt[1].pd_y,94,81,&img_pd2,0,0,SRCINVERT);}if(zpt[2].pt_x-x<512){putimage(zpt[2].pd_x,zpt[2].pd_y,94,81,&img_pd1,0,0,NOTSRCERASE);putimage(zpt[2].pd_x,zpt[2].pd_y,94,81,&img_pd2,0,0,SRCINVERT);}/*settextcolor(YELLOW);settextstyle(16, 0, "");char s[50];sprintf(s, "x=%f y=%f", x,y );outtextxy(10, 10, s);settextcolor(YELLOW);settextstyle(16, 0, "");char s1[50];sprintf(s1, "jiao_y=%f", jiao_y);outtextxy(10, 30, s1);*/settextcolor(YELLOW);settextstyle(32, 0, "");char s4[50];sprintf(s4, "time=%f", time);outtextxy(300, 10, s4);settextcolor(YELLOW);settextstyle(32, 0, "");char s5[50];sprintf(s5, "score=%.8f", score);outtextxy(700, 10, s5);FlushBatchDraw();}void updateWithoutInput()  //
{time-=sjjg;sfkt=0;sfkz=1;if(jiao_y>555){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close swmusic", NULL, 0, NULL);mciSendString("open À¿Õˆ.mp3 alias swmusic", NULL, 0, NULL);mciSendString("play swmusic", NULL, 0, NULL);   //system("pause");exit(0);}//if(pdtg==0&&jiao_y<436)  //{human_y+=G;y+=G;jiao_y+=G;}if(pdtg==1){human_y-=G*2;y-=G*2;jiao_y-=G*2;tgjl+=G*2;if(tgjl>=tgz){pdtg=0;tgjl=0;}}//if(x+67>=n[0].qs_x+5&&x+67<=n[0].zd_x+20||human_y>391)  //{if(pdtg==0){human_y+=G;y+=G;jiao_y+=G;}}if(x+67>=n[1].qs_x&&x+67<=n[1].zd_x+20||human_y>391)  //{if(pdtg==0){human_y+=G;y+=G;jiao_y+=G;}}if(x+67>=n[2].qs_x&&x+67<=n[2].zd_x+20||human_y>391)  //{if(pdtg==0){human_y+=G;y+=G;jiao_y+=G;}}if(x+67>=n[3].qs_x&&x+67<=n[3].zd_x+20&&jiao_y>300||human_y>391)  //{if(pdtg==0){human_y+=G;y+=G;jiao_y+=G;}}if(x+67>=n[4].qs_x&&x+67<=n[4].zd_x+20&&jiao_y>375||human_y>391)  //{if(pdtg==0){human_y+=G;y+=G;jiao_y+=G;if(pdtg==0){human_y+=G;y+=G;jiao_y+=G;}}if((x+67>=n[7].qs_x&&x+67<=n[7].qs_x+90)||(x+67>=n[7].qs_x+140&&x+67<=n[7].zd_x-10)||(x+67>=n[7].qs_x+90&&x+67<=n[7].qs_x+140&&jiao_y>=275))  //{if(pdtg==0){human_y+=G;y+=G;jiao_y+=G;}}if((x+67>=n[8].qs_x+100&&x+67<=n[8].zd_x-20)||(x+67>=n[8].qs_x&&x+67<=n[8].qs_x+100&&jiao_y>160) ) //{if(pdtg==0){human_y+=G/3;y+=G/3;jiao_y+=G/3;}}if (right_i == 1)right_i = -1;if (left_i == 1)left_i = -1;//if(zpt[0].pd_x>-300){zpt[0].pd_x-=6;zpt[0].pd_x-=bj_x-ptzjbl[0];ptzjbl[0]=bj_x;}if(zpt[1].pt_x-x<=512){zpt[1].pd_x-=6;zpt[1].pd_x-=bj_x-ptzjbl[1];ptzjbl[1]=bj_x;if(zpt[1].pd_x<-300)zpt[1].pd_x=-300;}if(zpt[2].pt_x-x<=512){zpt[2].pd_x-=6;zpt[2].pd_x-=bj_x-ptzjbl[2];ptzjbl[2]=bj_x;if(zpt[2].pd_x<-300)zpt[2].pd_x=-300;}for(i=0;i<3;i++){if((abs(human_x+rwWidth/4-zpt[i].pd_x)<=5)&&(abs(human_y-zpt[i].pd_y)<=40)){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close swmusic", NULL, 0, NULL);mciSendString("open .mp3 alias swmusic", NULL, 0, NULL);mciSendString("play swmusic", NULL, 0, NULL);   //system("pause");exit(0);}}//if(x>num[0].gssj_x){num[0].gs_x=num[0].gs_x-(bj_x-t[0]);if(num[0].gs_x<-130){num[0].gs_x=-300;num[0].gssj_x=-300;}t[0]=bj_x;}if(num[1].gssj_x-x<512){num[1].gs_x=num[1].gs_x-(bj_x-t[1]);if(num[1].gs_x<-100){num[1].gs_x=-300;num[1].gssj_x=-130;}t[1]=bj_x;}if(num[2].gssj_x-x<512){num[2].gs_x=num[2].gs_x-(bj_x-t[2]);if(num[2].gs_x<-100){num[2].gs_x=-300;num[2].gssj_x=-130;}t[2]=bj_x;}if(num[3].gssj_x-x<512){num[3].gs_x=num[3].gs_x-(bj_x-t[3]);if(num[3].gs_x<-100){num[3].gs_x=-300;num[3].gssj_x=-130;}t[3]=bj_x;}if(num[4].gssj_x-x<512){num[4].gs_x=num[4].gs_x-(bj_x-t[4]);if(num[4].gs_x<-100){num[4].gs_x=-300;num[4].gssj_x=-130;}t[4]=bj_x;}if(gsydfx==0){gsleft_i++;num[0].gs_x-=2;num[0].gssj_x-=2;num[1].gs_x-=2;num[1].gssj_x-=2;num[2].gs_x-=2;num[2].gssj_x-=2;num[3].gs_x-=2;num[3].gssj_x-=2;num[4].gs_x-=2;num[4].gssj_x-=2;gsydjl+=2;if(gsydjl==gsydfw){gsydfx=1;gsydjl=0;gsleft_i=-1;}num[0].gspicture_x=gsleft_i*gsWidth;num[0].gspicture_y=128;num[1].gspicture_x=gsleft_i*gsWidth;num[1].gspicture_y=128;num[2].gspicture_x=gsleft_i*gsWidth;num[2].gspicture_y=128;num[3].gspicture_x=gsleft_i*gsWidth;num[3].gspicture_y=128;num[4].gspicture_x=gsleft_i*gsWidth;num[4].gspicture_y=128;if(gsleft_i==3)gsleft_i=-1;}if(gsydfx==1){gsright_i++;num[0].gs_x+=2;num[0].gssj_x+=2;num[1].gs_x+=2;num[1].gssj_x+=2;num[2].gs_x+=2;num[2].gssj_x+=2;num[3].gs_x+=2;num[3].gssj_x+=2;num[4].gs_x+=2;num[4].gssj_x+=2;gsydjl+=2;num[0].gspicture_x=gsright_i*gsWidth;num[0].gspicture_y=256;num[1].gspicture_x=gsright_i*gsWidth;num[1].gspicture_y=256;num[2].gspicture_x=gsright_i*gsWidth;num[2].gspicture_y=256;num[3].gspicture_x=gsright_i*gsWidth;num[3].gspicture_y=256;num[4].gspicture_x=gsright_i*gsWidth;num[4].gspicture_y=256;if(gsydjl==gsydfw){gsydfx=0;gsydjl=0;gsright_i=-1;}if(gsright_i==3)gsright_i=-1;}//if(x>=pt[0].qs_x&&x<pt[0].zd_x&&jiao_y<=296&&jiao_y>=289){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>=pt[1].qs_x-30&&x<pt[1].zd_x&&jiao_y<=334&&jiao_y>=329){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>=pt[2].qs_x-30&&x<pt[2].zd_x-30&&jiao_y<=275&&jiao_y>=255){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}//if(x>zk[0].qs_x-rwWidth/4&&x<zk[0].zd_x-rwWidth/4&&jiao_y>=325+10&&jiao_y<=335+10){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>zk[1].qs_x-rwWidth/4&&x<zk[1].zd_x-rwWidth/4&&jiao_y>=325+10&&jiao_y<=335+10){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>zk[2].qs_x-rwWidth/4&&x<zk[2].zd_x-rwWidth/4&&jiao_y>=285+10&&jiao_y<=295+10){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>zk[3].qs_x-rwWidth/4&&x<zk[3].zd_x-rwWidth/4&&jiao_y>=285+10&&jiao_y<=295+10){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}//if(x>mk[0].qs_x-rwWidth/4&&x<mk[0].zd_x-rwWidth/4&&jiao_y>=150&&jiao_y<=160){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>mk[1].qs_x-rwWidth/4&&x<mk[1].zd_x-rwWidth/4&&jiao_y>=295&&jiao_y<=305){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>mk[2].qs_x-rwWidth/4&&x<mk[2].zd_x-rwWidth/4&&jiao_y>=365&&jiao_y<=375){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}//if(x>sk[0].qs_x-rwWidth/4&&x<sk[0].zd_x-rwWidth/4&&jiao_y>=sk[0].high+5&&jiao_y<=sk[0].high+15){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>sk[1].qs_x-rwWidth/4&&x<sk[1].zd_x-rwWidth/4&&jiao_y>=sk[1].high+5&&jiao_y<=sk[1].high+15){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>sk[2].qs_x-rwWidth/4&&x<sk[2].zd_x-rwWidth/4&&jiao_y>=sk[2].high+5&&jiao_y<=sk[2].high+15){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>sk[3].qs_x-rwWidth/4&&x<sk[3].zd_x-rwWidth/4&&jiao_y>=sk[3].high+5&&jiao_y<=sk[3].high+15){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>sk[4].qs_x-rwWidth/4&&x<sk[4].zd_x-rwWidth/4&&jiao_y>=sk[4].high+5&&jiao_y<=sk[4].high+15){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>sk[5].qs_x-rwWidth/4&&x<sk[5].zd_x-rwWidth/4&&jiao_y>=sk[5].high+5&&jiao_y<=sk[5].high+15){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>sk[6].qs_x-rwWidth/4&&x<sk[6].zd_x-rwWidth/4&&jiao_y>=sk[6].high+5&&jiao_y<=sk[6].high+15){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>sk[7].qs_x-rwWidth/4&&x<sk[7].zd_x-rwWidth/4&&jiao_y>=sk[7].high+5&&jiao_y<=sk[7].high+15){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>sk[8].qs_x-rwWidth/4&&x<sk[8].zd_x-rwWidth/4&&jiao_y>=sk[8].high+5&&jiao_y<=sk[8].high+15){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}//if(x>xsg[0].qs_x-rwWidth/4&&x<xsg[0].zd_x-rwWidth/4&&jiao_y>=xsg[0].high+5&&jiao_y<=xsg[0].high+15){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}if(x>xsg[2].qs_x-rwWidth/4&&x<xsg[2].zd_x-rwWidth/4&&jiao_y>=xsg[2].high+5&&jiao_y<=xsg[2].high+15){sfkt=1;pdtg=0;human_y-=G;y-=G;jiao_y-=G;}////if(ydfx==1){if(x>=za[0].z_x-rwWidth/2&&x<=za[0].z_x-rwWidth/2+5&&jiao_y>za[0].high+10)sfkz=0;if(x>=za[1].z_x-rwWidth/2&&x<=za[1].z_x-rwWidth/2+5&&jiao_y>za[1].high+10)sfkz=0;if(x>=za[2].z_x-rwWidth/2&&x<=za[2].z_x-rwWidth/2+5&&jiao_y>za[2].high+10)sfkz=0;if(x>=za[3].z_x-rwWidth/2&&x<=za[3].z_x-rwWidth/2+5&&jiao_y>za[3].high+10)sfkz=0;if(x>=za[4].z_x-rwWidth/2&&x<=za[4].z_x-rwWidth/2+5&&jiao_y>za[4].high+10&&jiao_y<za[4].high+70)sfkz=0;else if(x>=za[4].z_x-rwWidth/2&&x<=za[4].z_x-rwWidth/2+5&&jiao_y>400)                             //sfkz=1;if(x>=za[5].z_x-rwWidth/2&&x<=za[5].z_x-rwWidth/2+5&&jiao_y>za[5].high+10)sfkz=0;if(x>=za[6].z_x-rwWidth/2&&x<=za[6].z_x-rwWidth/2+5&&jiao_y>za[6].high+10&&jiao_y<za[4].high+70)sfkz=0;else if(x>=za[6].z_x-rwWidth/2&&x<=za[6].z_x-rwWidth/2+5&&jiao_y>400)                             //sfkz=1;if(x>=za[7].z_x-rwWidth/2&&x<=za[7].z_x-rwWidth/2+5&&jiao_y>za[7].high+10)sfkz=0;if(x>=za[8].z_x-rwWidth/2&&x<=za[8].z_x-rwWidth/2+5&&jiao_y>za[8].high+10)sfkz=0;if(x>=za[9].z_x-rwWidth/2&&x<=za[9].z_x-rwWidth/2+5&&jiao_y>za[9].high+10)sfkz=0;if(x>=za[10].z_x-rwWidth/2&&x<=za[10].z_x-rwWidth/2+5&&jiao_y>za[10].high+10)sfkz=0;if(x>=za[11].z_x-rwWidth/2+10&&x<=za[11].z_x-rwWidth/2+15&&jiao_y>za[11].high+10)sfkz=0;if(x>=za[12].z_x-rwWidth/2&&x<=za[12].z_x-rwWidth/2+5&&jiao_y>za[12].high+10)sfkz=0;}//if(ydfx==0){if(x>=za[0].y_x-5&&x<za[0].y_x&&jiao_y>za[0].high+10)sfkz=0;if(x>=za[1].y_x-5&&x<za[1].y_x&&jiao_y>za[1].high+10)sfkz=0;if(x>=za[2].y_x-5&&x<za[2].y_x&&jiao_y>za[2].high+10)sfkz=0;if(x>=za[3].y_x-5&&x<za[3].y_x&&jiao_y>za[3].high+10)sfkz=0;if(x>=za[4].y_x-5&&x<za[4].y_x&&jiao_y>za[4].high+10&&jiao_y<za[4].high+70)sfkz=0;else if(x>=za[4].y_x&&x<=za[4].y_x+5&&jiao_y>400)                             //sfkz=1;if(x>=za[5].y_x-5&&x<za[5].y_x&&jiao_y>za[5].high+10)sfkz=0;if(x>=za[6].y_x-5&&x<za[6].y_x&&jiao_y>za[6].high+10&&jiao_y<za[4].high+70)sfkz=0;else if(x>=za[6].y_x&&x<=za[6].y_x+5&&jiao_y>400)                             //sfkz=1;if(x>=za[7].y_x-5&&x<za[7].y_x&&jiao_y>za[7].high+10)sfkz=0;if(x>=za[8].y_x-5&&x<za[8].y_x&&jiao_y>za[8].high+10)sfkz=0;if(x>=za[9].y_x-5&&x<za[9].y_x&&jiao_y>za[9].high+10)sfkz=0;if(x>=za[10].y_x-5&&x<za[10].y_x&&jiao_y>za[10].high+10)sfkz=0;if(x>=za[11].y_x-5&&x<za[11].y_x&&jiao_y>za[11].high+10)sfkz=0;if(x>=za[12].y_x-5&&x<za[12].y_x&&jiao_y>za[12].high+10)sfkz=0;}//if(x>=fmk[0].qs_x&&x<=fmk[0].zd_x&&human_y>=fmk[0].high-30&&human_y<=fmk[0].high){pdtg=0;human_y=fmk[0].xlhigh;y=fmk[0].xlhigh+65;jiao_y=y;}if(x>=fmk[1].qs_x&&x<=fmk[1].zd_x&&human_y>=fmk[1].high-30&&human_y<=fmk[1].high-10){pdtg=0;human_y=fmk[1].xlhigh;y=fmk[1].xlhigh+65;jiao_y=y;}if(x>=fmk[2].qs_x&&x<=fmk[2].zd_x&&human_y>=fmk[2].high-30&&human_y<=fmk[2].high){pdtg=0;human_y=fmk[2].xlhigh;y=fmk[2].xlhigh+65;jiao_y=y;}if(x>=fmk[3].qs_x&&x<=fmk[3].zd_x&&human_y>=fmk[3].high-30&&human_y<=fmk[3].high){pdtg=0;human_y=fmk[3].xlhigh;y=fmk[3].xlhigh+65;jiao_y=y;}//if(x>=fzk[0].qs_x&&x<=fzk[0].zd_x&&human_y>=fzk[0].high-30&&human_y<=fzk[0].high){pdtg=0;human_y=fzk[0].xlhigh;y=fzk[0].xlhigh+65;jiao_y=y;fzk[0].zjcs++;if(fzk[0].zjcs==1){score+=100;mciSendString("close zkmusic", NULL, 0, NULL);mciSendString("open .mp3 alias zkmusic", NULL, 0, NULL);mciSendString("play zkmusic", NULL, 0, NULL);   //}}if(x>=fzk[1].qs_x&&x<=fzk[1].zd_x&&human_y>=fzk[1].high-30&&human_y<=fzk[1].high){pdtg=0;human_y=fzk[1].xlhigh;y=fzk[1].xlhigh+65;jiao_y=y;fzk[1].zjcs++;if(fzk[1].zjcs==1){score+=100;mciSendString("close zkmusic", NULL, 0, NULL);mciSendString("open .mp3 alias zkmusic", NULL, 0, NULL);mciSendString("play zkmusic", NULL, 0, NULL);   //}}if(x>=fzk[2].qs_x&&x<=fzk[2].zd_x&&human_y>=fzk[2].high-30&&human_y<=fzk[2].high){pdtg=0;human_y=fzk[2].xlhigh;y=fzk[2].xlhigh+65;jiao_y=y;fzk[2].zjcs++;if(fzk[2].zjcs==1){score+=100;mciSendString("close zkmusic", NULL, 0, NULL);mciSendString("open .mp3 alias zkmusic", NULL, 0, NULL);mciSendString("play zkmusic", NULL, 0, NULL);   //}}if(x>=fzk[3].qs_x&&x<=fzk[3].zd_x&&human_y>=fzk[3].high-30&&human_y<=fzk[3].high){pdtg=0;human_y=fzk[3].xlhigh;y=fzk[3].xlhigh+65;jiao_y=y;fzk[3].zjcs++;if(fzk[3].zjcs==1){score+=100;mciSendString("close zkmusic", NULL, 0, NULL);mciSendString("open .mp3 alias zkmusic", NULL, 0, NULL);mciSendString("play zkmusic", NULL, 0, NULL);   //}}//for(i=0;i<5;i++){if(i==3){if(ydfx==1&&gsydfx==1){if(abs(human_x+rwWidth/2-num[i].gs_x-64)<=20&&human_y>300)sfkz=1;else if(abs(human_x+rwWidth/2-num[i].gs_x-64)<=20&&human_y>=num[i].gssj_y){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close swmusic", NULL, 0, NULL);mciSendString("open .mp3 alias swmusic", NULL, 0, NULL);mciSendString("play swmusic", NULL, 0, NULL);   //human_y+=40;y+=40;jiao_y+=40;}}else if(ydfx==1&&gsydfx==0){if(abs(human_x+rwWidth/2-num[i].gs_x-64)<=20&&human_y>300)sfkz=1;else if(abs(human_x+rwWidth/2-num[i].gs_x-64)<=20&&human_y>=num[i].gssj_y){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close swmusic", NULL, 0, NULL);mciSendString("open .mp3 alias swmusic", NULL, 0, NULL);mciSendString("play swmusic", NULL, 0, NULL);   //human_y+=40;y+=40;jiao_y+=40;}}else if(ydfx==0&&gsydfx==1){if(abs(human_x-num[i].gs_x-64)<=20&&human_y>300)sfkz=1;else if(abs(human_x-num[i].gs_x-64)<=20&&human_y>=num[i].gssj_y){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close swmusic", NULL, 0, NULL);mciSendString("open .mp3 alias swmusic", NULL, 0, NULL);mciSendString("play swmusic", NULL, 0, NULL);   //human_y+=40;y+=40;jiao_y+=40;}}else if(ydfx==0&&gsydfx==0){if(abs(human_x-num[i].gs_x-64)<=20&&human_y>300)sfkz=1;else if(abs(human_x-num[i].gs_x-64)<=20&&human_y>=num[i].gssj_y){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close swmusic", NULL, 0, NULL);mciSendString("open .mp3 alias swmusic", NULL, 0, NULL);mciSendString("play swmusic", NULL, 0, NULL);   //human_y+=40;y+=40;jiao_y+=40;}}}else{if(ydfx==1&&gsydfx==1){if(abs(human_x+rwWidth/2-num[i].gs_x-64)<=20&&human_y>=num[i].gssj_y){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close swmusic", NULL, 0, NULL);mciSendString("open .mp3 alias swmusic", NULL, 0, NULL);mciSendString("play swmusic", NULL, 0, NULL);   //human_y+=40;y+=40;jiao_y+=40;}}else if(ydfx==1&&gsydfx==0){if(abs(human_x+rwWidth/2-num[i].gs_x-64)<=20&&human_y>=num[i].gssj_y){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close swmusic", NULL, 0, NULL);mciSendString("open .mp3 alias swmusic", NULL, 0, NULL);mciSendString("play swmusic", NULL, 0, NULL);   //human_y+=40;y+=40;jiao_y+=40;}}else if(ydfx==0&&gsydfx==1){if(abs(human_x-num[i].gs_x-64)<=20&&human_y>=num[i].gssj_y){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close swmusic", NULL, 0, NULL);mciSendString("open .mp3 alias swmusic", NULL, 0, NULL);mciSendString("play swmusic", NULL, 0, NULL);   //human_y+=40;y+=40;jiao_y+=40;}}else if(ydfx==0&&gsydfx==0){if(abs(human_x-num[i].gs_x-64)<=20&&human_y>=num[i].gssj_y){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close swmusic", NULL, 0, NULL);mciSendString("open .mp3 alias swmusic", NULL, 0, NULL);mciSendString("play swmusic", NULL, 0, NULL);   //human_y+=40;y+=40;jiao_y+=40;}}}}if(time<=0&&x<9910){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close swmusic", NULL, 0, NULL);mciSendString("open .mp3 alias swmusic", NULL, 0, NULL);mciSendString("play swmusic", NULL, 0, NULL);   //system("pause");exit(0);}if(x>=9910){mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("close lqmusic", NULL, 0, NULL);mciSendString("open lq.mp3 alias lqmusic", NULL, 0, NULL);mciSendString("play lqmusic", NULL, 0, NULL);   //sjjg=0;sfkcz=0;while(x<10200){human_x+=0.01;x+=0.01;right_i++;picture_x=right_i*rwWidth/2;picture_y=0;if(right_i==1)right_i=-1;}while(time>0){sjc=time;time-=0.1;score+=(sjc-time)*10;}if(time<0)time=0;}}void updateWithInput()  // 与输入有关的更新{if ((GetAsyncKeyState(0x41)&0x8000)&&sfkcz==1) //左移{ydfx=0;left_i++;if(human_x>0&&sfkz==1){human_x-=5;x-=5;}picture_x=left_i*rwWidth/2;picture_y=rwHigh/2;if(left_i==1)left_i=-1;}if ((GetAsyncKeyState(0x44)&0x8000)&&sfkcz==1)  //右移{ydfx=1;right_i++;if(human_x>Width/2&&bj_x<9296&&sfkz==1){bj_x+=5; //大于背景图的一半的时候,背景动x+=5;}else if(human_x<959&&sfkz==1){human_x+=5; //小于背景图的一半的时候,人物动x+=5;}picture_x=right_i*rwWidth/2;picture_y=0;if(right_i==1)right_i=-1;}if((GetAsyncKeyState(VK_SPACE)&0x8000)&&sfkcz==1) {if(pdtg==0&&jiao_y>=436&&human_y<456||pdtg==0&&sfkt==1){pdtg=1;mciSendString("close jpmusic", NULL, 0, NULL);mciSendString("open .mp3 alias jpmusic", NULL, 0, NULL);mciSendString("play jpmusic", NULL, 0, NULL);   //}}}int main(){startup();  //数据初始化while (1) //{show();  //显示画面updateWithoutInput();  //输入无关的更新updateWithInput();  //与输入有关的更新Sleep(10);}return 0;}

超级马里奥(待完善)相关推荐

  1. 用强化学习通关超级马里奥!

    作者 | 肖遥 来源丨Datawhale DQN算法实践之速通超级马里奥 作为强化学习(Reinforce Learning,RL)的初学者,常常想将RL的理论应用于实际环境,以超级马里奥为例,当看着 ...

  2. 【强化学习】用强化学习通关超级马里奥!

    Datawhale干货 作者:肖遥,华中农业大学,Datawhale优秀学习者 DQN算法实践之速通超级马里奥 作为强化学习(Reinforce Learning,RL)的初学者,常常想将RL的理论应 ...

  3. 超级玛丽马里奥版下载_将超级马里奥赋予生命

    超级玛丽马里奥版下载 Have you ever seen a zoetrope? If today's sophisticated computer animation is the latest ...

  4. 游戏感:虚拟感觉的游戏设计师指南——第十五章 超级马里奥64

    这是一本游戏设计方面的好书 转自天:天之虹的博客:http://blog.sina.com.cn/jackiechueng 感谢天之虹的无私奉献 Word版可到本人的资源中下载 第十五章超级马里奥64 ...

  5. 超级玛丽/超级马里奥

    MySuperMario----2D复刻之旅,缅怀童年时光 超级玛丽/超级马里奥 你好!欢迎浏览我的博客!超级玛丽是一款非常经典的2D游戏,今天我将代领大家学习如何从小白开始,用unity一步一步复刻 ...

  6. 【ziuno】强化学习入门—超级马里奥

    强化学习入门-超级马里奥 对象抽取:马里奥.金币.板栗仔(蘑菇怪) 术语 智能体-Agent:马里奥 状态(S或s)-State:当前游戏画面 动作(A或a)-Action:智能体(马里奥)的,左.右 ...

  7. 基于Java的超级马里奥(超级玛丽)游戏的设计与实现

    技术:Java等 摘要: 随着时代的不断变化和发展,计算机互联网产业已经通过各种手段逐渐融入到人们的生活中.来自它的每一个行业都已经成为现代生活中不可或缺的一部分,比如游戏行业. 电子游戏作为现代人生 ...

  8. 计算机毕设之基于Java的超级马里奥游戏设计与实现

    代码+论文下载链接: http://106.55.47.97/host-pictures/java.png 概述 随着时代的不断变化和发展,计算机互联网产业已经通过各种手段逐渐融入到人们的生活中.来自 ...

  9. Java开发的超级马里奥小游戏410 相对简单 功能非常齐全 完整源码

    今天为大家继续分享泡泡堂小游戏的开发与制作 410,目前系统已经完成了初步功能,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步!! 开发环 ...

最新文章

  1. RHEL6基础之八查找、文件内容查看类命令
  2. 数学不好、英语不好、非本专业,想学python数据分析,能安排吗?
  3. mysql 授权用户_MySQL创建用户与授权
  4. 阿里P8大牛亲自教你!史上最全的Android面试题集锦,这原因我服了
  5. 在云服务器上注意GeoServer和ShadowDataMap的跨域设置
  6. java 拦截器_Spring的春天来啦——百战Java课程更新(2019.09.06)
  7. mysql 5.7 数据库备份_MySQL5.7.20数据库备份与恢复
  8. 【elasticsearch】ES生命周期管理
  9. 如果这个世界没有乔布斯和盖茨
  10. mysql 临时表循环_在游标循环中查询临时表可以,但是结束循环后就无法查询了。...
  11. Introduction to Computer Networking学习笔记(十五):End to End Delay 端对端延迟
  12. 中国生产力促进中心”十四五”规划与发展规模分析报告2022~2028年
  13. 【linux】redhat笔记:红帽企业Linux入门与安装
  14. Integrated Electrical Test Vehicle Co-designed with Microfluidics for Evaluating the Performance of
  15. [感动]知道我为什么喜欢SUPER JUNIOR吗?
  16. easyui图片放大功能(取巧)
  17. 远程桌面全屏无法退出
  18. 953. 验证外星语词典( 简单模拟 + 自定义定制排序 )
  19. Pytorch的优化器总结归纳
  20. 对Java建造者模式(Builder)的一点理解

热门文章

  1. python构建聊天机器人之录制声音保存为音频文件(利用pyaudio进行录音)
  2. 垃圾小白羊leetcode刷题记录2
  3. 熵、联和熵与条件熵、交叉熵与相对熵是什么呢?来这里有详细解读!
  4. Tomcat服务器日志输出格式设置
  5. 什么是学习?如何学习?
  6. element导航菜单添加搜索功能
  7. 大前端工程师进阶之路,Node全栈为前端带来更多可能
  8. Lagrange Multiplier Theorem——候选人定理
  9. IDEA 2018.3.6 修改背景图片
  10. MTL TXN REQUEST HEADERS HEADER STATUS or MTL TXN REQUEST LIN