超级马里奥(待完善)
/*
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;}
超级马里奥(待完善)相关推荐
- 用强化学习通关超级马里奥!
作者 | 肖遥 来源丨Datawhale DQN算法实践之速通超级马里奥 作为强化学习(Reinforce Learning,RL)的初学者,常常想将RL的理论应用于实际环境,以超级马里奥为例,当看着 ...
- 【强化学习】用强化学习通关超级马里奥!
Datawhale干货 作者:肖遥,华中农业大学,Datawhale优秀学习者 DQN算法实践之速通超级马里奥 作为强化学习(Reinforce Learning,RL)的初学者,常常想将RL的理论应 ...
- 超级玛丽马里奥版下载_将超级马里奥赋予生命
超级玛丽马里奥版下载 Have you ever seen a zoetrope? If today's sophisticated computer animation is the latest ...
- 游戏感:虚拟感觉的游戏设计师指南——第十五章 超级马里奥64
这是一本游戏设计方面的好书 转自天:天之虹的博客:http://blog.sina.com.cn/jackiechueng 感谢天之虹的无私奉献 Word版可到本人的资源中下载 第十五章超级马里奥64 ...
- 超级玛丽/超级马里奥
MySuperMario----2D复刻之旅,缅怀童年时光 超级玛丽/超级马里奥 你好!欢迎浏览我的博客!超级玛丽是一款非常经典的2D游戏,今天我将代领大家学习如何从小白开始,用unity一步一步复刻 ...
- 【ziuno】强化学习入门—超级马里奥
强化学习入门-超级马里奥 对象抽取:马里奥.金币.板栗仔(蘑菇怪) 术语 智能体-Agent:马里奥 状态(S或s)-State:当前游戏画面 动作(A或a)-Action:智能体(马里奥)的,左.右 ...
- 基于Java的超级马里奥(超级玛丽)游戏的设计与实现
技术:Java等 摘要: 随着时代的不断变化和发展,计算机互联网产业已经通过各种手段逐渐融入到人们的生活中.来自它的每一个行业都已经成为现代生活中不可或缺的一部分,比如游戏行业. 电子游戏作为现代人生 ...
- 计算机毕设之基于Java的超级马里奥游戏设计与实现
代码+论文下载链接: http://106.55.47.97/host-pictures/java.png 概述 随着时代的不断变化和发展,计算机互联网产业已经通过各种手段逐渐融入到人们的生活中.来自 ...
- Java开发的超级马里奥小游戏410 相对简单 功能非常齐全 完整源码
今天为大家继续分享泡泡堂小游戏的开发与制作 410,目前系统已经完成了初步功能,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步!! 开发环 ...
最新文章
- RHEL6基础之八查找、文件内容查看类命令
- 数学不好、英语不好、非本专业,想学python数据分析,能安排吗?
- mysql 授权用户_MySQL创建用户与授权
- 阿里P8大牛亲自教你!史上最全的Android面试题集锦,这原因我服了
- 在云服务器上注意GeoServer和ShadowDataMap的跨域设置
- java 拦截器_Spring的春天来啦——百战Java课程更新(2019.09.06)
- mysql 5.7 数据库备份_MySQL5.7.20数据库备份与恢复
- 【elasticsearch】ES生命周期管理
- 如果这个世界没有乔布斯和盖茨
- mysql 临时表循环_在游标循环中查询临时表可以,但是结束循环后就无法查询了。...
- Introduction to Computer Networking学习笔记(十五):End to End Delay 端对端延迟
- 中国生产力促进中心”十四五”规划与发展规模分析报告2022~2028年
- 【linux】redhat笔记:红帽企业Linux入门与安装
- Integrated Electrical Test Vehicle Co-designed with Microfluidics for Evaluating the Performance of
- [感动]知道我为什么喜欢SUPER JUNIOR吗?
- easyui图片放大功能(取巧)
- 远程桌面全屏无法退出
- 953. 验证外星语词典( 简单模拟 + 自定义定制排序 )
- Pytorch的优化器总结归纳
- 对Java建造者模式(Builder)的一点理解