CoRサンプル集: テトリスのような落ちものパズルゲームのサンプル
テトリスのような落ちものパズルゲームのサンプル。
音楽・画像などの素材は一切使用していないので、コピペだけで移植出来ます。
操作方法
横移動:←→
ソフトドロップ:↓
ハードドロップ:↑
左回転:Z
右回転:X
ホールド:C
音楽・画像などの素材は一切使用していないので、コピペだけで移植出来ます。
操作方法
横移動:←→
ソフトドロップ:↓
ハードドロップ:↑
左回転:Z
右回転:X
ホールド:C
プレー:3
(人数:2)
クリア:2
評価: 10 (1回)
タグが設定されていません
#==============================================================================
# スコア計算関数
#==============================================================================
# スコアを加算する
# @param now_score [Integer] 現在のスコア
# @param grid [Array<Array<Symbol|Integer>>] ゲームグリッド
# @param lines_cleared [Integer] 消した行数
# @param ren [Integer] 連続数
# @return [Integer] 加算するスコア
def scoring(now_score, grid, lines_cleared, ren = 1)
if lines_cleared == 0
return now_score
end
add_score = [50 * ren, 1000].min # スコア
perfect = grid.flatten.all?{|cell| cell == 0} # パーフェクトクリア
# 消去行数によってスコアを設定
case lines_cleared
when 1
add_score += perfect ? 800 : 100
when 2
add_score += perfect ? 1200 : 300
when 3
add_score += perfect ? 1800 : 500
else
if lines_cleared >= 4
add_score += perfect ? 2000 : 800
end
end
return [now_score + add_score, CONFIG[:max_score]].min
end
プレー内容を公開する