ruby分かる奴助けてくれ
■ このスレッドは過去ログ倉庫に格納されています
汚いコードですまない
# coding: windows-31j
STDOUT.sync = true
def elo(ra, rb, s)#イロレーティング raは
k = 24
rab = ra - rb
rab /= 400
rab *= -1
eab = 10 ** rab
eab += 1
eab = eab ** -1 #期待勝率を求める。
ra = ra + k * (s - eab)#レートの変動
return ra
end user = Struct.new(:name, :rate, :mat, :win, :lose, :drow);
player = Array.new;
frate = 2000;
i = 0;
a = 0;
while (i == 0) do
printf("プレイヤー名を入力してください>>");
na = gets;
player << user.new(na, frate, 0, 0, 0, 0);
printf("あなたのプレイヤーナンバーは%dです",a + 1);
a += 1
printf("登録を続けますか?\nYes >> 0 No>> 1");
i = gets.to_i;
end g = 0
while (g != 1) do
printf("勝利したプレイヤーを入力してください>>");
na = gets;
a = 0
x = 0
while (x != 1) do
if player[a].name == na
x = 1
elsif player[a] == nil
printf("プレイヤーが見つかりませんでした");
x = 1
else
a += 1
end
end
player[a].mat += 1
player[a].win += 1
b = 0
x = 0 printf("敗北したプレイヤーを入力してください>>");
na = gets;
while (x != 1) do
if player[b].name == na
x = 1
elsif player[b] == nil
printf("プレイヤーが見つかりませんでした");
x = 1
else
b += 1
end
end
player[b].mat += 1
player[b].lose += 1
tmp = player[a].rate
player[a].rate = elo(player[a].rate, player[b].rate, 1)
player[b].rate = elo(player[b].rate, tmp, 0)
printf("%d\n", player[a].rate)
printf("%d\n", player[b].rate)
printf("%d %d %d", player[a].mat, player[a].win, player[a].lose )
printf("%d %d %d", player[b].mat, player[b].win, player[b].lose )
printf("続けますか?\nYes >> 0 No>> 1");
g = gets.to_i;
end >>3
>>4
のwhileの中身をメソッド化して
while (g != 1) do
rating
printf("続けますか?\nYes >> 0 No>> 1");
g = gets.to_i;
end
みたいにしたいんだが
`rating': undefined local variable or method `player' for main:Object (NameError)
といわれる >>1
Rubyのことなら草加企業の草加プログラマに聞けよ
草加専用言語だから とても簡単な自宅で稼げる方法
参考までに書いておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
V7IGZ ■ このスレッドは過去ログ倉庫に格納されています