C语言游戏开发——1.1 弹跳的小球

C语言游戏开发

1.1 弹跳的小球

1.1.1 显示静止的小球

代码为:

#include <stdio.h>

int main(void)
{
	int i,j;
	int x = 5;  //x表示纵坐标
	int y = 10; //y表示横坐标
	
//输出上面的空行
	for(i=0; i<x; i++)
		printf("\n");
//输出小球左边的空格
	for(j=0; j<y; j++)
		printf(" ");
	printf("o");	//输出小球
	printf("\n");
	
	return 0;	
} 

结果为:
在这里插入图片描述
1.1.2 小球下落

代码为:

#include <stdio.h>
#include <stdlib.h>  //包含清屏函数system("cls")

int main(void)
{
	int i,j;
	int x = 1;
	int y = 10;
	for(x=1; x<10; x++)
	{
		system("cls");  //清屏函数
	//输出小球上面的空行
		for(i=0; i<x; i++)
			printf("\n");
	//输出小球左边的空格
		for(j=0; j<y; j++)
			printf(" ");
		printf("o");   	//输出小球o 
		printf("\n"); 
	}
	
	return 0;
 } 

结果为: 小球直线动态下落

1.1.3上下弹跳的小球

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	int i,j;
	int x = 5;
	int y = 10;
	
	int height = 20;
	int velocity = 1; 		//velocity用来记录速度 
	
	while(1)
	{
		x = x + velocity;    //小球的新位置x = 旧位置x + 速度velocity
		system("cls");		//清屏函数 
		
	//输出小球前的空行
		for(i=0; i<x; i++)
			printf("\n");
		for(j=0; j<y; j++)
			printf(" ");
		printf("o");
		printf("\n");
	
	//当小球到达上、下边界时改变方向,即改变velocity的正负
		if(x == height)	
			velocity = -velocity;
		if(x == 0)
			velocity = -velocity; 
	}
	
	return 0;
 } 

结果为:小球o上下来回移动

1.1.4斜着弹跳的小球

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>  //通过使用Sleep函数控制小球的弹跳速度
 
int main(void)
{
	int i,j;
	int x = 0;
	int y = 5;
	
	int velocity_x = 1;		//控制x方向的速度变量
	int velocity_y = 1;		//控制y方向的速度变量
	int left = 0;
	int right = 20;
	int top = 0;
	int bottom = 10; 
	
	while(1)
	{
		x = x + velocity_x;
		y = y + velocity_y;
		
		system("cls");		//清屏函数 
		
	//输出小球前的空行
		for(i=0; i<x; i++)
			printf("\n");
		for(j=0; j<y; j++)
			printf(" ");
		printf("o");
		printf("\n");
		Sleep(50);		//在输出图形后等待50ms 
		
	//velocity_x碰到上、下边界后改变正负号
		if((x == top)||(x == bottom))
			velocity_x = -velocity_x;
			
	//velocity_y碰到左、右边界后改变正负号
		if((y == left)||(y==right))
			velocity_y = -velocity_y; 
	}
	
	return 0;
 } 

结果为:小球在规定的区域内来回弹跳

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值