#ref(): File not found: "83_tiny_basic2.zip" at page "sample.2"
追記:tinyBasic3を作りました。NO.94 tiny_basic3を参照してください。
言語開発合宿(2泊3日の期間内に、オレ言語の仕様とその処理系を作るというイベント)の製作物です。NO.80のものに命令語を追加して、FizzBuzzを動かしてみました。
前回の実装分:「FOR, NEXT, PRINT, GOSUB, RETURN, END」
今回の追加:「IF(条件は=(イコール)のみ対応), RND, CIRCLE, LINE」
追記:tinyBasic3を作りました。NO.94 tiny_basic3を参照してください。
10 FOR I=1 TO 100 20 IF I%15 = 0 THEN GOTO 80 30 IF I% 3 = 0 THEN GOTO 100 40 IF I% 5 = 0 THEN GOTO 120 50 PRINT I 60 NEXT 70 END 80 PRINT "FizzBuzz" 90 GOTO 60 100 PRINT "Fizz" 110 GOTO 60 120 PRINT "Buzz" 130 GOTO 60
もしかしたら言語開発合宿のリンクから飛んできた方に、いきなりソースコードを見せるのはよろしくないので少し補足説明をさせていただきます。まず、83_tiny_basic2.zipを解凍すると、フォルダ構成は以下のようになっています。 もしかしたら言語開発合宿のリンクから飛んできた方に、いきなりソースコードを見せるのはよろしくないので少し補足説明をさせていただきます。まず、83_tiny_basic2.zipを解凍すると、ファイルとフォルダ構成は以下のようになっています。
gbfsフォルダはBASICのソースコードが置いてあります。これはGBA上でfopenやfseekなどを使う為の擬似ファイルシステムを使うためです。orgフォルダは、このソフトを作る為に参考にしたソースコードです。www.programmersheaven.comから拝借しました。srcフォルダはソースコードが一式入っています。Basicインタプリタは「basic.h、basic.c」だけで動いているので、それ以外は読まなくても問題ありません。
最後にtest2.gbaファイルはGBAのROMファイルです。エミュレータで実行していただければ上記のキャプチャー画面のようなものが表示されます。エミュレータを持っていない場合こちらから入手してください。操作方法は矢印キーとZボタンだけとなっています。
GBAで「みっくみっくにしてあげる~☆」の弾幕をしたかっただけに作りました。今は反省しています。
ROMの作成には、動画から抽出したwavファイルが必要です。
ねぎを振り回したかっただけに作りました。YO!の後は超連射してください。
一部の人から(良い意味で)避難轟々(^^;。TK-80をGBA上で再現してみました。今回は書籍「復活!TK-80」のデータを使わせて頂いているので、本を持っていない方は遊べないようになっています。あと一部未実装の機能&バグがあります。
「30日でできる!OS自作入門 29日目(p650)」のインベーダゲームの移植板です。今回は自作のmalloc関数を作り、個々のキャラクターを動的に確保してみました。ベースは本に書いてあるソースコードを流用しています。
MMLの勉強の為に作りました。GBA用ライブラリ「SOLA」のソースコードを参考にしています。
M-KAIさんの「擬似マルチタスクを用いたゲームプログラミング(WonderWitch)」をGBA移植しました。ジャッジメントシルバーソードの機能縮小版に相当するそうで、とても勉強になっています。簡単ながら以下にポイントをまとめました。
ここからは発展方法について。
GBAでLispを動かしてみました。一応FizzBuzzは動いています。入力機能がないのでまったく遊べないものですけれど、それは次回に期待ということで(^^;。コードはyuumi3さんが作られたものを元にしました。
スプライトダブラを使用して、128個よりも多く弾を表示させるテストプログラムです。柏さんのソースコードを勝手に改造させていただきました(^^;。表示の優先順位は決めていないので、弾が自機より上や下に表示されたりします。
書籍「ダンジョンゲームプログラミング」を参考に、勝手にGBA移植をしたものです。ただ、画像データをそのまま使うのはまずいので、間接的に書籍を購入した人だけを遊べるようにしてあります。申し訳ないのですが書籍をもってない方は遊べないことをご了承ください。諸事情で「移動コマンド」と「攻撃コマンド」だけしかテストしていません(汗。
soxで加工したBGMと効果音を、同時再生できるようにしました。中身はほとんどtekezoさんのコードを使わせて頂いています。
前回のtinyBasic2のリニューアル版。Re2cとbisonというツールを使いました。仮想計算機は、フルスクラッチ。通称VS(ND)M(Virtual stack nandakorya damedakorya machine)で動かしています(汗。
「ONE ~輝く季節へ~(Windows 通常版)」というゲームのビュアーを作ってみました。GBA側よりコンバータの方が苦労していたりします。移植のためのステップアップになればいいかなあ(^^;。
コンバータを使った本格派のMMLドライバです。あんどさんのソースコードを使わせていただきましたm(__)m。
鈍器のつかいかたさんから曲データを譲っていただき、ADRV(MML Driver)のデータにコンバートしました。履歴を見ていると2003年という文字が懐かしすぎます(汗。チャンネルは基本1chのみで2曲収録されていないのがあります。詳しいことは_readme.txtをご覧ください。
GBAでへぇボタン。へぇ~。
倉庫を整理する例のアレを作りました。このところ画面遷移という言葉を耳にするので書いてみたものです。