游戏开发关于小球问题的处理

小球简单的下落

简单的控制小球的位置利用到了system(”cls“)这个清屏函数就要利用到
头文件

#include<stdlib.h>

其中这里包括了system(“cls”)这一文件利用当你编写的程序有输出的时候,如果要进行多次调试,屏幕上会显示很多次的输出的结果,看上去非常的复杂非常的乱。那么我们就可以在程序中的输出语句之前加上“system(“CLS”);”,当我们用上这条语句之后。
这样每次程序运行的时候都会将上一次运行输出的内容给清除掉,屏幕上只显示本次输出的结果。这样看起来就非常的简洁。

//清屏函数system("cls")
#include<stdio.h>
#include<stdlib.h>//作用为包含清屏函数这个内容 
int main()
{
	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");
		printf("\n");
	}
	return 0;
	}
		
	

小球的坐标判断

在c中创建的一个区域内创建了一个坐标X横坐标。Y纵坐标。
特殊位置的点的坐标的特点:
1.x轴上的点的纵坐标为零;y轴上的点的横坐标为零。
2.在任意的两点中,如果两点的横坐标相同,则两点的连线平行于纵轴(两点的横坐标不为零);如果两点的纵坐标相同,则两点的连线平行于横轴(两点的纵坐标不为零)。
3.点到轴及原点的距离:
点到x轴的距离为|y|; 点到y轴的距离为|x|;点到原点的距离为x的平方加y的平方的平方根。
在这里插入图片描述
控制小球的位置及其坐标

小球的进一步升级

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>//所运用的函数在这个
//头文件中 如果没有这个所使用的函数就会出错 
int main()
{
	int i, j;
	int x=5;
	int y=10;
	
	int height = 20;
	int velocity =1;
	//while(1)代表的是常量表达式,永远不会等于
	//0,所以循环会一直下去,如果加入break等
	//跳跃类时可以跳出循环, 
	while(1)//表示循环西面的位置 
	{
		Sleep(100);
		x = x+velocity;
		system("cls");//实现小球的跳跃要做到
		//system的清屏函数使得原来的数字位置发生
		//改变 
		
		for(i=0;i<x;i++)
		printf("\n"); 
		
		for(j=0;j<y;j++)
		printf(" ");//此位置为一个空格的位置
		 
		printf("o");
		printf("\n");
		
		if(x==height)//代表位置的变化 
		 velocity = -velocity;
		if(x==0)
		 velocity = -velocity;
		 
		 
	}
	return 0;
}

其中的while(1)的作用为while语句的原型是while(表达式)语句,当表达式为非0值时,执行while语句中的嵌套语句.
那么while(1)其中1代表一个常量表达式,他永远不会等于0.所以,循环会一直执行下去.除非你设置break等类似的跳出循环语句循环才会中止
while(i–)其中i是一个变量,因此表达式i–有不同的值,依次递减,i–是先取值后减,–i先加后取值,所以i–的值同未执行该自减运算时的i相等.因此当i为0时,循环会跳出大家在初学时要尽量养成良好的编码习惯,比如上面的边界坐标尽量不要在语句中
直接写数值,可以用定义的变量或常量标识符,这样程序的可读性更好,后续也更容易
调整。
在这里插入图片描述
sleep功 能: 执行挂起一段时间用 法: unsigned sleep(unsigned milliseconds 在VC中使用带上头文件#include在gcc编译器中,使用的头文件因gcc版本的不同而不同#includeSleep函数注意:在VC中Sleep中的第一个英文字符为大写的"S" 在标准C中是sleep, 不要大写… 下面使用大写的来说明, 具体用什么看你用什么编译器. 简单的说VC用Sleep, 别的一律使用sleep.
Sleep函数的一般形式:
  Sleep(unsigned long);
  其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000);
  在Linux下,sleep中的“s”不大写
  sleep()里面的单位是秒,而不是毫秒。在内核中,sleep的实现是由pause函数和alarm函数两个实现的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值