忍者ブログ
Admin*Write*Comment
35歳からのC言語ゲームプログラミング
[16]  [17]  [18]  [19]  [20]  [21]  [22]  [23]  [24]  [25]  [26
×

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

今日は実家(岩手県)から母親が仕事で上京したついでに、孫の顔を見に泊まりに来てまして、まぁ実際問題、仕事と孫とどっちが目的かは微妙なわけですが(笑)。
で、パソコン部屋を寝室として提供しているので、パソコンがさわれない。
C言語の勉強開始と同時にブログを立ち上げてはや3週間。
まる1日プログラムをいじらないというのは初じゃないかと。
もう、手がむずむずしてます。
勉強を続ける上で大切なのは習慣化と言いますから、そういう意味では第一段階はクリアできたのかなと思います。

そんな訳で、今日は何も実装が進められないので、しょうもない雑談を携帯から投稿してみました。
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]