| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 415 人关注过本帖
标题:等高人将此弹球游戏 添加开场画面 结束画面 难度选着 谢谢了
只看楼主 加入收藏
w261556621
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-6-2
结帖率:0
收藏
 问题点数:0 回复次数:1 
等高人将此弹球游戏 添加开场画面 结束画面 难度选着 谢谢了
                                                          #include "graphics.h"
#include "math.h"
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define ESC 0x011b
int x,y,x1,y1,key,t1,t2,keyx,keylong,keymove,over=0,i,tt=0,fast;
int ballx[9]={53,103,263,120,236,390,410,450,600};
int bally[9]={158,239,120,113,30,313,120,263,231},ballz[9]={0};
float ls;
win()
{float lx,ly,ll;
for(i=0;i<9;i++)
{
  if(ballz[i]==1)/*假如球体已经消失就不判定*/
  continue;
  lx=(float)(ballx[i]-x);
  ly=(float)bally[i]-y;
  ll=lx*lx+ly*ly;
  ls=sqrt(ll);
  if((int)ls<17)/*判定两球是否碰到*/
  {tt++;/*记录消失几个球*/
   fast-=50;/*速度加快*/
   if(i%2==0)/*移动加快*/
    keymove+=5;
   else
    {
    setcolor(0);
    rectangle(keyx,460,keyx+keylong,470);
    keylong-=10;/*长条变短*/
    setcolor(YELLOW);
    rectangle(keyx,460,keyx+keylong,470);
    }
   ballz[i]=1;
   setcolor(0);
   circle(ballx[i],bally[i],10);
   if(y<bally[i])
    if(x<ballx[i])
    {t1=-1;t2=-1;}
    else
    {t1=1;t2=-1;}
   else
    if(x<ballx[i])
    {t1=-1;t2=1;}
    else
    {t1=1;t2=1;}
  }
}
}
  fungo()             /*飞行小球运行的函数*/
{ x=100,y=50,keyx=200,keylong=100,keymove=15,fast=6000;
  for(i=0;i<9;i++)            /*循环9次绘制9个被撞击的圆圈*/
  {
  setcolor(i+1);             /*设置圆圈的颜色,每个圆圈一种颜色*/
  circle(ballx[i],bally[i],10); /*使用设置好的画球数组绘制被撞击的圆圈*/
  }
  sleep(1);
  t1=t2=1;
  while(1)                 /*执行循环*/
  {
   while(!kbhit())      /*从键盘上响应返回值,KBHIT()的返回值是0*/
   {
   setcolor(YELLOW);     /*设置当球板的颜色 黄色*/
   rectangle(keyx,460,keyx+keylong,470);        /*设置矩形挡板,挡板长100*/
   x1=x;
   y1=y;
   x+=t1;
   y+=t2;
   setcolor(4);                          /*设置颜色为红色*/
   circle(x,y,6);                       /*绘制半径为6的运动小球*/
   delay(fast);
   setcolor(0);                          /*设置颜色*/
   circle(x,y,6);                        /*绘制半径为6的圆圈*/
   win();
   if(tt==9)/*胜利*/
   {
   cleardevice();                /*清除屏幕显示,仅用于图形工作方式*/
   over=1;                        /*生理和失败游戏都结束*/
   setcolor(RED);                  /*设置颜色*/
   settextstyle(0,0,4);             /*设置图形模式下字符显示底字体、方向和大小*/
   setusercharsize(3,1,3,1);         /*图形模式下设置人一比例大小的字体显示*/
   outtextxy(200,200," YOU WIN! ");  /*图形模式下在x,y坐标位置显示一行字符串*/
   break;
   }
   if(y>480)/*失败*/
   {
   cleardevice();              /*清除屏幕显示,仅用于图形工作方式*/
   over=1;                      /*生理和失败游戏都结束*/
   setcolor(RED);
   settextstyle(0,0,4);         /*设置图形模式下字符显示底字体、方向和大小*/
   setusercharsize(3,1,3,1);     /*图形模式下设置人一比例大小的字体显示*/
   outtextxy(200,200,"GAME OVER"); /*图形模式下在x,y坐标位置显示一行字符串*/
   break;                          /*在屏幕显示游戏结束*/
   }
   else if(x==11&&y==11)/*判定碰到东西*/
   {t1=1;t2=1;}
   else if(x==629&&y==11)
   {t1=-1;t2=1;}
   else if(x==11)
   {
    if(y<y1)
    {t1=1;t2=-1;}
    else
    {t1=1;t2=1;}
   }
   else if(y==11)
   {
    if(x<x1)
    {t1=-1;t2=1;}
    else
    {t1=1;t2=1;}
   }
   else if(x==629)
   {
    if(y1>y)
    {t1=-1;t2=-1;}
    else
    {t1=-1;t2=1;}
   }
   else if(y==449)
   {
    if(x>=keyx&&x<=keyx+keylong)
    {
     if(x<(keyx+keylong/4))
     {t1=-1;t2=-1;}
     else if(x>=(keyx+keylong/4)&&x<(keyx+keylong/2))
     {t1=-1;t2=-2;}
     else if(x>=(keyx+keylong/2)&&x<(keyx+keylong/4*3))
     {t1=1;t2=-2;}
     else
     {t1=1;t2=-1;}
    }
   }
  }
  if(over)                  /*如果游戏结束,则退出*/
  break;
  key=bioskey(0);      /*读取键盘值(返回一个键盘值,如无键盘按下,一直等待)*/
  setcolor(0);              /*设置挡板前景颜色*/
  rectangle(keyx,460,keyx+keylong,470); /*图形方式下,在屏幕上画一个矩形*/
  if(key==ESC)
  {cleardevice();break;}         /*清除屏幕显示,仅用于图形工作方式*/
  else if(key==LEFT)
  keyx-=keymove;
  else if(key==RIGHT)
  keyx+=keymove;
 }
}


 main()
{int gd=DETECT,gr;
 initgraph(&gd,&gr,"c:\\tc");
 fungo();
 getch();
 sleep(1);
 closegraph();
}
搜索更多相关主题的帖子: bally 游戏 
2011-06-03 13:31
w261556621
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-6-2
收藏
得分:0 
谢谢 了 很急啊 着急用啊~~~~~
2011-06-03 13:31
快速回复:等高人将此弹球游戏 添加开场画面 结束画面 难度选着 谢谢了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.081868 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved