どうぶつの森

デバッグしてたら今頃割と大きなバグが見つかって焦ったけど無事解決。インベーダーの制作もストップしたまま、明日の公開に向けてPHP一筋で頑張っております。こういう時の息抜きは「おいでよ どうぶつの森」。最近職場でも盛り上がってきたので昼休みは4人で通信プレイ。他所の村は楽しいですねー。思い切ってガイドブック(Nintendo DREAM 任天堂ゲーム攻略本 おいでよ どうぶつの森)
を買ってしまいました(一番安い奴けど評判がよかったので)。

デバッグしてたら今頃割と大きなバグが見つかって焦ったけど無事解決。インベーダーの制作もストップしたまま、明日の公開に向けてPHP一筋で頑張っております。こういう時の息抜きは「おいでよ どうぶつの森」。最近職場でも盛り上がってきたので昼休みは4人で通信プレイ。他所の村は楽しいですねー。思い切ってガイドブック(Nintendo DREAM 任天堂ゲーム攻略本 おいでよ どうぶつの森)
を買ってしまいました(一番安い奴けど評判がよかったので)。
毎日通勤時間や休み時間、就寝前のひと時までもプレイしている「おいでよ どうぶつの森」これだけハマるとほかのソフトも気になってくる。今一番注目しているのはNintendoDS用のOpera。最初に聴いた時はそんなもんなんに使うんだろうと思ったけど、ノートPCをゲットして無線LAN環境を構築してみると家庭内モバイルのありがたみを実感。ユーザーインターフェースに定評のある任天堂が2つの液晶とATOK、手書き認識を使ってどんな使い勝手にしあげるのかが楽しみ。
ファミ通のDS用Operaの記事
http://www.famitsu.com/game/news/2006/02/15/103,1139990282,48745,0,0.html
とりあえずスコアを付けました。どのインベーダーが攻撃するかを決めるルーチンにバグがあったのを修正。キー入力のバグはまだそのまま…。インベーダーを全部やっつけると次のステージへ行き元々のスピードに大して1割スピードアップするように変更。これだけじゃ寂しいので手持ちの素材でグラフィックを付けました。月面風(?)の地面はテキトーに描いただけ。仕事で作ってるPHPの方が忙しくてちょっとお疲れ気味です。
インベーダーの移動速度は移動距離を固定してsetIntervalで移動させる頻度を変化させた方がオリジナルのカクカクした動きに近づくかなと言うことで早速変更。もう日付が変わって2時なのでこの辺で。
現状こんな感じ。キー入力にバグがあります…。
追加したのは
【自機】
・スペースキーで弾発射。
・弾の処理
【インベーダー】
・弾にあたると消える
・数を増やした
簡単に書くとこんな感じです。インベーダーは縦と横にあわせた二次元配列で管理してるけど、一次元配列で管理した方が撃ち落とされたインベーダーのインスタンスを削除するときに管理用の配列も一緒に削除すれば配列の走査の時にスピードアップするし便利かなぁとちょっと思ってます。まだまだ作る所があるのであとで考えよう。
→インベーダーその2を見る
と言うわけで制作してます。現在のところここまで作りました。
【全体】
・背景の星
【インベーダー】
・左右に動いて端まで行くと下に降りる。
・攻撃する
【自機】
・カーソルキーで左右に動く
自機から弾が出せるようになったら衝突判定を付けるので大分それらしくなると思います。
現在はこんな感じです。
→インベーダーその1を見る
久しぶりにゲームを作ります。作るのは1年ぐらい前に作ろうとして途中で断念したインベーダーゲームタイプの物。あれから色々勉強したのでどれぐらいスキルアップしたかの物差しにしようかと。経過も含めてこのブログで報告します。
『蘇るPC-8801伝説 永久保存版』とは随分懐かしいのが出てきましたねぇ。初めてパソコンを買ったのは1983年の9月。すでにモデルチェンジしてたけどなんにもわからなかったので展示品を5万円ど買ってもらったのがはじまり。ゲームを作るようになってからはPC-8001のキャラクタグラフィックにあこがれたなぁ。ちょうどwindowsマシンも手に入れたことだし昔を懐かしんでみんながコレで燃えた!NEC8ビットパソコン PC-8001・PC-6001
とあわせて買おうかな。Xanaduを作った木屋さんとか、森田和郎さんのインタビューなんてたまらんなぁ。森巧尚さんのインタビューとかのせてベーマガでもこういうの出してくれたら良いのに。
PHPでゼロサプレスのやりかた。というか、ゼロを足すのをゼロサプレスだと思ってましたが、ゼロを足すのはゼロパディングというそうです。なのでゼロパディングのやりかたを。まぁ「「PHP ポケットリファレンス」」とかリファレンス本を読めば分かることだったんだけど。
$a = 20;
$b = sprintf(”%04d”, $a);
print $b;
— 出力結果 —
0020
となります。
これだけです。 %04d の 0 ってのが0を付けるという意味。後ろの4が、4桁でということです。なので %06dとやると、さっきのは 000020 になります。
名前だけ知っていて使ったこと無かったPEARを試してみようとあれこれ調べる。PEARではないがXML unserializerというクラスを使っててもうこれなしではやってられないぐらいなのでPEARとかには他にも色々便利な物があるのではないかと。PERLやActionScript、Javascriptの本はいくつも持っているんだけどPHPの本って、PHP ポケットリファレンスぐらいしか持ってないのでものすごーく自己流。で、XML_unserializerという同じようなクラスがあったのでため試したんだけど、配列への展開の仕方が違っててまだよくわからない。とりあえずPEAR入門 PHP標準ライブラリを極める!
を買ってあれこれ試してみよう。
インストールするのに参考にしたサイト
http://fol.axisz.jp/php/man/pear/installation.shared.html