忍者ブログ
Admin*Write*Comment
35歳からのC言語ゲームプログラミング
[1]  [2]  [3]  [4]  [5]  [6
×

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

仕事の休憩中に携帯から更新。
今夜からPCが使える(前の記事参照)予定なんで、今後の方針についてメモを。

こないだ実物を遊んだら、回転ボタンは二つあって、それぞれ左回転、右回転に対応していた。
遊びやすかったんで、実装しようと思う。

あと、メリハリを付けるための新要素としてハイスピードぷよってのを考えている。
一定確率で落下ぷよに選ばれ、周囲のぷよが消えたら一緒に消える。
お邪魔ぷよ的な存在だけど、落下ぷよに付いて来るのでプレーヤーの意思で配置することになる。
ハイスピードぷよを消すと一定個数消すまでハイスピードモードに入る。
落下速度が速くなるかわりに得点もレベルに応じて倍増する。
通常は確率で選ばれるのを待つかたちだけど、例えば4連鎖以上させると次に必ずハイスピードぷよが落ちて来るようにしようかなと思っている。
上級者ほど、意図的に高得点を狙いにいける仕様だ。
逆に初心者は意図してないときにハイスピードモードに入りあわてることになる。
これで少しはプレイにメリハリがつくんじゃないかと思っている。

あと、そろそろBGMや効果音をつけたいなぁ。
曲は自分で作りたいんだけど、MIDIの再生はループ時にラグがあるみたいね。
MIDIの再生音をMP3にする方法がないか調べてみる。
録音機材はバンドを辞めたときに他人に譲ってしまったんだよなぁ。
今使えるのは趣味でたまに触ってたMODだけで、手軽に作曲って感じじゃないし、なんかフリーで良い音楽制作ソフトが無いか探してみよう。



PR
レベル実装

ゲームレベルを実装した。
一定数のぷよを消すとレベルが上がって、ぷよの落下速度が速くなる。
この実装に伴って、ゲームオーバーとゲームクリアーも簡単ながら追加した。
右から3番目の列が上まで埋まるとゲームオーバー、レベル5をクリアするとゲームクリアーとなる。
かなり簡単だけど、それぞれ画面表示も作った。
RIMG0714.JPG


















今の時点では、ぷよぷよが得意な人にはゲームクリアーはあっさり出来ると思う。

最初からゲームオーバーにならない限り永遠に続けられるゲームにするつもりはなくて、ある程度限られたプレイ時間でハイスコアを競う形にしたかった。
ちょっとした空き時間でチャレンジできるミニゲーム的なノリで。
現状では、レベル5をクリアするまでに連鎖をどれだけ作れるかでスコアが変ってくる。
ちなみに連鎖中はレベルアップしないので、レベルが変るタイミングで大連鎖を起こせれば、レベルアップの規定数以上消す事が出来るぶん、より高得点が狙える仕様となっている。
次のレベルに上がるタイミングを知るためのメーターのようなものを付けようかなと思っていたり・・・。

ただ、いくらなんでも今のままではメリハリに欠けるので、何か思いつければいいなあと考えてた。
まあ、いいアイデアが思いつかなかったら背景でも描いて終わりにしようかなって程度だけど。

それが、思いついてしまった。
思いついちゃったからには実装してみるしかない(可能なら)。
だって実装してみないと面白いかどうかわからない。
ゲーム作りの経験値が低すぎて、思いついた事が面白いかどうかやってみなきゃわかんないのだ。

他の部分のバランスを取りながら、そのアイデアの実装を目標にしばらく頑張ってみたいと思う。

実行ファイルをどうぞ。
操作法と、ダウンロードのしかたは#14の記事を参照してください。
あと、これは最初からなんだけど、一応ゲームパッドにも対応してます。
http://u7.getuploader.com/game/download/83/%E3%81%B7%E3%82%88%E3%81%B7%E3%82%88%E5%86%8D%E7%8F%BE%E3%83%81%E3%83%A3%E3%83%AC%E3%83%B3%E3%82%B8%EF%BC%8321.zip



スコア実装

とりあえずだけど、スコアを表示してみた。
ぷよ1匹100点に連鎖数をかけた値となる。
あと表示してないけど、通産で消したぷよの数も数えているので、それをゲームレベル(ぷよの落ちる速さが徐々に早くなる。)に使おうと思っている。
RIMG0713.JPG

















あとは、半ブロック落ちを実装した事で、見た目には表示されない1番上のブロックと、表示される2段目のブロックの中間にいる時にぷよが枠線をまたいで表示されてしまったので、マスク処理を試してみた。
画面上の描画エリアを限定できる便利な機能だ。
とりあえず、フリーのお絵かきソフトでゲームフィールド部分とネクストぷよ付近、スコア表示部分以外をマスクする画像データを作って使ってみた。

まあ、出来るだけ色々な関数を使って体験してみる方針なので無駄もあると思うけど突っ込まないで下さい。

実行ファイル置いておきます。
ソースのテキストファイル同梱です。
前の記事で書いてた半ブロック落ち、ネクストぷよも、もちろん実装済みです。
http://u7.getuploader.com/game/download/71/%E3%81%B7%E3%82%88%E3%81%B7%E3%82%88%E5%86%8D%E7%8F%BE%E3%83%81%E3%83%A3%E3%83%AC%E3%83%B3%E3%82%B8%EF%BC%8320.zip

ダウンロードのしかたと、操作法については#14あたりの記事を参照してください。


こまかいこと

気になっていた部分を2箇所追加した。

1 落下するぷよ
1ブロックずつ落下してたんだけど、先日実物を見たとき半ブロックずつ落ちていたのを実装できないかと。
実装方法は、半落ちようの変数を定義して1ブロック落ちた際に半ブロックのドット数16を代入する。
1ブロック落ちるのにかかる時間の半分が過ぎたら、この変数に0を代入する。あとは、落下ぷよのY座標からこの変数を引いてやればオーケー。
つまり配列上の処理は変わらず1ブロックずつ落ちてるんだけど、見かけ上は半ブロックずつ落ちるようにした。

2 片割れぷよ
ぷよが横向きで着地した場合、片方に足場が無ければ片割れの落下は足場に当たるまでつづく。
その際、足場に当たってから表示を行なっていたので、最初の着地点からワープするように見えていた。
これを1ブロック落ちるごとに表示し、少し滑らかに落下するように直した。
1ブロック落ちるごとにウェイトを入れてるんだけど、ここはまだ微調整が必要かと思う。


NEXTぷよ実装

NEXTぷよの表示を実装した。
これは、もう簡単。
もう一組の配列変数を用意して、乱数でぷよの色をセットし、それを次に落下するぷよに代入するだけだ。

それだけじゃアレなんで、ついでに文字の表示もやってみた。
昔いじったBASICと違って、文字表示もグラフィックスと同じ座標系で指定するんだね。
位置合わせが楽で機能的だ。
RIMG0712.JPG


















次はNEXTぷよの下あたりに表示する予定のスコアと、落下速度の変更を絡めて実装してみようと思っている。


  • ABOUT
やってやれないことはないっ!たぶん・・・
  • カレンダー
06 2025/07 08
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
年齢:
51
性別:
男性
誕生日:
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]