備忘録化してるけど気にしない。
まず、前回のソースからの改善点。
「ぱ」が「弾」を撃つアレで、どうも上手く動いていなかったのを解消。
関数 ctrl_bullet_sprite() に渡すのを、key_hit_check_with_repeat() から、
keystat( key_press_check() の返値 )に変更し、かつ、関数内のキー判定部分
if( keystat & KEY_B )
を、
static int keypressed = 0x0000; /* キーが「押されていた」 */
static int keyhit; /* これは static でなくても良いと思う */
/* 「キーは押されていなくて、かつその状態からの変更があった」 */
keyhit = ~keypressed & ( keypressed ^ keystat );
keypressed = keystat;
if( keyhit & KEY_B ) ……
ってな具合に変更。ビット演算万歳。
目指せ「ぶろぽん」。次にすることは、
ボールの構造体は、リストにした方がスマートかなーとも思いましたが、 面倒くさいのでそのままです。速度的にも問題無さそうだし。
とりあえずサンプル。のんびり作りました。
球が出て跳ねたりするサンプル
問題点とか構想とかいろいろ浮かんできたのでコメント書きしときました。
いろいろ解ったこととしては、
参考のために、久しぶりに「ぶろぽん」をプレイしてみたら、
なんと画面の広さが足りないことが判明。やりやがったな。
でもまぁ、せっかくだからそれっぽいものを目指しながら作っていきます。
それっぽいサンプル
基本は上のとそんなに変わりません。グラフィックの変更と、いろいろ微調整。そんなのは最後にやれって。
次はブロック表示です。その次はデータファイル読み込み。
「fopen() して fread() して fwrite() して fflush() して fclose()、って普通に出来るよ」
という開発者の言葉を信じて頑張ります。(笑
あとサウンド再生ですか。player.c あたりから力一杯パクりたいと思います。
やっぱり、いつものプログラミングと毛色 (?) が違いすぎて手間取ったり。 でもまぁ、めげずに頑張っていきたい。