c语言小游戏源代码井字棋(C语言实现别碰白块小游戏)
c语言小游戏源代码井字棋(C语言实现别碰白块小游戏)
2024-11-22 02:02:28  作者:淡淡雅香  网址:https://m.xinb2b.cn/sport/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大盘鸡产地之争引热议看完新疆大盘鸡的做法后,才终于发现:原来大盘鸡是四川人发明的最近大盘鸡产地之争引热议,到底是四川人发明的,还是新疆人改良的?不久前跟一个四川的老厨师,在一家新疆菜餐厅里交流美食心得,刚好点了一道新疆大。
  • 阿米尔汗有孩子吗(阿米尔汗的儿子长得真可爱)
  • 2024-11-22阿米尔汗的儿子长得真可爱作者:妙妙糖这几年,印度巨星阿米尔·汗在中国可谓是很红很火爆,从《三傻大闹宝莱坞》到《摔跤吧!爸爸》,接二连三叫好又叫座的作品,让他几乎成为了印度电影在中国的代言人,过几天,他的新片《神秘巨星》也即将。
  • 老表短教学(老表第三系列聚焦教育)
  • 2024-11-22老表第三系列聚焦教育王祖蓝演的第二男主角戏份少老表,毕业啦!(首播)娱家戏剧台(星和Ch855)每星期一至五晚上8.00从香港打入中国大陆的谐星王祖蓝,过去跨界编剧,连续编出两系列《老表,你好吔!》《老表,你好hea!》。
  • 气垫bb霜正确的使用方法是什么(盘点它的神奇用处)
  • 2024-11-22盘点它的神奇用处不管是青春元气少女,还是成熟知性女性,化妆已经成了当代女生的必备技能今天,小编想来给大家介绍介绍裸妆的必备品——气垫bb霜它有什么神奇的用处呢?俗话说的好,只有丑女人没有懒女人美丽的人都是打扮出来的,。
  • 一分钟看懂朋友圈谣言(你还在转发这些谣言吗)
  • 2024-11-22你还在转发这些谣言吗点击关注我们·网罗贵州最新最全资讯你有没有在朋友圈看到含有这样字眼的微信“转疯了”“集赞送礼”“不转不是中国人”这些带有鼓动性、利诱性的怂恿式微信让朋友圈里的谣言病毒式传播……日前,中山大学大数据传播。
  • dior代购靠谱吗(三万多的DIOR包)
  • 2024-11-22三万多的DIOR包关于偶像剧,每个人都会有自己的定义,而那些最最打动人心的浪漫,都有一个共同的特征,那就是为爱不顾一切if姐对ifer,不顾一切很多次最近举办的if上海欢乐汇,if姐就给ifer打造了一个“森林幻景”奇。
  • 18款吸睛染发颜色重磅来袭(6款绝美染发剂推荐)
  • 2024-11-226款绝美染发剂推荐6款绝美染发剂推荐,在家也能get明星的同款发色今天给大家分享几款非常好用的染发剂,颜色都是明星的同款发色哦,马上过年了,建议大家回家之前,换一个新的发色,给人一种焕然一新的感觉哦爱茉莉的10G—香草。
  • 业主给物业送抗疫锦旗文案(真情抗疫为业主)
  • 2024-11-22真情抗疫为业主成都日报锦观新闻记者刘浏9月24日上午,在成都市合能物业管理有限公司东城攻略物业服务中心,业主徐先生和小区部分业主代表们一道把7面分别写着“抗疫勇士真情为民”“防控疫情忠职守点滴服务暖人心”等感谢赞美。
  • 安徽省交通运输厅厅长(安徽省交通厅原重要官员被查)
  • 2024-11-22安徽省交通厅原重要官员被查5日,安徽省纪委查处一名干了32年纪检工作的“内鬼”据安徽省纪委监委5日消息:安徽省纪委原驻省交通运输厅纪检组组长阎如政涉嫌严重违纪违法,目前正接受纪律审查和监察调查阎如政已于2017年9月退休此番被。
  • 打开罐头盖的方法
  • 2024-11-22打开罐头盖的方法1.勺子翘边法,使空气进入瓶中,一拧即开;2.保鲜膜法,用保鲜膜套在瓶盖上,一拧即开;3.倒置拍打法,将罐头瓶倒过来放到桌面上拍打几下,然后正过来一拧即开;4.温水浸泡法,将罐头倒置在60度的温水中,。