最近痴迷于使用纯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语言编程-游戏之弹跳球相关推荐

  1. 青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 3

    继上一次介绍了<神奇的六边形>的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏<跳跃的方块>的完整开发流程. (点击图片可进入游戏体验) 因内容太多,为 ...

  2. 青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 7(服务器连接数据处理)...

    继上一次介绍了<神奇的六边形>的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏<跳跃的方块>的完整开发流程. (点击图片可进入游戏体验) 因内容太多,为 ...

  3. C语言编程游戏-教程1 Star Empires

    游戏编程教程简介 ( Introduction to the Games Programming Tutorials ) This is the first of several games prog ...

  4. 好玩的c语言编程游戏,C语言写个贪吃蛇游戏

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言写个贪吃蛇游戏 贪吃蛇是个非常经典的游戏,用C语言来实现也是一个好玩的事情.这个游戏我写完后放在知乎,竟然点赞的人数超级多.我觉得大家喜欢,一个方面 ...

  5. C语言小游戏第二弹~1-100猜数字(无聊时候摸鱼必备)

    hello uu们,我们本期的小游戏是在1-100里面猜数字,无聊摸鱼必备小游戏哦~~ 闲话少谈,整活走起 首先我们可以简单的把这个程序主题分成两大块 1.游戏界面 2.猜数字过程主体 下面开始分步详 ...

  6. c语言编程游戏开代码错误,[蓝桥杯][历届试题]数字游戏 (C语言代码)(兄弟们帮我看一下为什么运行错误86%)...

    解题思路: 注意事项: 参考代码: #include #include #define N 1000 int main() { unsigned int n,k,T; int i,j; int num ...

  7. 零基础编程——块语言编程游戏攻略之动画篇

    动画1 动画2 动画3 动画4 动画5 动画6 动画7 动画8 动画9 动画10 自由发挥

  8. 零基础编程——块语言编程游戏攻略之捉虫篇

    捉虫1 捉虫2 捉虫3 捉虫4 捉虫5 捉虫6 捉虫7 捉虫8 捉虫9 捉虫10

  9. 零基础编程——块语言编程游戏攻略之画图篇

    画图1 画图2 画图3 画图4 画图5 画图6 画图7 画图8 画图9 画图10 任意发挥

  10. 零基础编程——块语言编程游戏攻略之迷宫篇

    网址:https://playground.17coding.net 以下都是本人随意所答,如有更优者可以相互借鉴探讨. 第二关:迷宫1 迷宫2 迷宫3 迷宫4 迷宫5 迷宫6 迷宫7 迷宫8 迷宫9 ...

最新文章

  1. 《程序员代码面试指南》第二章 链表问题 构造链表和节点的实体
  2. 第拾壹章學習 Lisp 3rd Edition, Winston Horn
  3. mysql同时购买两种商品_SQL题1——查询所有购入商品为两种或两种以上的购物人记录...
  4. win 7 系统激活工具
  5. 联发科mt8516价格_智能语音助手宠儿——联发科MT8516智能AI音箱核心板
  6. 23种设计模式详解_太厉害了,清华大牛一个坦克项目就把23种设计模式给抽丝剥茧了...
  7. 万维网发布服务 w3svc 已停止 除非万维_万维网和互联网的区别
  8. 收藏 | 目标检测的模型集成与实验
  9. Android开发笔记(二)颜色的使用
  10. 用argparse解析布尔值
  11. 牛客网–华为机试在线训练6:质数因子
  12. JavaScript对象的理解
  13. jsonp原理详解——终于搞清楚jsonp是啥了
  14. Spring Boot(四)—— Spring MVC自动配置
  15. IO流---Reader和Writer
  16. 排查Linux服务器是否被入侵步骤
  17. Error: Assignments can only be reset if the group ‘group‘ is inactive, but the current state is Stab
  18. mysql 根据父Id 递归查询所有的子类Id,根据子类Id 递归查询所有的父类 Id
  19. 电影购票系统接口篇【全栈开发】
  20. phpfetion.php,php 飞信2012最新可用api 接口免费分享phpfetion_PHP教程

热门文章

  1. 应用多开小工具(二次编译)
  2. 物理增强的深度学习模型改善卫星图像对热带气旋强度和大小估计(翻译)
  3. 【Vue: 使用pdf.js顯示PDF Viewer】
  4. python requests 上传文件
  5. Google Data Studio:漂亮,免费,易于使用的数据可视化工具
  6. R语言安装包出现的问题及解决方案
  7. 话单分析账单分析行踪分析三合一数据分析,即可话单、账单、行踪、涉税数据独立分析,也可混合分析。
  8. 离线安装.net4.032位_怎样在断网的情况下安装IE11
  9. SHA1算法原理(转载)
  10. 2018美赛C题翻译