本記事では、初心者でも簡単に作れるRubyのプログラムである「ランダムな数字当てゲーム」の作り方を紹介します。
このゲームは1~10の数字をランダムに生成し、プレイヤーがその数字を当てるというゲームで、内容が複雑ではないため初心者でも簡単なコードで成功体験ができるものになります。
ですので、今回の記事でプログラムの動く流れや実行できた達成感を味わっていただきたい。
そしてさらにプログラミングの魅力に迫っていきましょう!
実装用コードと成果物の確認
では実際にどのようなコードを書くのか、そしてどのように実装されるのかをまずはご確認ください。
実際の成果物
僕が使用しているのはMacですので『ターミナル』を使用して実装しています。
Windowsの場合は『コマンドプロンプト』です。PC内のどこにあるのかわからない場合は検索バーから探してみましょう!
実際にターミナルで実装した場合がこちらです。
実装コードと実装の仕方
簡単な実装の仕方
まず実装するのに何から始めていいかがわからない!という方のために画像付きで解説していきます。
ファイルの用意
まずは読み込むファイルを用意しましょう。
読み込むファイルはデスクトップなどPC内のローカルフォルダに作成しましょう。
今回はデスクトップにフォルダ名『ruby』で作成します。
その中にそれぞれの開発環境(僕はVScodeを使用しています)で作成した『kazuate.rb』を用意します。
ファイル名はなんだっていいですが、拡張子は『.rb』ですので気をつけましょう。
実装の仕方
まずターミナル(Windowsはコマンドプロンプト)を開きます。
ターミナルを開いたらまずはフォルダを読み込みましょう。
フォルダを読み込むコードは『cd ~/Desktop/ruby』です。
読み込んだら上記画像のように表示されます。
次にちゃんとフォルダを読み込めているか確認するため、『ls』と打ってみましょう。
画像のように読み込みたいファイル名(ここではkazuate.rb)が表示されていたらOKです。
ではさっそく読み込んでみましょう!
読み込む際のコードは『ruby (ファイル名).rb』です。(ファイル名)のところには自分で設定したファイルの名前を記入しましょう。
エンターで実行します。
読み込めましたね!
最初の実行では数字を一発で当ててしまいました…。
2回目からは間違った際にちゃんとプログラムがヒントを出してくれていることもわかりますね!
それでは次回よりコードの解説をしていきます。
コードの解説
まずは、以下のコードを使用して、ランダムな数字を生成します。
『rand』メソッドは、0以上1未満の範囲でランダムな浮動小数点数を返すメソッドです。
ここに引数を与え、1〜10までのランダムな数字を返すようにします。
それを変数『number』に代入します。
number = rand(1..10)
次に、プレイヤーが当てる数字を入力するように促します。以下のコードを使用して、プレイヤーが数字を入力できるようにします。
puts “1~10の数字を入力してください:”
guess = gets.chomp.to_i
『puts』は、引数として与えられたオブジェクトを文字列として標準出力するメソッドです。
つまりは目に見えるように表示するためのものですね。
『gets.chomp.to_i』は、Rubyで標準入力から数値を受け取るための一連のメソッドです。
まず『gets』メソッドは、標準入力から1行分の文字列を受け取ります。次に『chomp』メソッドは、文字列の末尾にある改行文字を取り除きます。
最後に、『to_i』メソッドは、文字列を整数に変換します。
次にプレイヤーが数字を入力したら、その数字が当たるまで繰り返し処理を行います。以下のコードを使用して、プレイヤーが当てる数字を繰り返し入力できるようにします。
while guess != number do
if guess < number
puts “もっと大きな数字を入力してください”
elsif guess > number
puts “もっと小さな数字を入力してください”
end
guess = gets.chomp.to_i end
『while』はRubyのループ構造の1つで、指定された条件が正しい間、繰り返し処理を行います。
今回『!』をつけています。これは正しい場合から「異なる場合」に変わります。ですので、数字が当たらない場合は続きますよということです。
次に『if』はRubyで条件分岐を行うための制御構文の1つです。この場合はこれをして、『elseif』違う場合はこれをして。と条件を出しています。
ですので、この場合入力した数字より答えの数字が大きい場合のヒントと小さい場合のヒントを条件分岐で変えています。
そして最後に『gets.chomp.to_i』を『end』で終わらし、最終的な数字を再度変数『guess』に代入します。
puts “正解です!#{number}でした。”
プレイヤーが当てた数字が、ランダムに生成された数字と一致した場合は、上記のメッセージを表示します。
以上で、ランダムな数字当てゲームの作成が完了しました。
本格的にプログラミングを学びたいなら
今回はプログラミングを学び始めたばかりの方でもできるような数字当てゲームを作ってみました。
今回の記事をキッカケに本格的にプログラミングを学びたいと思った場合、独学でもある程度できるのですが、やはり実用性のある知識とスキルをつけるには誰かしらに学ぶのが一番の近道です。
じゃあすぐそばに都合よくプログラマーがいればいいのですが、誰しもがそんな境遇ではないでしょう。
そこで、あくまでひとつの選択肢ではあるのですが、『TechAcademy [テックアカデミー] 』という、自宅で現役エンジニアから学べるオンライン学習サービスがあります。TechAcademy無料動画説明会
『テックアカデミー』は先述した通り自宅で現役のエンジニアから学ぶことができるオンラインプログラミングスクールです。
通う必要がなく、自宅でもWeb制作・プログラミング・アプリ開発を学べます。
転職の支援はもちろん、副業に活かせるスキルの習得から、副業の仕事紹介まで寄り添ってくれるサービスとなっています。
そうは言われても、いきなり本格的に受講するのは迷うものです。
ですので、まずは無料体験から始めることがベストでしょう。
それで自分の生活のベースに障害なく、また自分に合ったペースで学べそうであれば、実際に受講することをおすすめします。
まとめ
今回は、Rubyを使ってランダムな数字を生成し、プレイヤーがその数字を当てるゲームのプログラムを作成しました。
プログラムのコードや解説を通じて、Rubyの基本的な文法や制御構造について学ぶことができました。
たくさんコードを入力し、一連のコードの流れを理解し、たくさん実装するだけどんどん覚えられます。
これからたくさんの経験を経て、素晴らしいプログラマーになっていきましょう!
コメントを残す