当前位置: 首页 > ops >正文

嵌入式——C语言:俄罗斯方块

这次工程实现我们分三个文件

1.h文件:将宏和需要声明的函数放入,然后再在main.c和写俄罗斯方块功能.c文件中调用

2.写俄罗斯功能的.c文件

3.main.c文件

一、构建游戏区域

        1.初步计划构成的区域,左边大的3/4区域为游戏进行的区域,右上角区域为下一个即将出现的图形,坐下角为得分区域和基本操作步骤简介。

        

2.用符号‘*’来代替这些这些线条(这里我们定义一个二维数组来输入这些符号)

3.用颜色填充即背景色和前景色一直即可完成线条的绘制,然后在将我们需要的文字打入到右下角区域中。

二、构建方块

        构建方块前先了解总共有多少种方块,这里我们有18种。因为方块可能会在后期游戏中变形,所以我们对每个图像进行编号,后期变形时让他编号进行变化即可。

三、方块的移动

        1.游戏中我们需要左移右移,但是如果侧边有堆积的图形那么则不能移动,而且前提是在方框内。

        

        2.如果满足移动条件则我们移动方块

        3.移动完后我们还需要将移动前的图形进行清除

四、对方块的操作

        通过从键盘输入一些字符来控制图形的切换(w)、左移(a)、右移(d)、暂停游戏(p)和向下加速(s),用srand(time(NULL))然后对19取余这样就会随机拿到我们的编号;从而实现随机图形进入游戏中。

五、消行

        在我们消行之前也肯定是要有一个判断条件,如果满足一行没有空格(这里我们可以定义一个变量为1如果遇见空格将他赋值为0,然后再传入是否执行清行的if条件中即可)那我们就将其以及以下的行全部消掉,即整体向下平移一格,然后给第一行赋值为‘ ’。在执行清行时我们可以加一个计数器来计分。

六、游戏判定结束

http://www.xdnf.cn/news/16786.html

相关文章:

  • Spring Boot Actuator 保姆级教程
  • 【数据结构】-----排序的艺术画卷
  • Linux9 root密码修改
  • EXE加密软件(EXE一机一码加密大师) 最新版1.6.0更新 (附2025最新版本CSDN下载地址)
  • 日志归档存储策略在海外云服务器环境的容量规划方法
  • java的冒泡排序算法
  • 机器学习sklearn:编码、哑变量、二值化和分段
  • 【数据分享】南海综合波浪数据(1945-2018 年)(获取方式看文末)
  • OCR、文档解析工具合集
  • 在Alpine Linux上配置Redis使用NFS存储的完整指南
  • 包裹移动识别误报率↓76%:陌讯时序建模算法实战解析
  • 【C++】stack和queue
  • BGP服务器对于网络攻击该怎么办?
  • 《操作系统真象还原》 第五章 保护模式进阶
  • Qt结合ffmpeg实现图片参数调节/明亮度对比度饱和度设置/滤镜的使用
  • axios请求的取消
  • LOVON——面向足式Open-Vocabulary的VLN导航:LLM做任务分解、YOLO11做目标检测,最后L2MM将指令和视觉映射为动作,且解决动态模糊
  • ansible.cfg 配置文件的常见配置项及其说明
  • zabbix平台无法删除已停用主机的处理案例
  • Idea集成Jenkins Control插件,在IDEA中触发Jenkins中项目的构建
  • vivado implementation报错[Designutils 20-1307]
  • Dify版本升级实操
  • JavaWeb(苍穹外卖)--学习笔记16(定时任务工具Spring Task,Cron表达式)
  • 微信小程序页面间通信的实现方式
  • 《n8n基础教学》第一节:如何使用编辑器UI界面
  • 技术分享: 网关限流
  • kotlin语法和特性分析
  • 信号发生器和示波器阻抗匹配问题
  • WordPress 前端显示英文,后台显示中文的设置
  • 【苍穹外卖项目】Day05