▼行間 ▼メニューバー
ブックマーク登録する場合はログインしてください。
初めての小説(もどき)自動生成 作者:唯乃なない

百合キャラに追いかけられてみよう

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




  • ブックマークに追加
ブックマーク登録する場合はログインしてください。
ポイントを入れて作者を応援しましょう!
評価をするにはログインしてください。

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

この小説はリンクフリーです。ご自由にリンク(紹介)してください。
この小説はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。
小説の読了時間は毎分500文字を読むと想定した場合の時間です。目安にして下さい。