Nenhuma descrição

PasCal++ 776edbe57b Merge pull request #1 from mysterywolf/master 5 anos atrás
LICENSE 4c2f3838cf 上传 5 anos atrás
README.md 5f4798d655 Update README.md 5 anos atrás
SConscript 88900be589 更改目录结构 5 anos atrás
Tetris.c 88900be589 更改目录结构 5 anos atrás
Tetris.h 88900be589 更改目录结构 5 anos atrás
tetris.png 88900be589 更改目录结构 5 anos atrás
tetris_demo.c 88900be589 更改目录结构 5 anos atrás

README.md

rtt-tetris

用FinSH玩的俄罗斯方块。

简介

跨平台俄罗斯方块移植到RT-Thread,可以通过PuTTY或XShell游玩。

pic

API

Tetris.c
Tetris.h

这两个文件是从跨平台俄罗斯方块复制过来的。总共只有6个函数接口:

void NewGame(TCmd *Messenger);
void MoveLeft(TCmd *Messenger);
void MoveRight(TCmd *Messenger);
bool MoveDown(TCmd *Messenger);
void Transform(TCmd *Messenger);
bool GameOver(void);

每个函数的输出都是一个TCmd结构体,记录了发生变动的方块的坐标。

食用方式

在ENV工具的配置方法:

 RT-Thread online packages  --->
    miscellaneous packages  --->
        games: games run on RT-Thread console  --->
            [*] Tetris: An indie puzzle video game run on RT-Thread console

在终端下键入:

msh> tetris_demo

即可运行。

若要改变游戏速度,可以在命令后跟上方块下落的时间间隔,如:

msh >tetris_demo 200

表示俄罗斯方块每200毫秒下落一格。

  • tetris_demo.c中有以下宏定义,可以自行修改键位:

    #define KEY_UP    ('w')
    #define KEY_LEFT  ('a')
    #define KEY_DOWN  ('s')
    #define KEY_RIGHT ('d')
    
  • Tetris.h中可以修改画布尺寸:

    // Horizon
    #define SizeX 24
    // Vertial
    #define SizeY 32
    

TODO

目前每次下落只能左右移动一格,计划采用多线程实现。

联系方式

  • QQ:1043064987