能力风暴-C系列《弹球游戏》

C主机-LCD点阵屏使用(编程)介绍

像素点:0-127*0-63

所用函数:

LCD_DrawRectangle(x,y,x1,y1,1);

LCD_DrawCircle(x,y,r,1);

LCD_Clear(0);

第一步:

1、实现小球移动

2、实现小球碰壁后,反弹

3、循环反弹

实现效果: 

第二步:

1、创建接球平台

2、实现平台移动

3、控制平台移动区域

第三步:

1、实现平台接到小球,反弹

2、没接到小球时,小球掉落时,游戏停止

3、接到球时,统计数值

#include "ASEIO.h"
int x11=0;//球X坐标
int y11=0;//球Y坐标
int a=0;//数值统计
int vx=1,vy=1;//球的移动方向
int x101;//球随机出现时,移动的方向随机
int x1=31;//接球平台的坐标
int zuo=0;//左键坐标
int you=0;//右键坐标
int enter=0;//确认键,游戏开始键  ENTER
void main()
{
for(;;)
	{
        enter=Get_Button();//按下确认键,游戏开始
        if(enter==1)
        {
            x11=Get_Rand(1,126);//球,随机X坐标
            y11=Get_Rand(1,30);//球,随机Y坐标
			x1=Get_Rand(5,110);//接球平台,随机位置
            x101=Get_Rand(1,2);//开始时,球向不同的方向动
			if(x101==1)
            {
                vx=-1;
			}
            else
            {
                vx=1;
			}
            for(;;)
            {

                 wait(0.03);
        LCD_Clear();
        LCD_DrawCircle(x11,y11,2,1);
        LCD_DrawRectangle(0,0,127,63,0);
        LCD_DrawRectangle(x1,59,x1+15,60,0);
        x11=x11+vx*1;
        y11=y11+vy*1;
        zuo=Get_BtnLeft();//按下左键,向左移动
        if(zuo==1)
        {
            if(x1<=1)
            {
                x1=1;
			}
            else
            {
                x1=x1-2;
			} 
        }
		you=Get_BtnRight();//按下右键,向右移动
        if(you==1)
        {
            if(x1>=112)
            {
                x1=112;
			}
			else
			{
            x1=x1+2;
			}
		}
        if(y11==59)
        {
		if((x1<=x11)&&(x1+15>=x11))//判断是否接到
        {
			BEEP(1000,0.1);
            a++;
            vy=-vy;
        }
		}
        if(y11==0)
        {
            vy=1;
		}
        if(x11==127)
        {
            vx=-vx;
		}
         if(x11==0)
        {
            vx=1;
		}
         if(y11==61)//如果没有接到的情况下,游戏停止,限时统计数值
        {
            BEEP(1500,0.5);
            LCD_Clear();
            printf("\n\n\n      Game over\n\n          %d",a);
            break;
		}
		}
        //wait(0.02);
			}
            
			}

			}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值