2021.12.21
Developer Lv1
目次 問題を解く 問題設定 問題を解く 前回までで、お絵かきパズルの画面作成、パズル問題作成機能を実装した。 今回からは、指定された問題を表示し、それをユーザが解けるようにする機能を実装していく。 ユーザがクリックしたセルに黒またはバツを入れる処理は問題作成の章ですでに示したので、 ここでは問題設定 …More Read
2021.12.20
Developer Lv1
目次 ソルバー 適切チェック ■ソルバー 事前に計算した辞書により、手がかり数字から可能パターンリストを取得できる。 ので、そのパターンすべての and と or を取ると、黒が確定する位置とバツが確定する位置を得ることができる。 例えば、手がかり数字が14の場合、可能パターンリストは [0b011 …More Read
2021.12.20
Developer Lv1
目次 ソルバー ラインソルバー ソルバー 問題を解くプログラムを「ソルバー」と呼ぶ。本アプリには、問題を入力し解答を提示する機能は実装していないのだが、 ユーザが問題を作成することが出来、作られた問題が解をひとつだけ持っている適切な問題かどうかをチェックする必要があり、 そのためにソルバーを使用する …More Read
2021.12.20
Developer Lv1
目次 全消去 上下左右移動 ■全消去 何の絵を問題にするかなって考えてるときは、これいいじゃね?と思い、描き始めるのだが、 思った以上にドット絵にするのが難しく、途中で諦めてしまうことは少なくない。 そんなときは全消去を行い、新たな気持で別の絵に挑戦だ。 というわけで、全消去機能を説明する。 Und …More Read
2021.12.20
Developer Lv1
目次 メイン画面 Undo/Redo メイン画面 前回(第1回~第4回)まで、パズルのメイン画面の基本機能を実装してきた。 今回以降は、使い勝手を上げるための Undo/Redo、全消去機能などを実装していく。 ■Undo/Redo Undo/Redo はツール系ソフトでは必須だ。表計算やワープロソ …More Read
2021.12.09
Developer Lv1
目次 UFO移動 敵機ミサイル 自機爆発 まとめ おわりに ■UFO移動 UFO の移動は、各フレーム最初にコールされる _physics_process(delta) で処理される。 UFO が画面内にあれば、position.x に移動量を足し込むだけだ。 ■敵機ミサイル 敵ミサイル発射処理は …More Read
2021.12.09
Developer Lv1
目次 トーチカ設置 敵機配置 敵機移動 ■トーチカ設置 トーチカ(バンカー)は、外部シーンとして実装しているので、必要なときに instance() を使って実体化する。 1面クリアして2面目に行くときは、トーチカは初期化されるので、bunkers 配列でバンカーオブジェクトを覚えておき、 setu …More Read
2021.12.09
Developer Lv1
目次 スクリプト 処理の全体像 自機左右移動 自機ミサイル発射 自機ミサイル飛翔・衝突 スクリプト ■処理の全体像 パズルゲームなどのリアルタイム性が無いものは、マウスクリック・キー操作などのイベントが発生した時に、 それに対する処理を記述すればよい。 それに対してアクションゲームはマウス・キー操作 …More Read
2021.12.09
Developer Lv1
目次 はじめに 画面作成 メイン画面 自機 外部シーン 衝突判定 爆発イフェクト 敵機タイマー はじめに 前シリーズでは、動きのないパズルアプリの作成方法を示した。 本稿ではそれと打って変わり、動きが多く、アクション的なゲームアプリの作成方法を示す。 具体的には、下図のような見た目のレトロなシューテ …More Read
2021.12.08
Developer Lv1
目次 盤面ドラッグ処理 セルカーソル ■盤面ドラッグ処理 マウスボタンドラッグした場合は、連続して黒または☓を入力可能にする。 そのために、下記コードのように mouse_pushed フラグを導入し、マウス押下で true に、リリースで false に設定し、 mouse_pushed が tr …More Read