CoRサンプル集: テトリスのような落ちものパズルゲームのサンプル
テトリスのような落ちものパズルゲームのサンプル。
音楽・画像などの素材は一切使用していないので、コピペだけで移植出来ます。
操作方法
横移動:←→
ソフトドロップ:↓
ハードドロップ:↑
左回転:Z
右回転:X
ホールド:C
音楽・画像などの素材は一切使用していないので、コピペだけで移植出来ます。
操作方法
横移動:←→
ソフトドロップ:↓
ハードドロップ:↑
左回転:Z
右回転:X
ホールド:C
プレー:3
(人数:2)
クリア:2
評価: 10 (1回)
タグが設定されていません
#==============================================================================
# ホールド機能のクラス
#==============================================================================
# ホールド処理の実行
#
# @param current_piece [Piece] 現在操作中のピース
# @param hold_piece [Piece, nil] 現在ホールド中のピース(nil可)
# @param hold_locked [Boolean] ホールドが既に使用されたか
# @return [Array(Boolean, Piece, Piece|nil, Boolean)]
# ホールドが成功したか、新たなホールドピース、取り出したピース、ロック状態
def try_hold(current_piece, hold_piece, hold_locked)
if hold_locked || current_piece.nil?
return false, hold_piece, nil, hold_locked
end
hold_out_piece = hold_piece
hold_piece = current_piece
hold_piece.reset_rotate
hold_locked = true
current_piece = nil
# debug_log "ホールド 入:#{hold_piece.piece_type}"
# debug_log "ホールド 出:#{hold_out_piece&.piece_type}" unless hold_out_piece.nil?
return true, hold_piece, hold_out_piece, hold_locked
end
プレー内容を公開する