##この記事の対象となる方
プログラミングを始めたばかりという方を対象にしています。
この記事では簡単な文法を理解すること、自身で使いたい文法を検索できる様になることを目的にしてます。
##この記事のゴール
この記事内で紹介するメソッドと制御構造を使えば、じゃんけんゲームを作ることができます。
じゃんけんゲームのプログラムの答えは載せていませんが、ぜひご自身で作ってみてください。
##メソッドとは
こちらの記事を参考にさせていただきました。
Rubyには多くの便利なメソッドが標準で用意されています。またプログラミングに慣れてくれば、自分自身でメソッドを作ることができます。
今回はRubyに標準で用意されているメソッドの一部を紹介します。
###rand
- rand(n)は 0~n-1 までの数値で無作為に一つを返します。
- rand(1..n)の様にすると、1からnまでの整数をランダムで返します。
1 puts rand(3)
2 puts rand(1..3)
3
以下、私のMacでの出力結果です。
myname@MacBook-Pro Desktop % ruby rand.rb
0
1
myname@MacBook-Pro Desktop % ruby rand.rb
2
2
myname@MacBook-Pro Desktop % ruby rand.rb
1
3
出力結果の1行目はputs rand(3)の結果、
2行目はputs rand(1..3)の結果が出力されていますね。
###gets
- gets()は外部からの入力を待ちます。
1 puts "what is your name? Please type below."
2 a = gets
3 puts "your name is #{a}"
4
以下、私のMacでの出力結果です。
myname@MacBook-Pro Desktop % ruby rand.rb
what is your name? Please type below.
__ #ここにカーソルが現れます。
getsを書いておくことで、外部入力を求められていますね。(#ここにカーソルが現れます。のところ)
myname@MacBook-Pro Desktop % ruby rand.rb
what is your name? Please type below.
Shingo #名前などを入力してみると
your name is Shingo #出力結果に先程の入力結果が表示されました。
##制御構文
こちらの記事を参考にさせていただきました。
制御構文とは「条件分岐」とか「繰り返し」の処理を行う式のことです。
この記事のゴールはじゃんけんゲームを作ることと先に書きましたが、つまり、自分は「グー」を出したときに、相手が「パー」なら、何かしらの文章を表示させて...とか考えられるわけです。
###if..elsif..else..end
- もし~ならば...という条件を設定できます。
- if xxx (もしxxxという条件が正しいなら)
- elsif yyy (xxxという条件には当てはまらないけど、yyyという条件が正しいなら)
- else (ifのxxxにもelsifのyyyにも当てはまらないなら)
\ワンポイント/
Rubyで「aが0の時(aが0と等しい時)」を表すためには「a == 0」を書きます。
「==」が両辺が等しいという意味になります。
If文は以下実際のコードと結果を見て頂く方が理解が進むと思います。
a = rand(3)
if a == 0
puts a
puts 'Good Luck!'
elsif a == 1
puts a
puts 'So so'
else
puts a
puts 'Bad Luck'
end
私のMacでは以下のように出力されました。
myname@MacBook-Pro Desktop % ruby if.rb
0 # puts aの結果
Good Luck! # puts '文字列'
myname@MacBook-Pro Desktop % ruby if.rb
0
Good Luck!
myname@MacBook-Pro Desktop % ruby if.rb
2
Bad Luck
myname@MacBook-Pro Desktop % ruby if.rb
1
So so
myname@MacBook-Pro Desktop % ruby if.rb
0
Good Luck!
myname@MacBook-Pro Desktop % ruby if.rb
2
Bad Luck
myname@MacBook-Pro Desktop % ruby if.rb
2
Bad Luck
##まとめ
最低限ですが以下の様なプログラムを作ってみました(janken.rb)。
勝ち負け判定もできると楽しいかもしれないですね!
myname@MacBook-Pro Desktop % ruby janken.rb
じゃーんけん... 0:グー 1:チョキ 2:パー
0 # 僕が0を入力した結果...
あなたの手: グー
相手の手: パー
rand、getsそしてif...の構文を使えば、じゃんけんゲームのロジックを作ることが可能です。
ぜひ試してみてください!