[游戏开发]俄罗斯方块实现

2023-11-15

0.前言

整理一下,游戏开发的入坑作,俄罗斯方块。这里包含了 c 实现的俄罗斯方块处理(控制台/有界面),以及后续用 unity 做的版本,项目的代码太多,就都放在链接了,可以直接下载好了。就放百度云好了,也不会污染代码库(挠头)。项目链接如下。

链接:https://pan.baidu.com/s/1mZrtCNzQRse4s8ONUyjM-Q 
提取码:wsad

1.项目内容

在这里插入图片描述

从我 17 年上大学刚学到 c 语言的时候,看到别人找到了个贪吃蛇的代码,然后一顿编译就在命令框里玩了起来。当时就十分羡慕,就也很想做点什么好玩的游戏,然后自己开始尝试做俄罗斯方块这个经典游戏。

(1)Tetris_1_Black
终于歪歪扭扭的写了出来第一个版本,直接在控制台上运行的版本。
Tetris_1_Black

(2)Tetris_2_Color
但都是黑白,能不能有点颜色
Tetris_2_Color

(3)Tetris_3_Save
进程好长呀,能不能保存一下?
Tetris_3_Save

(4)Tetris_4_setting
这个有的颜色不喜欢,设置一下颜色之类?
Tetris_4_setting

(5)Tetris_5_optimze
好像有点 bug,修一下吧,界面也优化一下吧,至少看起来像样点。
Tetris_5_optimze

(6)Tetris_6_ML
来点音乐特效吧,这样玩得有感觉一点。只有中文吗,要不处理一下英语还可以装一下?Tetris_6_ML

(7)Tetris_7_new
但是这都是在命令框里面,做点有界面的,至少能点的界面?查查找找,修修补补,终于用一个 C 语言库做了界面。这个时候就暂时告一段落了,已经是我能够做的极限了,我所有会的东西都融合在里面了。
在这里插入图片描述

(8)Tetris_unity
等到大二 18 年的时候,知道了 Unity。然后开始用Unity来重新尝试做一下,这个时候就用的是 C#了,也是移动端版本。虽然在整理的时候也发现了很多提示不到位,操作不合理的地方,可惜,最近也很多事要做,而太多年之前做的东西了,也不想去更改了,就完结咯。
在这里插入图片描述
在这里插入图片描述

2.结尾

要多注意代码规范噢。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[游戏开发]俄罗斯方块实现 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么

随机推荐

  • HTML5基础知识总结

    文章目录 01 HTML5基础 了解HTML5 新语义标签 网页布局结构标签及兼容处理 多媒体标签及属性介绍 新表单元素及属性 智能表单控件 表单属性 HTMl5中的API 获取页面元素及类名操作和自定义属性 文件读取 获取网络状态 获取地
  • sql union 列的字段不一样的时候

    转载于 https www cnblogs com shenzhichipingguo p 8916705 html
  • 69-Sqrt(x)

    题目 Implement int sqrt int x Compute and return the square root of x 分析 这个题里面是有许多陷阱的 首先确定用二分法处理这个问题 然而0 x之间的num的平方有可能会溢出
  • Apifox接口测试教程(一)接口测试的原理与工具

    前言 掌握了http协议 就掌握了接口测试 笔者在网络上看过不少接口测试教程 一上来就开始讲怎么操作工具 而不告诉读者为什么要这么操作 读者可能照猫画虎成功了 也可能操作失败了但不知为何出错 因此 本文作为接口测试的入门第一课首先会给大家了
  • 静态代码分析工具(一)—Scitools Understand

    一 概述 Understand是一个用来进行静态的软件分析 软件度量 软件可视化的工具 二 软件使用 1 安装 安装的是Understand 5 1 安装及另起可用网上很多资源 2 新建工程 创建工程名称 路径 选择语言 注意 在C C 后
  • (cLion、RubyMine、PyCharm、WebStorm、PhpStorm、Appcode、Clion、Idea) 万能破解,获取自己的注冊码...

    听说cLion的ide编写c c 很的棒 今天下载了一个仅仅有30天的使用时间 作为程序猿破解它 下载破解文件 点击下载 password 7biu 解压压缩包 然后打开命令行 cd 到解压文件夹 运行例如以下命令 java jar bui
  • HTTP协议初探

    发现网络协议的知识对后台开发人员来说 还是非常重要的 所以特地去了解了以下 并作学习笔记 方便自己查阅 HTTP协议详解 HTTP就是一个基于应用层的通信规范 双方要进行通信 大家都要遵守一个规范 HTTP协议 HTTP协议从WWW服务器传
  • 数值计算 --- 三次样条函数插值(Cubic spline function interpolation)

    三次样条函数插值 Cubic spline function interpolation Part I 插值 预备知识 什么是插值 已知部分离散的数据 但不知道满足这些数据的函数表达式 插值 和拟合 都是为了找到对应的函数表达式 区别在于
  • Python 积累总结

    for i j in DataFrame 遇到的问题 for i j in new data groupby by embryo id company id if j shape 0 2 relationshipdata relations
  • Android中Log信息的输出方法

    共两篇文章 第一篇讲述了如何在程序中输出Log信息 第二篇详细的分析了Log信息的输出机制 下面是第一篇 转自 http blog 163 com binghaitao 126 blog static 3383532520099309366
  • Angular 4/5 form表单select初始化选中(简单string和复杂对象)

    1 问题场景 管理员增删改查中的 改 操作 管理员有性别 sex 和岗位 position 属性 其中 性别在后端为枚举类型 position为类 要求进入管理员修改页时 自动选择性别 通过接口获取所有岗位 并自动选中当前管理员的岗位 2
  • live555构建流媒体服务器(1)

    读test 264码流文件 客户端可以通过ffplay exe rtsp xxx播放出来 直接使用编译好的库 改自testOnDemandRTSPServer cpp include liveMedia hh include BasicUs
  • 【maven】论 maven settings 文件 mirrors 对 IDEA 的影响

    文章目录 1 概述 1 概述 事情是这样的 我们要升级flink 1 9 1 升级到 1 12 4 然后因为在内网 所以我拷贝了大量的jar包 然后先放在本地 然后再放入内网的私服上 结果 我的代码需要大量的显示引入包 才能因为依赖 不然到
  • 如何用ChatGPT制作xmind

    第一步 向ChatGPT提问内容Q 去旅游要分几个步骤 第二步 输出格式Q 转换markdown格式点击右上角 copy code注意 如果结果不是代码形式 补充一句提问 请用代码形式呈现 第三步 复制到text 改后缀 1 复制到text
  • Coverity 代码静态安全检测

    转自 http blog csdn net yasi xi article details 8349985 最近公司在推行代码Security检查 使用了Coverity代码静态检测工具 功能很强大 超乎我的期望 主要功能如下 列出不会被执
  • inline在c语言作用,[转载]C语言标准C99 内联函数(inline)总结

    1 定义 它们看起来象函数 运作起来象函数 比宏 macro 要好得多 使用时还不需要承担函数调用的开销 当内联一个函数时 编译器可以对函数体执行特定环境下的优化工作 这样的优化对 正常 的函数调用是不可能的 2 规则 inline关键字必
  • 【java】JDBC链接

    文章目录 一 JDBC API 二 JDBC加载 三 JDBC连接 MySQL8 MySQL5 四 API常用方法 Statement ResultSet 五 PreparedStatement 1 为什么要使用PreparedStatem
  • 英区智齿发炎自救 -- 牙周炎,抗菌治疗+止疼治疗+中医药辩证治疗

    英区智齿发炎自救 periodontitis 左下角半包半露的智齿又发炎了 这次来势凶猛 前阵子发炎我用Corsodyl漱口水 饭后盐水漱口就足够把他压下去 这次用了两天牙龈还是肿上天 严重的话超级有效的组合是阿莫西林 奥 甲硝唑 配合Co
  • open函数返回值为0

    open函数是我们开发中经常会遇到的 这个函数是对文件设备的打开操作 这个函数会返回一个句柄fd 我们通过这个句柄fd对设备文件读写操作 我们在对这个fd作判断的时候 经常会用到 fd open filename O RDONLY If f
  • [游戏开发]俄罗斯方块实现

    0 前言 整理一下 游戏开发的入坑作 俄罗斯方块 这里包含了 c 实现的俄罗斯方块处理 控制台 有界面 以及后续用 unity 做的版本 项目的代码太多 就都放在链接了 可以直接下载好了 就放百度云好了 也不会污染代码库 挠头 项目链接如下