TypePHP 编译器
https://swoole.com/aot/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.1 KiB
59 lines
1.1 KiB
# 俄罗斯方块游戏 - SDL 版本
|
|
|
|
这是一个使用 PHP 和 C++ 实现的俄罗斯方块游戏,专为 Linux 平台设计,使用 SDL2 库进行图形渲染。
|
|
|
|
## 系统要求
|
|
|
|
- Linux 操作系统
|
|
- PHP 8.0+
|
|
- SDL2 开发库
|
|
- AOT 编译器
|
|
|
|
## 安装依赖
|
|
|
|
在 Ubuntu/Debian 系统上安装 SDL2:
|
|
|
|
```bash
|
|
sudo apt-get install libsdl2-dev
|
|
```
|
|
|
|
在 CentOS/RHEL 系统上安装 SDL2:
|
|
|
|
```bash
|
|
sudo yum install SDL2-devel
|
|
```
|
|
|
|
## 编译和运行
|
|
|
|
1. 确保已安装所有依赖
|
|
2. 使用 AOT 编译器编译项目:
|
|
|
|
```bash
|
|
php compiler.php compile examples/tetris
|
|
```
|
|
|
|
3. 运行编译后的程序:
|
|
|
|
```bash
|
|
./examples/tetris/build/tetris
|
|
```
|
|
|
|
## 控制方式
|
|
|
|
- ← → : 左右移动方块
|
|
- ↑ : 旋转方块
|
|
- ↓ : 加速下落
|
|
- 空格 : 直接落下
|
|
|
|
## 技术实现
|
|
|
|
- 游戏逻辑使用 PHP 编写
|
|
- 图形渲染和窗口管理使用 C++ 和 SDL2
|
|
- 通过 PHX 扩展桥接 PHP 和 C++
|
|
|
|
## 文件结构
|
|
|
|
- `main.php` - 主游戏逻辑(PHP)
|
|
- `php-src/` - PHP 函数声明
|
|
- `cpp-src/` - C++ 实现(SDL2 图形接口)
|
|
- `project.yml` - 项目配置文件
|
|
|