とりあえず inputf 関数できた。


RGKT-NDS-STDY-007(008)
RGKT-NDS-STDY-005(002)


テスト動作させて気にかかったことは
0←→9の範囲の行き来がローテートできてない現状かな。
10進と16進だけならまあ妥協(手抜き)できるけど…
文字列も対応したんだけど
アスキーコード32←→127の範囲をローテート出来ないのは凄い不便だって感じたw
キーリピートも実装してるけど端から端までシークさせるのは時間掛かるです;;


後はソース内の実装メモをちゃんとコメントにして
デバッグプリント箇所を削除して整形すれば400〜450行くらい。
綺麗に書くように勤めてみたが…この行数は如何なものかと。
1関数自体は平均30行くらいだけど(インライン関数が多いのか?)。
来週見てみて読めなくなってると凹みそうだw


テストも兼ねて、仮面ライダーG観終わった後に「数当てゲーム」書いてみた。
オール英語でごめんなさい。未だ consoleDemoInit() なもんで…(汗)。
来週こそは consoleInit() 学んでMSXフォント風(?)なキャラセットでも使って
ANKコード文字列の表示に対応させたいなーと。


KAZUATE GAME


書いてみて動かして、動作に気に食わない箇所をいくらか手直ししてそれっぽく(?)。
BASICとかで作ったみたような動作に相違ない具合です。
表示文字列をわざわざ #define してたりで行数稼いでしまったので
現在コメント抜きで100行くらい。(爆
ベーシック文法でハードコーディングなら10行、
C言語でコンソールアプリで少し手を抜いて書いても20行くらいのものなのにorz
ゲーム特有のループ動作と #define 定義と enum 定義が俺に行数を稼がせたんだ。そうに違いない!!


それとこのショボゲー作ってみて1つだけ学んだこと。
srand(time(NULL)) でシード値生成するのは1度だけにすること。
time(NULL) は常に変化してるわけでないみたいなんで。
恐らく起動時とかの時間データをずっと持ってるので
rand() とセットで毎回実行とかしちゃうと毎回同じ値しか返ってこなくなる!<乱数の用を成さない

早合点でした。スマソ。
以下エントリーで訂正文書いときましたんでよろです。m(__;)m


乱数とか時間値とか。訂正。
RGKT-NDS-STDY-005(003)
http://d.hatena.ne.jp/dumbo001/20090208/1234067918