goo blog サービス終了のお知らせ 

星田オステオパシー

施術者は引退しちゃって美味しいバイト生活をしつつプログラミング学習とか自由研究をして野垂れ死ぬまでの備忘録

Love2Dで桃鉄ライクゲームを作るという野望005 サイコロを振りたい

2025-03-07 13:06:00 | プログラミング
 とりあえずサイコロを転がすためのコードを書いていこう。
 関数Roll_diceの引数Numはサイコロの数、Callbackは使うか分からないけど、一応書いておく。
 Dice構造体のRollingフラグをTrueにして
 最終的に返す値を一旦Nilに初期化しておいて
 Dice.numbersのテーブルにサイコロ個数分のランダム数値を書き込む
 こんな感じでどうかしら?

 で、こちら添削版。
 大きな問題点はTimer.everyを変数に束縛しておくってことかな。こうしておかないと10回サイコロが回った時点で止める手段が無いと。止める部分はTimer.cancel(timer)って部分。興味深いのはtimerにTimer.every以下を束縛してるんだけど、その後に実行してる様子がない。つまり、timerに束縛する段階で実行されてるとしか思えないのだが・・

 あ、やっぱり

 なるほどね、後に止める操作をするための仕組みなのか

 その停止処理、これもLove.update内に書かれてフラグ管理。あんまりUpdate内に書きたくは無いが、自動処理に関してはUpdateに書かざるを得ないか〜。停止したらFinalを更新して、FLAGSについては後で書き足しました。サイコロを振ったら合計値を出してFLAGSの移動可能数に束縛、そして移動フラグTrueって感じで・・Callbackは思いつかないけど一応使っておく。


 はい実行!ってあれぇ!?サイコロが動かない!
 なぜなんだーっ!って思ったけど、考えたらLove.updateでTimer.update(dt)を書いてなかったわw

 で、書いたところ・・こうなりました!ほぼイメージどおりやん!サイコロが止まるとキャラが動かせるようになってる!

 後は残り歩数を表示するようにして、歩数を消費して移動、後戻りをすると歩数カウント回復・・ってのを書かないとな!
 いや、もうほぼ完成したようなものだな、ガハハ!

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« プログラミング学習日記 202... | トップ | Love2Dで桃鉄ライクゲームを... »