PuyoPuyoChap6
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[目次へもどる>PuyoPuyo]]
* テーブルをもっと効率よくしよう [#af99fae9]
#contents
ここでふと気づいたことがある.
ぷよぷよってのは重力のせいで(?)必ず下にブロックがたまる.
現状ではテーブルとしてすべてのマス目を用意してそこにブロ...
上の方の何も無い部分が無駄になるし,操作ブロックの落下地...
しかし,次の様なテーブルにすることで,無駄がなくなるし落...
さらに,列の長さに上限がないので,フィールド上部の見えな...
この部分はコネクション判定に含まれないが,これは列の高さ...
#sh(ruby){{
table =
[
[b, b],
[b, r, r],
[],
[],
[b],
[]
]
}}
上の例はちょうど以下のようなテーブルを表す.
| |
| r |
|br |
|bb b |
--------
さて,このようなテーブルにすると上記の通り落下地点判定が...
というか落下させるだけならtable[r].push blockでよい.
また,rubyでは配列の範囲外を参照したときはnilを返し,エラ...
** ついでに [#s1da4204]
ついでにスキマスイッチの処理について割と馬鹿なことやって...
rubyでは配列のnilの要素を削除して配列をコンパクトにするメ...
#sh(ruby){{
def falldown_line(r)
return unless @table[r].compact!
@fallen = true
@table[r].each.with_index do |block, l|
block.line = l
end
end
}}
スキマスイッチを排除したら,コンパクトになったテーブルの...
終了行:
[[目次へもどる>PuyoPuyo]]
* テーブルをもっと効率よくしよう [#af99fae9]
#contents
ここでふと気づいたことがある.
ぷよぷよってのは重力のせいで(?)必ず下にブロックがたまる.
現状ではテーブルとしてすべてのマス目を用意してそこにブロ...
上の方の何も無い部分が無駄になるし,操作ブロックの落下地...
しかし,次の様なテーブルにすることで,無駄がなくなるし落...
さらに,列の長さに上限がないので,フィールド上部の見えな...
この部分はコネクション判定に含まれないが,これは列の高さ...
#sh(ruby){{
table =
[
[b, b],
[b, r, r],
[],
[],
[b],
[]
]
}}
上の例はちょうど以下のようなテーブルを表す.
| |
| r |
|br |
|bb b |
--------
さて,このようなテーブルにすると上記の通り落下地点判定が...
というか落下させるだけならtable[r].push blockでよい.
また,rubyでは配列の範囲外を参照したときはnilを返し,エラ...
** ついでに [#s1da4204]
ついでにスキマスイッチの処理について割と馬鹿なことやって...
rubyでは配列のnilの要素を削除して配列をコンパクトにするメ...
#sh(ruby){{
def falldown_line(r)
return unless @table[r].compact!
@fallen = true
@table[r].each.with_index do |block, l|
block.line = l
end
end
}}
スキマスイッチを排除したら,コンパクトになったテーブルの...
ページ名: