纯C语言编程-游戏之弹跳球
最近痴迷于使用纯C编写小游戏,编程方法较为简单,主要思路就是
1、清屏
2、对桌面二维数组赋值
3、将数组使用printf一个字节一个字节打印出来
4、控制输入判断、变量赋值和参数修改
5、延时(非必要,也可以根据键盘响应来进行1-4操作)
大家也可以根据这个思路进行简单的纯C小游戏编程。
下面分享一个简单的桌面弹球小游戏,界面如下:
源码下载地址:
桌面弹球游戏点击下载
定义桌面高度和宽度
#define HEIGHT 20
#define WIDTH 40//桌面高和宽
定义桌面数组
int ball_desk[HEIGHT][WIDTH];//弹球桌面数组
绘制桌面,输入小球的x、y坐标
void interball(int x,int y)//桌面数组更新赋值,输入小球的x、y坐标
{for(int i=0;i<HEIGHT;i++)//遍历高度{for(int j=0;j<WIDTH;j++)//遍历宽度{if((i==x)&&(j==y))//在小球位置赋值O{ball_desk[i][j]='O';}else if(i==0||i==(HEIGHT-1))//上下边缘赋值-{ball_desk[i][j]='-';}else if(j==0||j==(WIDTH-1))//左右边缘赋值|{ball_desk[i][j]='|';}else//其它位置空{ball_desk[i][j]=' '; }}}
}
主函数
int main()
{int i,j;int x=0,y=5;int v_x=1,v_y=1;while(1){x=v_x+x;y=v_y+y;//更新小球位置system("cls");interball(x,y);for(int i=0;i<HEIGHT;i++){for(int j=0;j<WIDTH;j++){printf("%c", ball_desk[i][j]);//将数组显示在桌面上}printf("\n");}if(y==0||y==WIDTH)//判断当小球位置到达左右边缘,速度y取反{v_y=-1*v_y;}if(x==0||x==HEIGHT)//判断小球位置到达上下边缘,速度x取反{v_x=-1*v_x;}}return 0;
}
弹球源码:
Bouncing ball.c
/** Bouncing ball小游戏** \作者:Dog语言* \文件:interface.c* \日期:2020-8-18* \版本:V1.0.0**/
#include<stdio.h>
#include<windows.h>#define HEIGHT 20
#define WIDTH 40//桌面高和宽int ball_desk[HEIGHT][WIDTH];//弹球桌面数组void interball(int x,int y)//桌面数组更新赋值,输入小球的x、y坐标
{for(int i=0;i<HEIGHT;i++)//遍历高度{for(int j=0;j<WIDTH;j++)//遍历宽度{if((i==x)&&(j==y))//在小球位置赋值O{ball_desk[i][j]='O';}else if(i==0||i==(HEIGHT-1))//上下边缘赋值-{ball_desk[i][j]='-';}else if(j==0||j==(WIDTH-1))//左右边缘赋值|{ball_desk[i][j]='|';}else//其它位置空{ball_desk[i][j]=' '; }}}
}int main()
{int i,j;int x=0,y=5;int v_x=1,v_y=1;while(1){x=v_x+x;y=v_y+y;//更新小球位置system("cls");interball(x,y);for(int i=0;i<HEIGHT;i++){for(int j=0;j<WIDTH;j++){printf("%c", ball_desk[i][j]);//将数组显示在桌面上}printf("\n");}if(y==0||y==WIDTH)//判断当小球位置到达左右边缘,速度y取反{v_y=-1*v_y;}if(x==0||x==HEIGHT)//判断小球位置到达上下边缘,速度x取反{v_x=-1*v_x;}}return 0;
}
纯C语言编程-游戏之弹跳球相关推荐
- 青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 3
继上一次介绍了<神奇的六边形>的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏<跳跃的方块>的完整开发流程. (点击图片可进入游戏体验) 因内容太多,为 ...
- 青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 7(服务器连接数据处理)...
继上一次介绍了<神奇的六边形>的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏<跳跃的方块>的完整开发流程. (点击图片可进入游戏体验) 因内容太多,为 ...
- C语言编程游戏-教程1 Star Empires
游戏编程教程简介 ( Introduction to the Games Programming Tutorials ) This is the first of several games prog ...
- 好玩的c语言编程游戏,C语言写个贪吃蛇游戏
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言写个贪吃蛇游戏 贪吃蛇是个非常经典的游戏,用C语言来实现也是一个好玩的事情.这个游戏我写完后放在知乎,竟然点赞的人数超级多.我觉得大家喜欢,一个方面 ...
- C语言小游戏第二弹~1-100猜数字(无聊时候摸鱼必备)
hello uu们,我们本期的小游戏是在1-100里面猜数字,无聊摸鱼必备小游戏哦~~ 闲话少谈,整活走起 首先我们可以简单的把这个程序主题分成两大块 1.游戏界面 2.猜数字过程主体 下面开始分步详 ...
- c语言编程游戏开代码错误,[蓝桥杯][历届试题]数字游戏 (C语言代码)(兄弟们帮我看一下为什么运行错误86%)...
解题思路: 注意事项: 参考代码: #include #include #define N 1000 int main() { unsigned int n,k,T; int i,j; int num ...
- 零基础编程——块语言编程游戏攻略之动画篇
动画1 动画2 动画3 动画4 动画5 动画6 动画7 动画8 动画9 动画10 自由发挥
- 零基础编程——块语言编程游戏攻略之捉虫篇
捉虫1 捉虫2 捉虫3 捉虫4 捉虫5 捉虫6 捉虫7 捉虫8 捉虫9 捉虫10
- 零基础编程——块语言编程游戏攻略之画图篇
画图1 画图2 画图3 画图4 画图5 画图6 画图7 画图8 画图9 画图10 任意发挥
- 零基础编程——块语言编程游戏攻略之迷宫篇
网址:https://playground.17coding.net 以下都是本人随意所答,如有更优者可以相互借鉴探讨. 第二关:迷宫1 迷宫2 迷宫3 迷宫4 迷宫5 迷宫6 迷宫7 迷宫8 迷宫9 ...
最新文章
- 《程序员代码面试指南》第二章 链表问题 构造链表和节点的实体
- 第拾壹章學習 Lisp 3rd Edition, Winston Horn
- mysql同时购买两种商品_SQL题1——查询所有购入商品为两种或两种以上的购物人记录...
- win 7 系统激活工具
- 联发科mt8516价格_智能语音助手宠儿——联发科MT8516智能AI音箱核心板
- 23种设计模式详解_太厉害了,清华大牛一个坦克项目就把23种设计模式给抽丝剥茧了...
- 万维网发布服务 w3svc 已停止 除非万维_万维网和互联网的区别
- 收藏 | 目标检测的模型集成与实验
- Android开发笔记(二)颜色的使用
- 用argparse解析布尔值
- 牛客网–华为机试在线训练6:质数因子
- JavaScript对象的理解
- jsonp原理详解——终于搞清楚jsonp是啥了
- Spring Boot(四)—— Spring MVC自动配置
- IO流---Reader和Writer
- 排查Linux服务器是否被入侵步骤
- Error: Assignments can only be reset if the group ‘group‘ is inactive, but the current state is Stab
- mysql 根据父Id 递归查询所有的子类Id,根据子类Id 递归查询所有的父类 Id
- 电影购票系统接口篇【全栈开发】
- phpfetion.php,php 飞信2012最新可用api 接口免费分享phpfetion_PHP教程