forked from Yuri213212/tetris
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2ae2546
commit b4b6014
Showing
47 changed files
with
3,811 additions
and
131 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
/.vscode/ | ||
/*.o | ||
/*.exe | ||
/*.aps | ||
/RC* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
# tetris by Yuri213212 | ||
|
||
[English](README.md) / **中文** / [日本語](README-JP.md) | ||
|
||
![](image.png) | ||
|
||
使用协议:对于所有文件遵循 [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) | ||
|
||
本程序模仿简单的液晶屏俄罗斯方块掌机。 | ||
|
||
## 系统要求 | ||
|
||
- **Windows 2000 或更高版本** | ||
- 已在 Windows XP SP3、10、11 上测试 | ||
- **Windows CE .NET 4.0 或更高版本** | ||
- 已确认可用于 [Sharp Brain PW-SH1](https://jp.sharp/support/dictionary/product/pw-sh1.html) (CE 6.0 with Armv5TEJ CPU), [Sigmarion III](https://www.hpcfactor.com/hardware/devices/141/NTT_Do_Co_Mo/Sigmarion_III) (CE 4.1 with Armv4 CPU), [MobilePro 900](https://www.hpcfactor.com/hardware/devices/134/NEC/MobilePro_900) (CE 4.2 with Armv5TE CPU) | ||
- 完整播放需要 480px(高)x 320px(宽)或更高的屏幕分辨率 | ||
|
||
有关 Sharp Brain(包括兼容型号)的信息,请参阅 [Brain Wiki](https://brain.fandom.com/ja)。 | ||
|
||
## 方块种类 | ||
|
||
- 简单模式:7 种常规方块 | ||
``` | ||
。 | ||
。 。。 。 。 | ||
。 。。 。 。 。。。 。。 。。 | ||
。 。。 。。 。 。。 。。 | ||
``` | ||
- 困难模式:在简单模式基础上增加 6 种方块,其中 1 点的会穿墙 | ||
``` | ||
。 。。。 。。 。。 | ||
。。。 。。。 。 。 。 。 | ||
。 。 。 。 。。 。。 | ||
``` | ||
- 欢乐模式:在困难模式基础上增加 3 种特殊道具,从左到右依次是消块枪、加块枪和炸弹 | ||
``` | ||
。 。 。 | ||
。 。 。。 | ||
。 。 。。 | ||
``` | ||
|
||
## 颜色的意义 | ||
|
||
- 红色:场上的方块 | ||
- 蓝色:普通方块 | ||
- 绿色:可以穿墙的方块 | ||
- 黄色:正在穿墙的方块 | ||
- 紫色:特殊道具 | ||
- 橙色:炸弹爆炸特效 | ||
- 青色:消块枪的子弹,高速下落,从下方出界消失,落到红色块将与其同时消失 | ||
- 黑色:加块枪的子弹,高速下落,落地将变成红色块 | ||
|
||
## 操作方法 | ||
|
||
从 [Releases](../../releases) 下载合适的版本,并在设备上运行。无需安装。您可以直接删除此应用程序。它不会保存任何外部信息,如注册表。 | ||
|
||
对于 Sharp Brain,请使用 Armv4I 或 Armv5TEJ,[此处(日文)](https://brain.fandom.com/ja/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95)或[此处(英文)](https://www.hpcfactor.com/reviews/editorial/ceopener-sharp-brain/)。 不过,由于必须在高分辨率模式下运行,请放置 `AppMain.cfg` 或通过 exeopener 或 ceOpener 等其他软件启动。 | ||
|
||
- 游戏开始前,按方向键选择模式和等级 | ||
- 上下键选择模式,决定游戏中可能出现的方块类型 | ||
- 左右键选择等级,决定初始盘面下方出现随机垃圾的行数 | ||
- 按“开始”按钮或回车键开始游戏 | ||
- 按方向键控制游戏 | ||
- 左右键水平移动方块 | ||
- 下键向下移动方块(加速下落) | ||
- 上键逆时针旋转方块,不过特殊道具不能旋转,上键用于执行道具的特殊动作 | ||
- 对于消块枪和加块枪,上键发射与其对应的子弹,两种枪落地消失 | ||
- 屏幕中的子弹数量限制为 1,主要是减少程序复杂性,同时避免了动画过程中插入动画的可能性 | ||
- 对于炸弹,上键立即引爆,如果不按则是落地时引爆,爆炸中心为其田字中心,破坏 6\*6 区域的方块 | ||
- 按“暂停”按钮或空格键暂停游戏 | ||
- 按“重启”按钮或 Esc 键重启游戏机 | ||
- 使用滚动条或上下翻页/Home/End 键调节音量 | ||
|
||
## 关于声音 | ||
|
||
- 因为是模拟简单的游戏机,所以只做了单通道方波,处理简单,不过设计爆炸等音效的乐谱比较困难 | ||
- 单方波令人联想到超市收银台、医院心电图等只能发出 500Hz 方波的业务机器,因此调音的时候故意调成 A-4=500 Hz 而不是标准的 440 Hz | ||
- 开机音乐出自 9999 in 1 游戏机,游戏开始与结束音乐出自只有俄罗斯方块的游戏机,都是凭记忆重现,可能与实机有区别 | ||
|
||
## 如何构建 | ||
|
||
### 为 Windows PC 构建 | ||
|
||
- `tetris.sh`:在 UNIX 上使用 [MinGW-w64](https://www.mingw-w64.org/) 联编二进制文件 | ||
- 要求可从 PATH 访问 MinGW-w64 | ||
- 您可能需要传递指向正确 MinGW-w64 二进制文件的环境变量 `PREFIX32` 和 `PREFIX64`,因为环境不同(例如 `x86_64-w64-mingw32-`) | ||
|
||
### 为 Windows CE(包括 Sharp Brain)构建 | ||
|
||
您可能需要先阅读[此处(日语)](https://brain.fandom.com/ja/wiki/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%83%BBSDK)或[此处(英语)](https://www.hpcfactor.com/developer/)来设置您的开发环境。 | ||
|
||
- `brain.sh`:在 UNIX 上使用 [CeGCC](https://max.kellermann.name/projects/cegcc/) 生成二进制文件 | ||
- 要求可从 PATH 访问 CeGCC | ||
- 如果想使用不同版本的 CeGCC,可以通过环境变量 `PREFIX` | ||
- `evc4proj/`:eMbedded Visual C++ 4.0 项目 | ||
- 只需打开 `.vcw` 文件,并在安装了 SDK 的 Windows 机器上构建即可 | ||
- 我们使用 Windows CE 4.0 标准 SDK |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
# tetris by Yuri213212 | ||
|
||
[English](README.md) / [中文](README-CH.md) / **日本語** | ||
|
||
![](image-jp.png) | ||
|
||
ライセンス:[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) | ||
|
||
簡易的なテトリスの携帯ゲーム機を再現します。 | ||
|
||
## 動作環境 | ||
|
||
- **Windows 2000 以降** | ||
- Windows XP SP3, 10, 11 で動作確認済み | ||
- **Windows CE .NET 4.0 以降** | ||
- [SHARP Brain PW-SH1](https://jp.sharp/support/dictionary/product/pw-sh1.html) (CE 6.0 with Armv5TEJ CPU), [Sigmarion III](https://www.hpcfactor.com/hardware/devices/141/NTT_Do_Co_Mo/Sigmarion_III) (CE 4.1 with Armv4 CPU), [MobilePro 900](https://www.hpcfactor.com/hardware/devices/134/NEC/MobilePro_900) (CE 4.2 with Armv5TE CPU) で動作確認済み | ||
- 完全なプレイには縦 480px 横 320px 以上の画面解像度が必要です | ||
|
||
SHARP Brain について、対応機種等の情報は [Brain Wiki](https://brain.fandom.com/ja) を参考にしてください。日本語で使用する場合は電子辞書の日本語化が必要です。 | ||
|
||
## テトリミノの種類 | ||
|
||
- 普通:7 種類 | ||
``` | ||
。 | ||
。 。。 。 。 | ||
。 。。 。 。 。。。 。。 。。 | ||
。 。。 。。 。 。。 。。 | ||
``` | ||
- 難しい:壁を通り抜ける 1 点テトリミノを含む 6 種類のテトリミノを追加 | ||
``` | ||
。 。。。 。。 。。 | ||
。。。 。。。 。 。 。 。 | ||
。 。 。 。 。。 。。 | ||
``` | ||
- ファン:左からブロック消し銃、ブロック銃、ボムの 3 つの特殊小道具が追加 | ||
``` | ||
。 。 。 | ||
。 。 。。 | ||
。 。 。。 | ||
``` | ||
|
||
## 色 | ||
|
||
- 赤:フィールド上のブロック | ||
- 青:通常のブロック | ||
- 緑:壁を通り抜け可能なブロック | ||
- 黄:壁を通り抜けているブロック | ||
- 紫:特殊な小道具 | ||
- 橙:爆弾の爆発エフェクト | ||
- 水:ブロック消し銃からの弾丸 | ||
- 高速で落下し、境界線の下から消え、赤いブロックに着地するとそのブロックとともに消える | ||
- 黒:ブロック銃の弾 | ||
- 高速で落下し、地面に当たると赤いブロックに変わる | ||
|
||
## 遊び方 | ||
|
||
[Releases](../../releases) からご使用のコンピュータに合った実行ファイルを取得し、実行します。インストール作業は不要です。アンインストールも、レジストリ等は使用しないので実行ファイルを削除するだけで可能です。 | ||
|
||
SHARP Brain では Armv4I または Armv5TEJ のものを使用し、[こちら](https://brain.fandom.com/ja/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95)に記載の手順に従ってください。ただし、高解像度モードでの実行が必要なため、`AppMain.cfg` を配置するか exeopener や ceOpener 等の他ソフト経由で起動してください。 | ||
|
||
- ゲーム開始前に、矢印キーでモードとレベルを選択できます | ||
- 上下キーでモードを選択し、ゲームに登場するテトリミノの種類を決めます | ||
- 左右キーでレベルを選択し、最初に盤面下部に配置されるランダムなブロックの列数を決めます | ||
- 開始ボタンまたは Enter キーを押すとゲームが始まります | ||
- 矢印キーで操作します | ||
- 左右キーでテトリミノを水平に移動します | ||
- 下キーでテトリミノを下に移動(加速)します | ||
- 上キーでテトリミノを反時計回りに回転させます | ||
- 特殊小道具は回転せず、特殊動作を行います | ||
- ブロック消し銃とブロック銃:上キーで弾を発射(地面に落ちると消える) | ||
- アニメーション処理中に別のアニメーションが発生することを防ぎ、プログラムの複雑さを軽減するために画面上の弾丸の個数は 1 つまでに制限されています | ||
- 爆弾:上ボタンを押すとすぐに爆発し、そうでない場合は地面に落ちたときに爆発し、爆発の中心はそのフィールドの中心となり、6x6 エリアを破壊する | ||
- 停止またはスペースキーを押すと停止します | ||
- リセットまたは ESC キーを押すとゲームがリセットします | ||
- スクロールバーまたは Page Up/Page Down/Home/End キーで音量を調節できます | ||
|
||
## サウンドについて | ||
|
||
簡易ゲーム機の再現なので 1 ch の矩形波のみで構成されており、扱いは簡単ですが、爆発音などの効果音の作曲が難しくなります。スーパーのレジや病院の心電図のような 500 Hz の矩形波しか出せない業務用機械を想起させるよう、標準的な 440 Hz ではなく A-4 = 500 Hz にチューニングしています。起動時の音楽は「9999 in 1」ゲーム機のもの、開始時と終了時の音楽は「テトリス」専用ゲーム機のものですが、いずれも記憶から再現しているため、実機とは異なる可能性があります。 | ||
|
||
## ビルド方法 | ||
|
||
### Windows PC 向けにビルドする | ||
|
||
- `tetris.sh`: [MinGW-w64](https://www.mingw-w64.org/) を用いてビルドします(UNIX 環境向け) | ||
- MinGW-w64 に PATH が通っている必要があります | ||
- 環境によっては環境変数 `PREFIX32` と `PREFIX64` を設定する必要があります(例:`x86_64-w64-mingw32-`) | ||
|
||
### Windows CE(SHARP Brain を含む)向けにビルドする | ||
|
||
まず、[こちら](https://brain.fandom.com/ja/wiki/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%83%BBSDK)を参考に環境構築を行ってください。 | ||
|
||
- `brain.sh`: [CeGCC](https://max.kellermann.name/projects/cegcc/) を用いてビルドします(UNIX 環境向け) | ||
- CeGCC に PATH が通っている必要があります | ||
- 環境変数 `PREFIX` を設定し、異なるバージョンの CeGCC を使用することも可能です | ||
- `evc4proj/`: eMbedded Visual C++ 4.0 プロジェクト | ||
- SDK がインストールされた状態の Windows 環境で `.vcw` ファイルを開き、ビルドします | ||
- Release は Standard SDK for Windows CE 4.0 で作成しています |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
# tetris by Yuri213212 | ||
|
||
**English** / [中文](README-CH.md) / [日本語](README-JP.md) | ||
|
||
![](image.png) | ||
|
||
License: [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) | ||
|
||
This program mimics a simple LCD Tetris handheld. | ||
|
||
## Supported Platforms | ||
|
||
- **Windows 2000 or later** | ||
- Tested on Windows XP SP3, 10 and 11 | ||
- **Windows CE .NET 4.0 or later** | ||
- Tested on [Sharp Brain PW-SH1](https://jp.sharp/support/dictionary/product/pw-sh1.html) (CE 6.0 with Armv5TEJ CPU), [Sigmarion III](https://www.hpcfactor.com/hardware/devices/141/NTT_Do_Co_Mo/Sigmarion_III) (CE 4.1 with Armv4 CPU), [MobilePro 900](https://www.hpcfactor.com/hardware/devices/134/NEC/MobilePro_900) (CE 4.2 with Armv5TE CPU) | ||
- A screen resolution of at least 480px x 320px (H x W) is required for a complete playing experience | ||
|
||
Read [Brain Wiki](https://brain.fandom.com/ja) for supported Sharp Brain electronic dictionary devices. | ||
|
||
## Tetriminos | ||
|
||
- Normal mode: 7 regular Tetriminos | ||
``` | ||
。 | ||
。 。。 。 。 | ||
。 。。 。 。 。。。 。。 。。 | ||
。 。。 。。 。 。。 。。 | ||
``` | ||
- Hard Mode: Adds 6 types of Tetriminos to Easy Mode, includes a Tetrimino which consists of just 1 dot which goes through walls | ||
``` | ||
。 。。。 。。 。。 | ||
。。。 。。。 。 。 。 。 | ||
。 。 。 。 。。 。。 | ||
``` | ||
- Fun Mode: 3 special props are added to the hard mode, from left to right, they are Block Elimination Gun, Block Gun, and Bomb | ||
``` | ||
。 。 。 | ||
。 。 。。 | ||
。 。 。。 | ||
``` | ||
|
||
## Colors | ||
|
||
- Red: Blocks on the field | ||
- Blue: Normal blocks | ||
- Green: Blocks that go through walls | ||
- Yellow: Blocks that are going through walls | ||
- Purple: Special props | ||
- Orange: Bomb explosion effects | ||
- Cyan: Bullets from block elimination guns | ||
- Falls at high speed, disappears from the bottom of the border, and will disappear with a red block when it lands on it | ||
- Black: Bullets from block guns | ||
- Falls at high speed, will turn into a red block when it hit the ground | ||
|
||
## Playing | ||
|
||
Download an appropriate one from [Releases](../../releases) and run it on your device. No installation needed. You can remove this app by just deleting it. It doesn't save anything outside such as the registry. | ||
|
||
For Sharp Brain, use Armv4I or Armv5TEJ version and follow the usual procedure, which is explained [here (Japanese)](https://brain.fandom.com/ja/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95) and [here (English)](https://www.hpcfactor.com/reviews/editorial/ceopener-sharp-brain/). Then, place `AppMain.cfg` or launch from another app such as exeopener or ceOpener, to run this game in the full resolution mode. | ||
|
||
- Before the game starts, press the arrow keys to select a mode and a level | ||
- Press up and down keys to select a mode, which determines the set of Tetriminos that may appear in the game | ||
- Press left and right keys to select a level, which determines the number of rows of randomized garbage blocks that will appear at the bottom of the playing field | ||
- Press "START" or the Enter key to start the game | ||
- Use arrow keys to control Tetriminos | ||
- Left and right button to move Tetriminos horizontally | ||
- Down key to move Tetriminos downward (accelerates the fall) | ||
- Up key to rotate Tetriminos counterclockwise | ||
- Special props doesn't rotate, but performs special moves defined for each props instead | ||
- For block elimination guns and block guns, press up to fire a bullet, and both guns will disappear when they hit the ground | ||
- The number of bullets in the screen is limited to 1, mainly to reduce the complexity of the implementation introduced by the possibility of inserting an animation during another animation process | ||
- For bombs, the up button will detonate it immediately, if you don't press it, it will detonate when it hits the ground, the center of the explosion will be the center of the field, destroying the 6x6 area | ||
- Press "PAUSE" or the Space key to pause the game | ||
- Press "RESET" or the Esc key to restart the game | ||
- Use the scroll bar or Page Up/Page Down/Home/End keys to adjust the volume | ||
|
||
## About Sound | ||
|
||
As this software simulates a simple game console, it plays square wave in single channel which is easy to handle. However, it makes designing scores for explosions and other sound effects difficult. The single channel square wave is reminiscent of business machines that can only emit 500 Hz square waves such as supermarket cash registers and hospital EKGs, so the tuning was deliberately set to A-4 = 500 Hz instead of the standard 440 Hz. The start-up music is from a game console named "9999 in 1", and the start and end musics are from a Tetris-only game machine, both of which are reproduced from our memory and may be different from the actual sound. | ||
|
||
## How To Build | ||
|
||
### Build for Windows PC | ||
|
||
- `tetris.sh`: Builds executables using [MinGW-w64](https://www.mingw-w64.org/) on UNIX | ||
- Requires MinGW-w64 to be accessible from PATH | ||
- You may need to pass environmental variables `PREFIX32` and `PREFIX64` that points to correct MinGW-w64 executables, as it differs by environments (ex. `x86_64-w64-mingw32-`) | ||
|
||
### Build for Windows CE (including Sharp Brain) | ||
|
||
You probably want to read either [here (Japanese)](https://brain.fandom.com/ja/wiki/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%83%BBSDK) or [here (English)](https://www.hpcfactor.com/developer/) to set up your development environment first. | ||
|
||
- `brain.sh`: Builds executables using [CeGCC](https://max.kellermann.name/projects/cegcc/) on UNIX | ||
- Requires CeGCC to be accessible from PATH | ||
- You can pass a environmental variable `PREFIX` if you want to use a different version of CeGCC | ||
- `evc4proj/`: eMbedded Visual C++ 4.0 project | ||
- Just open the `.vcw` file and build on a Windows machine, with a SDK installed | ||
- We use the Standard SDK for Windows CE 4.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<?xml version="1.0" encoding="utf-8" standalone="yes"?> | ||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> | ||
<application xmlns="urn:schemas-microsoft-com:asm.v3"> | ||
<windowsSettings> | ||
<gdiScaling xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">true</gdiScaling> | ||
</windowsSettings> | ||
</application> | ||
<dependency> | ||
<dependentAssembly> | ||
<assemblyIdentity | ||
type="win32" | ||
name="Microsoft.Windows.Common-Controls" | ||
version="6.0.0.0" | ||
processorArchitecture="*" | ||
publicKeyToken="6595b64144ccf1df" | ||
language="*" | ||
/> | ||
</dependentAssembly> | ||
</dependency> | ||
</assembly> |
Oops, something went wrong.