c语言小游戏源代码井字棋(C语言实现别碰白块小游戏)
c语言小游戏源代码井字棋(C语言实现别碰白块小游戏)
2024-11-22 02:50:50  作者:淡淡雅香  网址:https://m.xinb2b.cn/life/qro274265.html

今天我们将用C语言实现一个小球跳跃躲避方块的游戏。

就像闯关游戏一样,小球闯关类游戏是休闲游戏的=一种,玩家在游戏中需要控制各种不同的小球展开不同的挑战,尽情的闯过重重的关卡,努力的操作小球躲避障碍物以及机关,顺利的到达终点,玩法十分的简单,但是非常的考验玩家的敏捷力以及反应力。


要做出这个游戏,首先学习字符的知识,按空格键控制小球起跳;然后学习矩形的绘制,利用逻辑运算符实现小球和方块的碰撞判断;接着学习整除、取余、类型转换,利用随机数增加游戏的趣味性;最后实现得分的计算显示、解决小球在空中起跳的问题。


源码示例:

#include <graphics.h> #include <conio.h>#include <stdio.h>int main(){float width,height,gravity; // 游戏画面大小、重力加速度float ball_x,ball_y,ball_vy,radius; // 小球圆心坐标、y方向速度、半径大小float rect_left_x,rect_top_y,rect_width,rect_height,rect_vx; // 方块障碍物的相关参数int score = 0; // 得分int isBallOnFloor = 1; // 小球是否在地面上,避免重复起跳width = 600; // 游戏画面宽度height = 400; // 游戏画面高度gravity = 0.6; // 重力加速度initgraph(width, height); // 新建一个画布radius = 20; // 小球半径ball_x = width/4; // 小球x位置ball_y = height-radius; // 小球y位置ball_vy = 0; // 小球初始y速度为0rect_height = 100; // 方块高度rect_width = 20; // 方块宽度rect_left_x = width*3/4; // 方块左边x坐标rect_top_y = height - rect_height; // 方块顶部y坐标rect_vx = -3; // 方块x方向速度while(1) // 一直循环{if (kbhit()) // 当按键时{char input = _getch(); // 获得输入字符if (input==' ' && isBallOnFloor==1) // 当按下空格键,并且小球在地面上时{ball_vy = -17; // 给小球一个向上的速度isBallOnFloor = 0; // 表示小球不在地面了,不能重复起跳}}ball_vy = ball_vy gravity; // 根据重力加速度更新小球y方向速度ball_y = ball_y ball_vy; // 根据小球y方向速度更新其y坐标if (ball_y >= height-radius) // 如果小球落到地面上{ball_vy = 0; // y速度为0ball_y = height-radius; // 规范其y坐标,避免落到地面下isBallOnFloor = 1; // 表示小球在地面上}rect_left_x = rect_left_x rect_vx; // 方块向左移if (rect_left_x <= 0) // 如果方块跑到最左边{rect_left_x = width; // 在最右边重新出现score = score 1; // 得分 1rect_height = rand() % int(height/4) height/4; // 设置随机高度rect_vx = rand()/float(RAND_MAX) *4 - 7; // 设置方块随机速度}// 如果小球碰到方块if ((rect_left_x <= ball_x radius) && (rect_left_x rect_width >= ball_x - radius) && (height - rect_height <= ball_y radius) ){Sleep(50); // 慢动作效果score = 0; // 得分清零}cleardevice(); // 清空画面fillcircle(ball_x, ball_y, radius); // 绘制小球// 画方块fillrectangle(rect_left_x, height - rect_height, rect_left_x rect_width,height);TCHAR s[20]; // 定义字符串数组_stprintf(s, _T("%d"), score); // 将score转换为字符串settextstyle(40, 0, _T("宋体")); // 设置文字大小、字体outtextxy(50, 30, s); // 输出得分文字Sleep(10); // 暂停10毫秒}closegraph(); return 0;}

这一次主要讲解了字符、逻辑运算符、整除、取余、类型转换、随机数等语法知识。利用绘制圆、矩形的函数,实现了别碰方块的小游戏。

读者也可以参考本章的开发思路,尝试设计并分步骤实现flappy bird游戏(以后也会分享哦)

希望对大家有帮助!

作者:童晶

此外,我也给大家分享我收集的其他资源,从最零基础开始的教程到C语言C 项目案例,帮助大家在学习C语言的道路上披荆斩棘!

编程学习书籍分享:


编程学习视频分享:


整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!

对于C/C 感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些C/C 的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!

  • 姚笛任重吴卓羲电视剧(结婚为什么开播发布会)
  • 2024-11-22结婚为什么开播发布会都市轻喜情感剧《结婚为什么》于8月10日在北京举行了一场甜蜜与欢乐齐飞的开播发布会,导演苏万聪带领众主演姚笛、吴卓羲、任重、郑雅文、种丹妮甜蜜亮相,分别讲述剧中三对相处模式迥异的情侣之间的爱情故事现场。
  • 传统武术技巧和现代搏击(这就是传说中的传统武术格斗八打绝招)
  • 2024-11-22这就是传说中的传统武术格斗八打绝招请阅读完全文,并点击文章后的头条广告,以支持本账号!支持头条号!老有功夫武术迷与搏击格斗迷争论中国传统武术与现代搏击、拳击、泰拳等格斗形式,谁厉害?其实任何武术和格斗均起源于战场搏杀,其目的均是消灭对。
  • 民间真实的投案故事(凭着姥爷留下的半本残书)
  • 2024-11-22凭着姥爷留下的半本残书“徐大师,钱已经转过去了,你看看”女人斜靠在沙发里,狐媚的眼睛像是蒙了一层水雾,有些迷茫,却又风情万种的看着我我掏出手机,看看上面银行发来的短信,点点头:“到账了,谢谢惠顾”出了门,上了我的‘七手’Q。
  • 禅悦谷旅游攻略(五种方式带你打开禅茶清谷)
  • 2024-11-22五种方式带你打开禅茶清谷夏风拂面SUMMER晴空高照清新夏日时至六月盛夏如约而至六月的禅茶清谷有繁花,有绿叶,有星空跟随夏日微凉的清风五种方式带你打开禅茶清谷√SUMMER01世外茶园禅茶清谷禅茶清谷一处藏匿于清漪江畔的“世。
  • 华为手机电子扫描件怎么弄(华为手机右上角隐藏扫描功能)
  • 2024-11-22华为手机右上角隐藏扫描功能分享最实在的玩机技巧,洞察最前沿的科技资讯!大家好,这里是手机科技园!我们在生活中,有时候需要扫描文件,都会跑去打印店,其实华为手机右上角,一直隐藏着扫描功能,实用且强大,以后再也不用去打印店了首先我。
  • 香芹花生拌木耳教程(凉拌香芹花生木耳做法教程)
  • 2024-11-22凉拌香芹花生木耳做法教程准备材料:木耳200克、香芹100克、花生适量、醋适量、酱油适量、盐、鸡精、麻油各适量抓一小把花生,洗干净,沥干水分,下油锅里炒熟,盛到碗里,备用木耳用水侵泡开,去除蒂部脏物,过多几次水,洗净沙子,烧。
  • 韭菜炒鸡蛋家常做法(葱花炒鸡蛋)
  • 2024-11-22葱花炒鸡蛋鸡蛋是人们生活中必不可少的食材,每个烹饪小白的烹饪入门之路上肯定有葱花炒鸡蛋这道菜配料简单,鸡蛋和小葱即可;调味单一,油盐和蚝油就行,因为鸡蛋本身就是十分鲜美的食材了炒出的蛋色泽金黄、柔嫩鲜香,味道好。
  • 堆栈的特点是什么(堆栈的特点介绍)
  • 2024-11-22堆栈的特点介绍堆栈空间分配:栈(操作系统):由操作系统自动分配释放,存放函数的参数值,局部变量的值等其操作方式类似于数据结构中的栈堆(操作系统):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS(操作系统。
  • 透明质酸钠的功效与作用(透明质酸钠的功效与作用有什么)
  • 2024-11-22透明质酸钠的功效与作用有什么保湿作用,保湿作用是透明质酸钠在化妆品中最重要的作用,透明质酸的吸水能力非常强,是公认的天然保湿因子营养作用,透明质酸钠是皮肤固有的物质,外源性的透明质酸钠是对皮肤内源性的补充,小分子的透明质酸钠可深。
  • 男演员陈奕迅(老演员陈奕迅还不错哟)
  • 2024-11-22老演员陈奕迅还不错哟“我是谁?我在哪?”最近上映的一部新片,让小十君闹了个笑话它的名字和阵容乍看之下都有点迷,被我错当成了综艺节目,受到夏BB和王老实的2018年第一嘲:人家是电影好不啦嗯,我说的就是陈奕迅和李荣浩主演的。
  • 吃东西的时候口红需要擦掉吗(女性在吃饭前需要擦掉口红吗)
  • 2024-11-22女性在吃饭前需要擦掉口红吗现在大部分的女性,为了精气神好也出于礼仪,都会涂上不同颜色的口红可是,吃饭喝水的时候需要擦掉口红吗?接着我们从两个方面来分析:一、从健康方面来说不少商家都打着“不掉色、不沾水”的口号推销自己的口红产品。
  • 儿童长期不睡觉会怎么样(孩子老是晚上不睡觉)
  • 2024-11-22孩子老是晚上不睡觉失眠会导致儿童的身体功能严重受损失眠的儿童会经常感到昏昏欲睡和疲倦,影响身体发育,也会导致心理问题导致儿童失眠有很多原因,比如压力,药物,摄入咖啡因等想要改善孩子的睡眠,要让孩子少看电视和手机,并尽量。