PuyoPuyoChap13
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[目次へもどる>PuyoPuyo]]
* Player [#t897373d]
#contents
入力を処理する機構はできたので,
いよいよFieldControllerを拡張する.
もともとFieldControllerはプレイヤーを表すクラスのスーパー...
ただし,CPUによる操作も考慮すると以下のような構造になると...
- FieldController
-- Human
--- Player1
--- Player2
--- ...
-- CPU
--- ...(CPUの戦略アルゴリズムごとのクラス)
今回実行したのはHumanとそのサブクラスまで.CPUはとりあえ...
#sh(ruby){{
class Human < FieldController
def initialize(ipt_ctrl, x, y, row_s, line_s, block_s)
super(x, y, row_s, line_s, block_s)
@ipt_ctrl = ipt_ctrl
end
def human?; true; end
def cpu?; false; end
def update
@ipt_ctrl.update
super
end
def input_move_right?
@ipt_ctrl.press?(:right)
end
def input_move_left?
@ipt_ctrl.press?(:left)
end
def input_rotate_right?
@ipt_ctrl.press?(:button1)
end
def input_rotate_left?
@ipt_ctrl.trigger?(:button2)
end
def input_fastfall_right?
@ipt_ctrl.press?(:down)
end
end
}}
HumanクラスはFieldControllerにInputControllerを持たせただ...
入力の情報をupdateメソッドで更新してコントロールブロック...
#sh(ruby){{
class Player1 < Human
def initialize(x, y, row_s, line_s, block_s)
super(InputController.new(1), x, y, row_s, line_s, bl...
end
end
}}
Player1はInputControllerをプレイヤー番号1で生成する.
終了行:
[[目次へもどる>PuyoPuyo]]
* Player [#t897373d]
#contents
入力を処理する機構はできたので,
いよいよFieldControllerを拡張する.
もともとFieldControllerはプレイヤーを表すクラスのスーパー...
ただし,CPUによる操作も考慮すると以下のような構造になると...
- FieldController
-- Human
--- Player1
--- Player2
--- ...
-- CPU
--- ...(CPUの戦略アルゴリズムごとのクラス)
今回実行したのはHumanとそのサブクラスまで.CPUはとりあえ...
#sh(ruby){{
class Human < FieldController
def initialize(ipt_ctrl, x, y, row_s, line_s, block_s)
super(x, y, row_s, line_s, block_s)
@ipt_ctrl = ipt_ctrl
end
def human?; true; end
def cpu?; false; end
def update
@ipt_ctrl.update
super
end
def input_move_right?
@ipt_ctrl.press?(:right)
end
def input_move_left?
@ipt_ctrl.press?(:left)
end
def input_rotate_right?
@ipt_ctrl.press?(:button1)
end
def input_rotate_left?
@ipt_ctrl.trigger?(:button2)
end
def input_fastfall_right?
@ipt_ctrl.press?(:down)
end
end
}}
HumanクラスはFieldControllerにInputControllerを持たせただ...
入力の情報をupdateメソッドで更新してコントロールブロック...
#sh(ruby){{
class Player1 < Human
def initialize(x, y, row_s, line_s, block_s)
super(InputController.new(1), x, y, row_s, line_s, bl...
end
end
}}
Player1はInputControllerをプレイヤー番号1で生成する.
ページ名: