PuyoPuyoChap24
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[目次へもどる>PuyoPuyo]]
* フェーズタイマーの追加 [#r35e357d]
#contents
えー,コードを書いてから半年くらい経ってようやくこのチャ...
記憶が曖昧になってしまったが,Phaseクラスにタイマーを追加...
追加した理由はたしか以下の通り.
現状フェーズの進行を一時止める役割はwaitが持っている.
waitはフェーズの進行をそのまま止めるまさにその意味である.
すなわちフェーズ遷移のコンディションチェックも停止する.
その一方でフェーズ遷移にウェイトを設けたい場合がある.
そこで新しくフェーズにタイマーを設けた.
タイマーはウェイトとは異なり単純に設定したタイムカウント...
汎用タイマーの役割を持つ.
フェーズ遷移時に遷移元のエンドハンドラーでタイマーをセッ...
(さらに半年後読み直したが何を言いたいのかさっぱりわからな...
ともかくウェイトしつつコンディションチェックを行えるらし...
まあこんな感じだがタイマーの実装はいたって普通で簡単なの...
#sh(ruby){{
class Phase
def initialize
@start_handler = {} # call method when phas...
@end_handler = {} # call method before ph...
@trans_condition_handler = {} # call method of phase ...
@phase = nil # present phase
@next_phase = nil # next phase
@wait = 0 # wait count
@timer = 0 # timer
end
def set_timer(time)
@timer = time
end
def pred_timer
return true if !timer?
@timer -= 1
!timer?
end
def timer?
@timer > 0
end
end
}}
set_timerでタイマーをセットして,pred_timerでカウントを減...
終了行:
[[目次へもどる>PuyoPuyo]]
* フェーズタイマーの追加 [#r35e357d]
#contents
えー,コードを書いてから半年くらい経ってようやくこのチャ...
記憶が曖昧になってしまったが,Phaseクラスにタイマーを追加...
追加した理由はたしか以下の通り.
現状フェーズの進行を一時止める役割はwaitが持っている.
waitはフェーズの進行をそのまま止めるまさにその意味である.
すなわちフェーズ遷移のコンディションチェックも停止する.
その一方でフェーズ遷移にウェイトを設けたい場合がある.
そこで新しくフェーズにタイマーを設けた.
タイマーはウェイトとは異なり単純に設定したタイムカウント...
汎用タイマーの役割を持つ.
フェーズ遷移時に遷移元のエンドハンドラーでタイマーをセッ...
(さらに半年後読み直したが何を言いたいのかさっぱりわからな...
ともかくウェイトしつつコンディションチェックを行えるらし...
まあこんな感じだがタイマーの実装はいたって普通で簡単なの...
#sh(ruby){{
class Phase
def initialize
@start_handler = {} # call method when phas...
@end_handler = {} # call method before ph...
@trans_condition_handler = {} # call method of phase ...
@phase = nil # present phase
@next_phase = nil # next phase
@wait = 0 # wait count
@timer = 0 # timer
end
def set_timer(time)
@timer = time
end
def pred_timer
return true if !timer?
@timer -= 1
!timer?
end
def timer?
@timer > 0
end
end
}}
set_timerでタイマーをセットして,pred_timerでカウントを減...
ページ名: