跳至主要內容
新的开始

阿里云、腾讯云的学生优惠马上就都用完了,后续服务器的费用还是不小的。为了节约,我打算还是用回 GitHub Pages。这次,我并不打算使用 Hexo,而是考虑使用具有 Vue 特性的更强大的静态页面生成器:VuePress。我选择 Hope 作为主题,然后慢慢加入一些内容进来。希望这个博客更简约、更清爽,更适合阅读。

为了提高我的英文写作能力,我决定,后续发布的大多数文章都会有中英两个版本。


Lazy_V原创小于 1 分钟随笔随笔
使用 GBDK 绘制简单的精灵

GameBoy 屏幕分辨率为 160*144,对于现在而言,这是非常低的,但是这个分辨率对于那个像素时代而言,却已经足以显示一个个生动活泼的角色了。

精灵 (Sprite),在计算机图形学中指 2D 的位图,并经常使用于 2D 游戏中。

举个例子,超级马里奥中,马里奥对应的位图就是精灵。

我们如何使用 GBDK 将一个精灵绘制到 GameBoy 的屏幕中呢?


Lazy_V原创大约 7 分钟游戏开发游戏开发复古GameBoyGBDK
GBDK 环境搭建

GBDK 是开源工具,我们可以在 GitHub 上直接下载最新的 Release 版本。

我最近习惯使用 MacOS,这里我首先介绍如何在 MacOS 上搭建 GBDK 环境,并成功编译 Hello world 程序。Linux 和 MacOS 是一样的步骤。Windows 也是类似的步骤,如果有问题,欢迎随时在评论区留言。


Lazy_V原创大约 4 分钟游戏开发游戏开发复古GameBoyGBDK
GBDK 简介

对于经典的 GB/GBC 开发,高手们习惯使用汇编。但是使用汇编需要我们首先对 GB/GBC 整个硬件原理和完整的指令集有了完整的了解后才合适,这样的成本太高了。

现代的 GB/GBC 开发,至少需要使用高级编程语言,例如 C 语言。我们可以利用 GBDK 和 C 语言,进行 GB/GBC 开发。

GBDK (GameBoy Development Kit) 即 GameBoy 开发工具包,主要包含一个 C 语言编译器: SDCC。它包括编译器、汇编器和链接器。GBDK 还包含一系列 Z80 处理器相关的库。GameBoy 的 CPU 和 Z80 比较像,可以说是基于 Z80,它兼容 Z80 的大部分指令集,所以那些库也可以有效利用。


Lazy_V原创小于 1 分钟游戏开发游戏开发复古GameBoyGBDK
GB/GBC 游戏开发:简介

前言

任天堂 GameBoy 曾是风靡全球的掌机,不过很可惜,我小时候并没有接触过它。当我长大后了解它以后,对它产生了浓厚的兴趣。我希望我可以开发一些可以在 GameBoy 上运行的游戏。


Lazy_V大约 1 分钟游戏开发游戏开发复古GameBoy
解决 DP 问题的算法框架

动态规划问题在算法中属于复杂的问题. 然而,当你理解它的关键概念和算法框架后,解决它实际上是很简单的。


Lazy_V原创大约 5 分钟算法算法动态规划
深入探究 C# 11 的静态抽象接口方法

静态抽象接口方法是 C# 11 (对应 .NET 7.0) 引入的新特性。本篇我们来探究一下为什么要有它、它是什么,以及怎么使用它。


Lazy_V原创大约 6 分钟编程语言编程语言C#.NET接口
在 MongoDB 中实现自增 ID

在 MongoDB 中,每个文档都有一个 object id (Bson ID)。但有时我们创建新模型的时候,需要能够自增的 ID,并且 ID 应该是从 1 开始的整数。怎么解决这个问题呢?


Lazy_V原创小于 1 分钟后端MongoDB数据库