忍者ブログ
Admin*Write*Comment
35歳からのC言語ゲームプログラミング
[43]  [42]  [41]  [40]  [39]  [38]  [37]  [36]  [35]  [34]  [33
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ぷよの手つなぎについて考えてみる。

一応前回までで目標としていたゲーム性の本質の部分は再現できたと思うので、終わりにしようかとも思ったんだけど、ここまでやってくると色々追加したくなるわけで。
現時点で頭の中に次に作りたいものが明確にあればよいのだけど、今のところインベーダーみたいなスクロールのないシンプルなシューティングに挑戦してみようかなくらいのイメージしかない。
ある程度の完成イメージを持って作業に入らないとやばそうだってのは、今回のぷよぷよ再現で実感したので、次回作のイメージが固まるまでは惰性的にぷよぷよをいじってゆこうと思う。
どっちにしても演出や点数計算や表示、音楽、ゲームパッドのコンフィグなんかは避けて通れないと思うので、ぷよに対する愛着の続く限りやってみようかなと。

で、YOUTUBEなんかで動画をみたり、この間たまたま実物に触る機会があって(なんとメガドライブ版w)気になってはいたんだけど、つながったぷよは手をつなぐのよ。
手をつなぐってのは表現として適切かどうかわからんけども。
ようするに隣接したぷよ同士が絵的にもつながって引っ張り合ってるような感じになる。

「ああ、どうやって処理してるのかな」
と、うずいたわけです(笑)。

上下左右の4方向でつながる可能性があるから、ぷよの絵は単独の時のも含めて16パターン必要だなって直感的にわかった。
一瞬で脊髄反射のように16って数字が出てきたから自分でも驚いて、なんでかなと少し考えた。
どうやら、小学生時代に雑誌(たぶんBASICマガジンとか・・・知らないかw)で勉強した2進数を脳が覚えていたみたい。
当時、0と1だけで書いたキャラクターのドットパターンを16進数に変換してプログラムのデータに格納するってのをやってた記憶がボンヤリある。

ぷよの手つなぎの方向は4方向でそれぞれの方向の状態を1と0で表す。
1ならつないでる、0ならつないでないって感じで。
そうすると4桁の2進数が必要になる。
4桁の2進数は、ちょうど1桁の16進数で表せる。
この流れで僕の頭に「全部で16パターン」ってイメージが出てきたようだ。
子供の頃にやったことって、なんで20年以上やってなくても出てくるんだろう。

で、今の脳みそで考えてみた。
2進数で表せるってことは、上下左右を調べて状態ごとにフラグを立てて4つのフラグの状態を調べて絵を選んで表示するって流れが、かなり簡略化できる。

上を1桁目、左を2桁目、下を3桁目、右を4桁目で表現する。
それぞれつながっている時、
上 0001
左 0010
下 0100
右 1000
計 1111
て感じで全方向の状態が2進数の足し算で求められるのだ。
実際には10進数か16進数に変換して計算すると思うけど、グラフィックハンドルを入れておく配列変数に2進数の順番通りに絵を格納しておけば、計算結果を配列変数の [  ] の中に入れるだけで必要なてつなぎぷよの絵を表示することが出来るんじゃないか。
RIMG0709.JPG
 

















これは意外と簡単に実装できそうだ。
ゴールにたどり着く目処がたつと、がぜんモチベーションが上がる。
取り合えず各色16パターンの手つなぎぷよを描いて2進数の並びで並べたBMPファイルを作った。
絵自体はコピー&ペースト&回転・反転を駆使して、できるだけ楽した。ので、出来については触れないように!w
RIMG0710.JPG











手抜きしたわりには、けっこう可愛く描けてるじゃん!
と、自分では思っていたりする。
誰も言ってくれないし。




PR
この記事にコメントする
お名前
タイトル
メール
URL
コメント
文字色
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret
この記事へのトラックバック
この記事にトラックバックする:
  • ABOUT
やってやれないことはないっ!たぶん・・・
  • カレンダー
04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
  • 最新コメント
[11/09 CALL MY NAME]
[11/09 erin]
[08/18 うずランド]
[07/11 うずランド]
[06/23 うずランド]
  • プロフィール
HN:
Call my name
年齢:
50
性別:
男性
誕生日:
1974/05/22
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
  • バーコード
  • ブログ内検索
  • カウンター
  • アクセス解析
Copyright © 35歳からのC言語ゲームプログラミング All Rights Reserved.*Powered by NinjaBlog
Graphics By R-C free web graphics*material by 工房たま素材館*Template by Kaie
忍者ブログ [PR]