ジャンケンという言葉の英語は無い事を今頃知った、ユゲタです。
単純に「rock,Sissor,paper」と言っているようですが、日本語で言うと「グー、チョキ、パー」ですね・・・
そんな事を考えていると、「ジャンケン」の言葉の由来を知りたくなって調べてみたら、
二人で行うから、「両拳」(りゃんけん) が変形したのではないか(諸説あり)、と言われているとわかりました。
よくよく考えると、ジャンケンのネーミングセンスって、良いですよね。
本日のIT謎掛け
「ジャンケン」と、かけまして・・・
「味噌汁品評会」と、ときます。
そのココロは・・・
最初はグー(具)を出すと、テンポが良いよ。
Rubyのジャンケンプログラム
spr = ["グー" , "チョキ" , "パー"]
print("じゃんけん : [0:グー 1:チョキ 2:パー] : ")
my_spr = gets.to_i
print("あなたの出した手は、%sです。\n" % spr[my_spr])
com_spr = rand(0..2)
print("コンピュータの出した手は、%sです。\n" % spr[com_spr])
def spr_mutch(my_spr , com_spr)
if my_spr == com_spr then
return "draw"
elsif my_spr == 0 && com_spr == 1 then
return "win"
elsif my_spr == 1 && com_spr == 2 then
return "win"
elsif my_spr == 2 && com_spr == 0 then
return "win"
else
return "lose"
end
end
result = spr_mutch(my_spr , com_spr)
def result_str(result)
if result == "win" then
return "あなたの勝ちです。"
elsif result == "lose" then
return "あなたの負けです。"
else
return "引き分けです。"
end
end
p result_str(result)
実行と解説
$ ruby janken.rb
じゃんけん : [0:グー 1:チョキ 2:パー] : 1
あなたの出した手は、チョキです。
コンピュータの出した手は、パーです。
"あなたの勝ちです。"
$ ruby janken.rb
じゃんけん : [0:グー 1:チョキ 2:パー] : 1
あなたの出した手は、チョキです。
コンピュータの出した手は、グーです。
"あなたの負けです。"
$ ruby janken.rb
じゃんけん : [0:グー 1:チョキ 2:パー] : 1
あなたの出した手は、チョキです。
コンピュータの出した手は、チョキです。
"引き分けです。"
Rubyって、Pythonとかなり、似通った言語ということがわかります。
多少の構文の違いがありますが、構成などは似通っているので、移植作業が非常にしやすいです。
とは言っても、しっかりと言語特性を覚えないといけないので、rubyのprint文関係の"p"を使って結果表示をしてみたりしました。
まとめ
rubyとpythonは、非常にスッキリとしたコードが書けるので、書いていても見ていてもなんとなく安心感があるのは、自分だけでしょうか?
pythonと大きく違うのは、細かくimportしてライブラリを読み込む必要がないので、気兼ねなく機能が使える点ですかね?
無駄なライブラリを抱え込んで重くなるという考え方もあるようですが、ポイントをどこに置くかによります。
もしかしたら、場面場面で言語を切り替えるというのもアリなのかもね。
0 件のコメント:
コメントを投稿