CC++,彩色图像小游戏。

CC++,彩色图像小游戏。,第1张

概述      这里声明,这个游戏是由本人,在大一暑假自作的第二个小游戏,转载请注明原帖地址,谢谢!所有图片都是我一个人用ps搞出来的,比较简单.........毕竟不是学图像制作的,请体谅!另外,图片不放出来了要运行此程序一定要去下载ege库,因为要用到里面的一个函数库graphics,下载好了,在项目->属性->配置属性->C/C++处添加库目录即可。      玩法是:主角做自由落体运动,不能让它掉到底线,要按左右按键使它站在上升的云条上面,这样就能跟着上升,但是不能超过顶线,也不能越过左右边界,否则都是输。分数达到一定程度,难度会增加一个出现火箭,另一个是云条上升速度增加!      里面有详细的注释,将不再一一讲解,不懂请评论提出。1 #include<graphics.h>//这个是外部的函数库,图形库ege里面的,百度即可下载,这个函数库比win 的api 容易很多2 #include<stdlib.h>3 #include<time.h>4 class zhujue//角色基类,主角5 {6 public:7 void jiemian(PIMAGE image);//界面函数8 void load(PIMAGE image);//加载界面函数9 void judge(zhujue Q[],PIMAGE image);//撞墙判断函数10 void rocket(zhujue Q[],PIMAGE image);//火箭出现函数11 int x,y;12 int temp,score;13 };14 class yun:public zhujue//公开继承子类15 {16 public:17 void zaoyun(yun y[],PIMAGE image,int a);//制造云条函数18 void PanDuan(yun y[],zhujue Q[],PIMAGE image);//判断是否站在云条上面函数19 void panduan(yun y[],zhujue Q[],PIMAGE image,PIMAGE image1);//判断是否撞火箭函数20 void Score(zhujue Q[],yun y[]);//分数显示函数21 int x,y;22 };23 void zhujue::jiemian(PIMAGE image)24 {25 putimage(0,0.5,image);26 }27 void zhujue::load(PIMAGE image)//加载出示画面的图片函数28 {29 PIMAGE img9=newimage();30 getimage(image,"图片包\19.jpg");//函数getimage,获取图片,第一个参数是传入的PIMAGE 变量,第二个是路径31 putimage(0,0,image);//加载简介图片32 //Sleep(10000);//系统延迟10秒33 }34 void yun::zaoyun(yun y[],PIMAGE image,int a)//制造云条35 {36 if(y[a].x<175)//防止重复产生x37 y[a].x=rand()%271+176;//随机产生x38 putimage(y[a].x,y[a].y+72*a,image);//显示云条,在特定的位置显示出图片39 if(y[a].y+72*a<=-16)//云条到顶40 {41 y[a].y=460-72*a;//重新赋值y42 y[a].x=0;//重新赋值x43 }44 }45 void yun::PanDuan(yun y[],zhujue Q[],PIMAGE image)//判断是否站在云条上46 {47 for(int i=0;i<=5;i++)//遍历坐标的判断48 {49 if((y[i].x<=Q[0].x&&Q[0].x<=y[i].x+46&&Q[0].y+35<=y[i].y+72*i&&Q[0].y+35>=y[i].y-1-Q[1].score+72*i)||50 (y[i].x<=Q[0].x+32&&Q[0].x+32<=y[i].x+46&&Q[0].y+35<=y[i].y+72*i&&Q[0].y+35>=y[i].y-1-Q[1].score+72*i))51 {52 if(Q[0].temp==0)//对左右面图像的输出判断。这里是用来当用户按左右键时,输出不同的图片53 putimage(Q[0].x,Q[0].y,image);//temp==0,左边54 else55 putimage(Q[0].x,Q[0].y,image);56 Q[0].y-=2*Q[1].score;//控制角色y上升57 //Q.score++;58 }59 else //不满足站在云条条件时,输出角色图像,与上面不同的是,角色的y不会上升,即没站的效果60 {61 if(Q[0].temp==0)62 putimage(Q[0].x,Q[0].y,image);63 else64 putimage(Q[0].x,Q[0].y,image);65 }66 }67 }68 void yun::Score(zhujue Q[],yun y[])69 {70 for(int i=0;i<=5;i++)71 {72 if(Q[0].y==y[i].y+72*i||Q[0].y==y[i].y+72*i+1)73 Q[0].score++;74 }75 setcolor(BLUE);//设置字体颜色,这个是graphics 里面的,后面都是76 setfontbkcolor(WHITE);//背景颜色77 setfont(-25,0,"幼圆");//字体大小和类型78 xyprintf(67,108,"%d",Q[0].score);//在特定的坐标处显示出分数79 }80 void zhujue::judge(zhujue Q[],PIMAGE image)81 {82 if(Q[0].x<155||Q[0].x+10>496||Q[0].y+35<0||Q[0].y>460)//所有撞墙条件的判断83 {84 putimage(220,150,image);//失败图像输出85 getch();//等待输入键86 getch();87 Q[0].score=0;//分数清零88 }89 }90 void zhujue::rocket(zhujue Q[],PIMAGE image)//产生火箭91 {92 if(Q[1].x<174)93 Q[1].x=rand()%271+176;94 if(Q[1].temp==0)95 {96 putimage(Q[1].x,Q[1].y,image);//输出火箭图片,前两个参数是坐标97 Q[1].y-=2*Q[1].score;98 }99 if(Q[1].y<=0)100 {101 Q[1].y=480;102 Q[1].x=0;103 }104 }105 void yun::panduan(yun y[],zhujue Q[],PIMAGE image,PIMAGE image1)//角色与火箭的碰撞106 {107 for(int i=0;i<=24;i++)//对火箭全面碰撞判断108 {109 if(Q[0].x==Q[1].x+i&&Q[0].y+35>=Q[1].y+5&&Q[0].y<=Q[1].y+56)110 {putimage(220,150,image);putimage(Q[1].x,Q[1].y,image1);111 xyprintf(67,108,"%d",Q[0].score);112 getch();getch();getch();Q[0].score=0;}113 if(Q[0].x+30==Q[1].x+i&&Q[0].y+35>=Q[1].y+5&&Q[0].y<=Q[1].y+56)114 {putimage(220,150,image);putimage(Q[1].x,Q[1].y,image1);115 xyprintf(67,108,"%d",Q[0].score);116 getch();getch();getch();Q[0].score=0;}117 }118 }119 int main()120 {121 int d=680,f=460;//控制台的长、宽122 initgraph(&d,&f,"//tc");//开始的动画123 initgraph(680,460);//游戏窗口大小定义,初始化图像环境124 HWND hWnd = getHWnd(); // 获得窗口句柄125 SetWindowText(hWnd, TEXT("云端漂移小游戏"));// 使用 API 函数修改窗口名称126 zhujue Q[2];//两个主角类对象127 Q[0].x=200,Q[0].y=60;//初始化主角的初始位置,以坐标来表示128 Q[0].temp=0,Q[0].score=0,Q[1].score=2;//初始化开始的分数,面向左边,云条上升速度,2像素129 Q[1].x=0,Q[1].y=480,Q[1].temp=1;130 yun y[6];131 PIMAGE img=newimage();//创建图片对象,变量,要用到多少张图片就建多少个132 PIMAGE img1=newimage();133 PIMAGE img2=newimage();134 PIMAGE img3=newimage();135 PIMAGE img5=newimage();136 PIMAGE img6=newimage();137 PIMAGE img7=newimage();138 PIMAGE img8=newimage();139 PIMAGE img4=newimage();140 PIMAGE img9=newimage();141 getimage

      这里声明,这个游戏是由本人,在大一暑假自作的第二个小游戏,,谢谢!

所有图片都是我一个人用ps搞出来的,比较简单.........毕竟不是学图像制作的,请体谅!另外,图片

不放出来了要运行此程序一定要去下载ege库,因为要用到里面的一个函数库graphics,下载好了,

在项目->属性->配置属性->C/C++处添加库目录即可。

      玩法是:主角做自由落体运动,不能让它掉到底线,要按左右按键使它站在上升的云条上面,这样

就能跟着上升,但是不能超过顶线,也不能越过左右边界,否则都是输。分数达到一定程度,难度会增加

一个出现火箭,另一个是云条上升速度增加!

      里面有详细的注释,将不再一一讲解,不懂请评论提出。

<div >

 #include #include #include  zhujue        jIEmian(PIMAGE image);      load(PIMAGE image);      judge(zhujue Q[],PIMAGE image);      rocket(zhujue Q[],PIMAGE image);             yun: zhujue        zaoyun(yun y[],PIMAGE image, a);      PanDuan(yun y[],zhujue Q[],PIMAGE image);      panduan(yun y[],PIMAGE image1);      score(zhujue Q[],yun y[]);             putimage(,   zhujue::load(PIMAGE image)      PIMAGE img9=     getimage(image,);     putimage(,,image);        yun::zaoyun(yun y[], a)      (y[a].x<)         y[a].x=rand()%+;     putimage(y[a].x,y[a].y+*a,image);     (y[a].y+*a<=-)          y[a].y=-*a;         y[a].x=;    yun::PanDuan(yun y[],PIMAGE image)      ( i=;i<=;i++)          ((y[i].x<=Q[].x&&Q[].x<=y[i].x+&&Q[].y+<=y[i].y+*i&&Q[].y+>=y[i].y--Q[].score+*i)||         (y[i].x<=Q[].x+&&Q[].x+<=y[i].x+&&Q[].y+<=y[i].y+*i&&Q[].y+>=y[i].y--Q[].score+*              (Q[].temp==)                 putimage(Q[].x,Q[].y,image);                              putimage(Q[].x,Q[             Q[].y-=*Q[].score;                                      (Q[].temp==                 putimage(Q[].x,image);                              putimage(Q[].x,image);          ( i=;i<=;i++          (Q[].y==y[i].y+*i||Q[].y==y[i].y+*i+             Q[].score++          setcolor(BLUE);         setFontbkcolor(WHITE);         setFont(-,);         xyprintf(,,,Q[].score);        (Q[].x<||Q[].x+>||Q[].y+<||Q[].y>)          putimage(,,image);         getch();          Q[].score=;    zhujue::rocket(zhujue Q[],PIMAGE image)      (Q[].x<         Q[].x=rand()%+     (Q[].temp==          putimage(Q[].x,Q[].y,image);         Q[].y-=*Q[      (Q[].y<=          Q[].y=         Q[].x=    yun::panduan(yun y[],PIMAGE image1)      ( i=;i<=;i++)          (Q[].x==Q[].x+i&&Q[].y+>=Q[].y+&&Q[].y<=Q[].y+             {putimage(,image);putimage(Q[].x,Q[              xyprintf(,Q[              getch();getch();getch();Q[].score=         (Q[].x+==Q[].x+i&&Q[].y+>=Q[].y+&&Q[].y<=Q[].y+             {putimage(,image1);              xyprintf(,Q[              getch();getch();getch();Q[].score=          d=,f=;     initgraph(&d,&f,);     initgraph(,);     HWND hWnd = getHWnd();      SetwindowText(hWnd,TEXT());     zhujue Q[];     Q[].x=,Q[].y=;     Q[].temp=,Q[].score=,Q[].score=;     Q[].x=,Q[].y=,Q[].temp=     yun y[     PIMAGE img=newimage();     PIMAGE img1=     PIMAGE img2=     PIMAGE img3=     PIMAGE img5=     PIMAGE img6=     PIMAGE img7=     PIMAGE img8=     PIMAGE img4=     PIMAGE img9=     getimage(img4,);     getimage(img,     getimage(img1,     getimage(img2,     getimage(img3,     getimage(img5,     getimage(img6,     getimage(img7,     getimage(img8,     getimage(img9,          ( i=;i<=;i++)          y[i].x=         y[i].y=      srand((unsigned)time(NulL));     Q[].load(img9);     (;is_run();y[].y-=Q[].score,y[].y-=Q[].score,y[].y-=Q[].score,y[].y-=Q[         y[].y-=Q[].score,y[].y-=Q[].score,Q[].y+=Q[].score,delay_fps())                                     Q[         y[].zaoyun(y,img,);         y[].zaoyun(y,img1,         y[].zaoyun(y,img2,         y[].zaoyun(y,img3,         y[].zaoyun(y,         y[].zaoyun(y,         (Q[].temp==)             y[                      y[         y[            (keystate(VK_left)==)               Q[].x-=              Q[].temp=             (keystate(VK_RIGHT)==)               Q[].x+=              Q[].temp=                   y[         Q[      (Q[].score>=)            Q[].temp=         Q[              (Q[].score<=)         Q[].score=      (Q[].score>&&y[].y==         Q[].score=          closegraph();           }

总结

以上是内存溢出为你收集整理的C/C++,彩色图像小游戏。全部内容,希望文章能够帮你解决C/C++,彩色图像小游戏。所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存