摘要: 问题概述 实现添加文字的功能。 需要搭建一个文字渲染引擎 文字渲染引擎 核心思想: 用SDL_ttf 库渲染文字 创建通用的TextRenderer类 区分UI文本和世界文本 集成到引擎核心 文字渲染系统架构: ┌──────────────────┐ │ SDL_ttf │ ← 底层库 │ TTF 阅读全文
posted @ 2026-03-09 16:27 wenyiGamecpp 阅读(1) 评论(0) 推荐(0)
摘要: 字符串 反转字符串 (leetcode.344) 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 class Solution { public: void reverseString(vector<char>& s) { int n = s.size(); i 阅读全文
posted @ 2026-03-08 16:18 wenyiGamecpp 阅读(3) 评论(0) 推荐(0)
摘要: 问题概述 实现存档的功能,目前游戏,玩家进入新的关卡后状态清零,比如血量回满了。 实现目标,当玩家在第一关扣血了,进入第二关依然是第一关结尾时候的血量状态 解决方案:共享数据 核心思想: 创建独立的 SessionData 类存储游戏状态 使用 shared_ptr 在场景间共享数据 数据生命周期独 阅读全文
posted @ 2026-03-07 21:35 wenyiGamecpp 阅读(5) 评论(0) 推荐(0)
摘要: 哈希表 赎金信(leetcode.383) 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 并不困难,因为字母都是小写的,那么可以定义一个hash[26]作为 阅读全文
posted @ 2026-03-07 17:33 wenyiGamecpp 阅读(2) 评论(0) 推荐(0)
摘要: 问题概述 目前只有一个场景,本章实现一个新的场景载入。 解决方案 在Tiled中设置关卡触发器(传送门) 扩展LevelLoader支持自定义形状 GameScene支持加载不同地图 实现场景切换逻辑 1.在Tiled中创建关卡出口 Tiled的对象层不仅可以放置基于图块的对象,还可以绘制自定义形状 阅读全文
posted @ 2026-03-06 21:29 wenyiGamecpp 阅读(4) 评论(0) 推荐(0)
摘要: 哈希表 快乐数(leetcode.202) 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1,那么这个数就是快乐数。 阅读全文
posted @ 2026-03-06 18:55 wenyiGamecpp 阅读(2) 评论(0) 推荐(0)
摘要: 问题概述 不用问了,问个毛,没声音,解决加声音。 方案: 核心思想: 构建引擎层音频模块(AudioPlayer) 创建音频组件(AudioComponent) 实现数据驱动的音效配置 为游戏各处添加音效和音乐 音频系统架构: ┌──────────────────┐ │ SDL_mixer │ ← 阅读全文
posted @ 2026-03-05 21:36 wenyiGamecpp 阅读(5) 评论(0) 推荐(0)
摘要: 哈希表 有效字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的 字母异位词,就是两个字符串的字符数量要一样而且字母出现的次数也要一样 这题就可以使用哈希表思想来实现了,原理并不复杂,首先,a~z 一共26个字母,我们恰好可以使用数组来实现,hash[26],用这个数组来 阅读全文
posted @ 2026-03-05 13:50 wenyiGamecpp 阅读(1) 评论(0) 推荐(0)
摘要: 尝试用AI写,发现这玩意确实有点厉害 阅读全文
posted @ 2026-03-05 11:34 wenyiGamecpp 阅读(5) 评论(0) 推荐(0)
摘要: 问题概述 现在我们已经实现了完整的移动系统,但是游戏手感上还是有缺陷的,玩家操作的时候会遇到某些问题。 最直接的就是,在进行平台跳跃的时候,我们跳跃判定是很严格的,比如只有在Idle、walk状态下进行,还有就是在平台边缘极限跳跃的时候,感觉明明按下跳跃了,但是依然失败了。 其次,玩家在下斜坡的时候 阅读全文
posted @ 2026-03-04 20:48 wenyiGamecpp 阅读(1) 评论(0) 推荐(0)