【講座?】CoRを触ってみる18~三目並べを作る6~【自分用メモ?】
投稿者:
光楼(114)
投稿日:2017/05/27 13:29
【講座?】CoRを触ってみる17~三目並べを作る5~【自分用メモ?】←前回
第二楽章も作ったで!
http://www.nicovideo.jp/watch/sm31248225
#このブログの情報は2017年5月27日現在のものです。今後変更になる可能性があります。
前回の続きです。
game.rbを開くのじゃ!
さて今回は決着がついた後の処理を作ります。
『勝利』『敗北』『引き分け』を表示させます。
使用するのはテキストスプライトです。
今回うまくいかない点があったのでとりあえずゲームクリアになる処理にしています。
短いですが今回は以上です。
次→【講座?】CoRを触ってみる19~複数のソースファイル間の移動~【自分用メモ?】
ツイート
第二楽章も作ったで!
http://www.nicovideo.jp/watch/sm31248225
#このブログの情報は2017年5月27日現在のものです。今後変更になる可能性があります。
前回の続きです。
game.rbを開くのじゃ!
さて今回は決着がついた後の処理を作ります。
『勝利』『敗北』『引き分け』を表示させます。
使用するのはテキストスプライトです。
#=====対戦=====# scene 'game' do #変数定義 bg_sprite = nil #背景 mesh_sprite = nil #マス mark_sprite = nil #〇 board_data = [0,0,0,0,0,0,0,0,0] #盤面情報 0:空白 1:〇 -1:× comparison_board_data = board_data.dup #盤面変化判定用配列 turn = 0 #ターン decision = 0 #勝敗判定実行判定用 ##### ↓追加分↓ ##### disposition_text_sprite = nil ##### ↑追加分↑ ##### #後略
#前略 #=====定義=====# #スプライト sprite 'メニュー背景' do image 'メニュー背景画像' origin :left_top animation '通常アニメ', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], 20, true end sprite 'マス' do image 'マス画像' end sprite '〇' do image '〇画像' origin :left_top end sprite '×' do image '×画像' origin :left_top end ##### ↓追加分↓ ##### #テキストスプライト text '決着' do origin :center font_size 100 end ##### ↑追加分↑ ##### #後略
#前略
update do
comparison_board_data = board_data.dup #配列コピー
if decision % 2 == 0 #勝敗判定実行判断
####プレーヤーor敵ターン####
if turn % 2 == 0
####プレーヤーのターン####
#クリックまたはタップしたか
if pointer.down?
column = ((pointer.x - board_left_position) / board_size).floor #列を求める
paragraph = ((pointer.y - board_up_position) / board_size).floor #段を求める
#列が0~2、段も0~2の範囲か
if (0..2) === column && (0..2) === paragraph
block = column + paragraph * 3 #列・段からマス番号を求める
if board_data[block] == 0 #選択したマスが空白か
board_data[block] = 1
turn += 1 #行動したらターン交代
decision += 1
end
end
end
else
####敵のターン####
wait_time(500) #0.5秒待機
#×配置場所選択
while(board_data[result = rand(9)] != 0) do
wait_time(100) #無限ループ対策
end
board_data[result] = -1 #盤面情報書き換え
turn += 1 #ターン交代
decision += 1
end
else
####勝敗判定####
disposition = win_or_loss(board_data)
if disposition != 0
##### ↓追加分↓ #####
#終了処理
wait_time(100)
disposition_text_sprite = put_text '決着' do
position screen_width / 2, screen_high / 2
end
disposition_text_sprite.bold true
case disposition
when 1
disposition_text_sprite.color '#FF0000'
disposition_text_sprite.text '勝利!'
when 2
disposition_text_sprite.color '#0000FF'
disposition_text_sprite.text '敗北'
when 3
disposition_text_sprite.color '#00FF00'
disposition_text_sprite.text '引き分け'
end
wait_time(2000)
game_clear
##### ↑追加分↑ #####
end
decision += 1
end
end
#後略
今回うまくいかない点があったのでとりあえずゲームクリアになる処理にしています。
短いですが今回は以上です。
次→【講座?】CoRを触ってみる19~複数のソースファイル間の移動~【自分用メモ?】
コメントする
コメントするには、ログインする必要があります。
RPGのようなもののマップ移動とかを作るのがちょっと大変そうですね