0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

じゃんけんゲームを作ってみる! | 初めてのプログラミング実践 ①

Posted at

##この記事の対象となる方
プログラミングを始めたばかりという方を対象にしています。
この記事では簡単な文法を理解すること、自身で使いたい文法を検索できる様になることを目的にしてます。

##この記事のゴール
この記事内で紹介するメソッドと制御構造を使えば、じゃんけんゲームを作ることができます。
じゃんけんゲームのプログラムの答えは載せていませんが、ぜひご自身で作ってみてください。

##メソッドとは

こちらの記事を参考にさせていただきました。

Rubyには多くの便利なメソッドが標準で用意されています。またプログラミングに慣れてくれば、自分自身でメソッドを作ることができます。

今回はRubyに標準で用意されているメソッドの一部を紹介します。

###rand

  • rand(n)は 0~n-1 までの数値で無作為に一つを返します。
  • rand(1..n)の様にすると、1からnまでの整数をランダムで返します。
Ruby
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()は外部からの入力を待ちます。
Ruby
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文は以下実際のコードと結果を見て頂く方が理解が進むと思います。

Ruby
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...の構文を使えば、じゃんけんゲームのロジックを作ることが可能です。
ぜひ試してみてください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?