小さな数学者による愉快な数学館

数学者を目指した自身がお気楽に数学に関することなどをupするブログです

プログラミング作業ログ

[ リスト | 詳細 ]

記事検索
検索

全2ページ

[1] [2]

[ 次のページ ]

おはようございます!
テトリス開発も佳境にはいりました。
ほぼ完成したといってもいいと思います。
でも、細かいところがまだうまくいっていない感じです。

とりあえず、こちらの動画を見てもらえればと思います。↓

どうでしょう?テトリスっぽくなりましたね!

あとは細かな処理、ゲームオーバーなのにテトリミノが動いてしまう現象などの改善があげられます。

それとこれは僕の持論なのですが、ゲームには、
音楽が必須
と思っています。
これを実現しようとして、 javafx の AudioClip を試したのですが
メモリ食いすぎてゲームのレスポンスが悪くなりました。
他にも方法はあるみたいですが、まだそっちには手をつけれてないです。

テトリス開発はもう少し続けようと思いますが、テトリスの話は今日で最後かも?
これまでこの話にお付き合いしてくださった方々には感謝です!
ありがとうございます!

というわけで今日はそんなところで!
では(・ω・)ノシ

おはようございます!
今日もテトリス開発の続きを報告しようと思います。

で、できたのがこれ↓

音が入ってますが気にしないでくださいw
ここまで来るのは大変でした。。。
最初はフィールドとテトリミノを描画するのを一つの2次元配列でやっていたのですが、
積み上げる処理にするためにやはりもう一つ2次元配列が必要でした。

しかもはじめは参照渡しでやっていたので描画がうまくいきませんでした。。。
なので、原始的にFor文で要素をひとつひとつ入れていけば何とかなりました。

それと2次元配列のオーバーフローがなかなかうまく処理できず困っていたのですが、
もう無理やり配列のインデックスをインデックスで割った余りにしたらうまくいきました。
まあ、これがいい方法かはわかりませんが、自分にはもうこれしか思いつかなかったのでそうしました。

とまあこんな感じですかね(・_・;)
次はラインを消す処理とまっすぐじゃない他のテトリミノも作っていきたいと思います!
それでは今日はこの辺で!
では(・ω・)ノシ
テトリス開発、継続しています。

今回は左右の当たり判定と回転処理を実装しまいた!
それがこちらです!

まだまだ改善点はありますが、おおむねうまくいってると思います。

当たり判定がどうしてうまくいってるのか最初は理解できてませんでしたが、
ミノの左上の座標にミノが存在する座標をたして、それが0未満になれば、
左の当たり判定が実装できていることを後から理解できました。

次回は下の当たり判定と下にミノがたまっていく処理を実装したいと思います!
それでは今日はこの辺で!
では(・ω・)ノシ

今にして思うのですが、テトリスを作ることですら、
けっこうムズイ
ということを思う今日この頃です\(^o^)/

今回はミノの移動と当たり判定をしていこうと思ったのですが、
参考にさせていただいていたYouTube動画↓

この方の動画にはない処理があったため、今日は移動だけ実装してみました。

しかし移動だけでも結構大変でした。
移動には入力が必要なので、まずそこでつまづきました。。。

最初に考えたのは Scanner クラスを用いるやり方です。
描画する前にその記述を書いたのですが、実行しても真っ暗。。。
なんでだろう?とよくわからなかったのですが、おそらく入力を待っているため、
描画まで至らないのだろうと解釈しました。

じゃあと思って次に試したのは BufferedReader を使うやり方です。
これもいろいろ試しましたがやはり Scanner と同じ原因でダメっぽかったです。。。

うーん、どうしようと思ってググったところ、自分はこの開発を Javafx やっているのですが、
のんぽぐさん、この方のサイトにこんなやり方がありました!

早速試したところ、少し試行錯誤しましたが、なんとか移動を実装することができました!
それがこちらになります↓

少し滑らかでないですが、改良すればよくなると思います。

次回はその辺りと当たり判定を目指してやろうと思います。
それでは今日はこの辺で!
では(・ω・)ノシ

スマホゲにはまってこっちの更新が遅くなる今日この頃です\(^o^)/

テトリス開発進めております。
前回で canvas というのを使うかどうかという話で終わったと思いますが、
やはりこっちの方が描画にはあっているようです。

で今回は落ちてくるブロック(ミノというそうですが)、
それが実際に自由落下するのを再現していきたいと思います。

結論から一応できたのでとりあえず、この動画見てもらえればと思います。

いい感じになったと思います。

しかしここまで来るのに悪戦苦闘。。。
最初はタイマーを使わずに無限ループで自由落下を表現しようとしたのですが、
どうやってもできないので諦め、やむなくタイマーを使用。
だけど処理はこっちの方が断然いいですね!

他にもつまづいた点はフィールドの初期化などありましたが、
おおむねうまくいったと思っております。

次はミノの移動や当たり判定などをやっていきたいと思います!
それでは今日はこの辺で!
では(・ω・)ノシ

全2ページ

[1] [2]

[ 次のページ ]


.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事