Back
情報科学概論 Aクラス 宿題 2003.6.10 解答例
計算機とトランプの札の強さの勝負をするスクリプトを作成する.強さの序列な
どルールは次のようにする.
- マークの強さは,スペードが最強で,ダイヤ,クラブ,ハートの順とする.
- 数字の強さは,13が最強で,1が一番弱い.
- カードはお互いに52枚一組ずつを持っているとする.すなわち,両者が同じカードを
出すことがある.
- 自分のカードも相手のカードも乱数により発生させる.
- スクリプトを走らせると,自分のカードと相手のカードを表示し,結果を表
示する.結果は,自分の勝ち,引き分け,計算機の勝ちの3種類とする.数
字の大きい方が勝ちとし,数字が同じときにはマークの強さで決める.
- 実行例としては,以下のようなものを想定している
$ ruby card.rb
あなたのカード:スペードの4
私のカード:ハートの11
私の勝ち
|
解答例
suite1 = rand(4)
suite2 = rand(4)
num1 = rand(13) + 1
num2 = rand(13) + 1
case suite1
when 3
your_suite = "スペード"
when 2
your_suite = "ダイヤ"
when 1
your_suite = "クラブ"
when 0
your_suite = "ハート"
end
case suite2
when 3
my_suite = "スペード"
when 2
my_suite = "ダイヤ"
when 1
my_suite = "クラブ"
when 0
my_suite = "ハート"
end
printf "あなたのカード:%s の %d\n", your_suite, num1
printf "私のカード:%s の %d\n", my_suite, num2
if num1 > num2
print "あなたの勝ちです\n"
elsif num1 == num2
if suite1 > suite2
print "あなたの勝ちです\n"
elsif suite1 == suite2
print "引き分けです\n"
else
print "私の勝ちです\n"
end
else
print "私の勝ちです\n"
end
|
情報科学概論 Bクラス 宿題 2003.6.10
計算機とトランプの札の強さの勝負をするスクリプトを作成する.強さの序列な
どルールは次のようにする.
- マークの強さは,ダイヤが最強で,スペード,ハート,クラブの順とする.
- 数字の強さは,13が最強で,1が一番弱い.
- カードはお互いに52枚一組ずつを持っているとする.すなわち,両者が同じカードを
出すことがある.
- 自分のカードも相手のカードも乱数により発生させる.
- スクリプトを走らせると,自分のカードと相手のカードを表示し,結果を表
示する.結果は,自分の勝ち,引き分け,計算機の勝ちの3種類とする.数
字の大きい方が勝ちとし,数字が同じときにはマークの強さで決める.
- 実行例としては,以下のようなものを想定している
$ ruby card.rb
あなたのカード:スペードの4
私のカード:ハートの11
私の勝ち
|
解答例
suite1 = rand(4)
suite2 = rand(4)
num1 = rand(13) + 1
num2 = rand(13) + 1
case suite1
when 2
your_suite = "スペード"
when 3
your_suite = "ダイヤ"
when 0
your_suite = "クラブ"
when 1
your_suite = "ハート"
end
case suite2
when 2
my_suite = "スペード"
when 3
my_suite = "ダイヤ"
when 0
my_suite = "クラブ"
when 1
my_suite = "ハート"
end
printf "あなたのカード:%s の %d\n", your_suite, num1
printf "私のカード:%s の %d\n", my_suite, num2
if num1 > num2
print "あなたの勝ちです\n"
elsif num1 == num2
if suite1 > suite2
print "あなたの勝ちです\n"
elsif suite1 == suite2
print "引き分けです\n"
else
print "私の勝ちです\n"
end
else
print "私の勝ちです\n"
end
|
cd