表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
初めての小説(もどき)自動生成  作者: 唯乃なない
百合キャラに追いかけられてみよう
24/30

バドミントンバトル ソースコード

#! ruby -E Windows-31J:utf-8

# coding: utf-8


#バドミントン戦闘を実行するクラス

require "./TextFileTools"


class BadmintonBattle


def initialize(chara, enemy)

@chara = chara

@enemy = enemy

@tlt = TextListTool::new


#味方がサーブするか否か

@chara_serveken = false


#玉の難易度

@difficulty = 1.0


@chara_point = 0

@enemy_point = 0

end


#メインバトルルーチン

#自分が勝ったらtrue、負けたらfalse

def battle


loop do


if rally == true

print_chara_point

@chara_point += 1

@chara_serveken = true

else

print_enemy_point

@enemy_point += 1

@chara_serveken = false

end


print_point


if @chara_point >= 21

print_chara_win

return true

elsif @enemy_point >= 21

print_enemy_win

return false

end

end


end


#敵のサーブ

def enemy_serve

puts @enemy.name+"はサーブを打った!"


if @enemy.badm_ctrl < rand()*100

puts "しかし、シャトルはおかしな方向に飛んでいってしまった。"

return false

else

return true

end

end


#味方のサーブ

def chara_serve

puts @chara.name+"はサーブを打った!"


if @chara.badm_ctrl < rand()*100

puts "しかし、シャトルはおかしな方向に飛んでいってしまった。"

return false

else

return true

end

end


#ラリー

#味方が勝てばtrue,負ければfalse

def rally

if @chara_serveken


r = chara_serve


if r == false

return false

end


loop do

r = enemy_hitback

if r == false

return true

end


r = chara_hitback

if r == false

return false

end

end


else


r = enemy_serve


if r == false

return true

end


loop do

r = chara_hitback

if r == false

return false

end


r = enemy_hitback

if r == false

return true

end

end

end

end


#味方の打ち返し

def chara_hitback

if @chara.badm_mikiri < rand()*100 * @difficulty

puts @chara.name+"はシャトルを拾いそこねた!"

return false

end


if @chara.badm_ctrl < rand()*100 * @difficulty

puts @chara.name+"はシャトルを打ち返したが、明後日の方向に飛んでいった!"

return false

end


puts @chara.name+"はシャトルを打ち返した!"

return true

end


#敵の打ち返し

def enemy_hitback

if @enemy.badm_mikiri < rand()*100 * @difficulty

puts @enemy.name+"はシャトルを拾いそこねた!"

return false

end


if @enemy.badm_ctrl < rand()*100 * @difficulty

puts @enemy.name+"はシャトルを打ち返したが、明後日の方向に飛んでいった!"

return false

end


puts @enemy.name+"はシャトルを打ち返した!"

return true

end


#ポイント表示

def print_point

puts "【"+@chara.name+"】"+" "+@chara_point.to_s+"pt "+

"VS 【"+@enemy.name+"】"+" "+@enemy_point.to_s+"pt"

puts

end


#味方のポイントゲットセリフ表示

def print_chara_point

t = @tlt.getRandomText(@chara.badm_voice_file)

puts

puts @chara.name+"「"+t+"」"

puts

end


#敵のポイントゲットセリフ表示

def print_enemy_point

t = @tlt.getRandomText(@enemy.badm_voice_file)

puts

puts @enemy.name+"「"+t+"」"

puts

end


#味方が勝利したとき

def print_chara_win

puts @chara.name+"は勝利した!"

puts

puts @chara.name+"「"+@tlt.getRandomText(@chara.badm_win_file)+"」"

puts

puts @enemy.name+"「"+@tlt.getRandomText(@enemy.badm_lose_file)+"」"

puts

end


#敵が勝利したとき

def print_enemy_win

puts @chara.name+"は敗北した!"

puts

puts @enemy.name+"「"+@tlt.getRandomText(@enemy.badm_win_file)+"」"

puts

puts @chara.name+"「"+@tlt.getRandomText(@chara.badm_lose_file)+"」"

puts

end


end



require "./chara.rb"

a = AoiAgent::new

b = ClubBoyAgent::new

c = BadmintonBattle::new(a,b)

c.battle



#####################################################################################

#####################################################################################

cahara.rb


#! ruby -E Windows-31J:utf-8

# coding: utf-8


#葵エージェント

class AoiAgent


attr_accessor :money

attr_accessor :name


attr_accessor :badm_ctrl, :badm_mikiri

attr_accessor :badm_voice_file, :badm_win_file, :badm_lose_file


def initialize

@money=100

@name="葵"

@badm_ctrl = 10

@badm_mikiri = 99

@badm_voice_file = "aoi-badm"

@badm_win_file = "aoi-win"

@badm_lose_file = "aoi-lose"

end


end


#部員

class ClubBoyAgent


attr_accessor :money

attr_accessor :name


attr_accessor :badm_ctrl, :badm_mikiri

attr_accessor :badm_voice_file, :badm_win_file, :badm_lose_file


def initialize

@money=100

@name="小林"

@badm_ctrl = 10

@badm_mikiri = 99

@badm_voice_file = "kobayashi-badm"

@badm_win_file = "kobayashi-win"

@badm_lose_file = "kobayashi-lose"

end


end




評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ