小白第一次写没什么经验就不废话了 上面有我自己的理解,
简单的反弹球
#include <stdio.h> #include <stdlib.h> #include <windows.h> int main() { int i,j; int x = 0; int y = 5; int number=0; int velocity_x = 1; int velocity_y = 1; int left = 0; int right = 20; int top = 0; int bottom = 10; while (1) { x = x + velocity_x; y = y + velocity_y; number++; system("cls"); // 清屏函数 for(i=0;i<x;i++) printf("n");// 输出小球前的空行 for (j=0;j<y;j++) printf(" "); printf("o循环%d次",number); // 输出小球o //printf("n"); Sleep(150); // 等待若干毫秒 //(循环等待时间我猜测就是一个用来计时的循环语句 数值到了就结束循环) if ((x==top)||(x==bottom)){ velocity_x = -velocity_x; printf(";我 pb");//碰壁输出pb } if ((y==left)||(y==right)){ velocity_y = -velocity_y; printf(":我 pb");//碰壁输出pb } //碰撞判定前面的left;right;top;bottom是设置的边界 //当x或者y有和边界相等的值的时候就执行x或者y的退格 //执行完毕后回到while清屏再次循环,原数据不变 //(换句话说你看不见的空白区域就是换行和空格键) } return 0; }
看懂了就不用看我下面的介绍。
接下来我就说说我自己对这个简单反弹球游戏的理解。
首先:反弹球要有自己的边界
其次:就是考虑反弹的要素
1.system(“cls”); 是清屏函数,其实动画就是一帧一帧的速度快了就是动画
因此每次循环画出小球的第一个位置后就清屏。
2.“velocity”是代表小球在某个方向运动趋势,1就是向下/向左;-1就是向上/向右。
3.然后进入循环x/y的值一直变大直到xtop/bottom或者yleft/right就把velocity_x/y变向。
4.number就是可以反馈循环次数;也等同于清屏的表现。
本人新手小白,不喜勿喷,准备自己学习游戏开发,上面的就是本人的学习经历,如果有学术问题欢迎批评指正,谢谢!
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算