今年オセロのプログラムを見ました!! ええ。
オセロ Advent Calendar 2019 - Day 5
C言語 Advent Calendar 2019 - Day 5
ふうせん🎈 FU-SEN と申します。
Advent Calendar の一覧を見ていたところ……えっ?
オセロ!? ……ゲームでしょ? あのオセロ!!?
……あああああ、ネタあります!
今年たまたまオセロのプログラムを見てました!! ええ。
z88dk っていう、Z80 系のプラットフォームをターゲットにした、
クロス開発環境があるんですけどね……
昨日もこの話題を C言語 Advent Calendar でしたんですけど……
で、z88dk、ちゃんと GitHub にリポジトリがあるんですけどね……
そこのサンプルにですねぇ……
https://github.com/z88dk/z88dk/tree/master/examples
othello.c があるんですよ。 😲😁😆
https://github.com/z88dk/z88dk/blob/master/examples/othello.c
あるんだったら、早速動かしてみましょうか。
Z80 といえば……MSX エミュレータはすぐに動かせるので……
だって、MSX のサイトを 16 年も運営してますし……😆😲😁
zcc +msx -create-app -subtype=rom -bn othello othello.c
-subtype=rom で ROM カートリッジイメージにして、othello.rom を生成しました。
起動できました~! 画面は MSX のデフォルトで、上へスクロールしていく状態。
多くの環境で表示できるように、CLI のような表示にしてありますね。
石は O と * です。
キーボード操作、最初は先行(y=*)・後攻(n=O)の選択、
位置は数字 1~8 で 縦横 Enter(return)と入力します。
先行は * なので、64 Enter とか。
ソースを見ると、グラフィックモードもあるようなので……
zcc +msx -create-app -subtype=rom -clib=ansi -DGRAPHICS -bn othello othello.c
とすれば良いようですね。起動するかな?
……はい、起動成功です。
四角が出てるのはスプライトのゴミかと思いますが、ちゃんと動いてます。
これも多くの環境で動作するモノクログラフィックを使用しているため、
MSX では白地に黒文字となっています。正常に動作しています。
他にもいろいろ動かしてみますか。💻カタカタ…
zcc +zx81 -O3 -create-app -bn othello othello.c
ZX81 は othello.c に記載があるので、もちろん起動します。
ZX シリーズはすべて大文字で、代わりに反転になっています。
zcc +pc88 -create-app -bn othello othello.c
PC-8801 も起動できました。
zcc +pc6001 -subtype=32k -create-app -bn othello othello.c
PC-6001・PC-6601 は 32k にして起動できましたが、
何か動きがおかしいような……スクロールしませんねぇ。
……と、Z80 の様々なフラットフォームでオセロが動作できます。
しかもソースは C 言語。何か役に立つかもしれないと思って記事にしてみました。
オセロ Advent Calendar 2019
オセロ Advent Calendar 2019 | Qiita
C言語 Advent Calendar 2019
C言語 Advent Calendar 2019 | Qiita