見出し画像

ドラクエ風プログラムを作ってみよう!はゲーム感覚でRubyの基礎を学びたい人にオススメな教材です

はじめに
 このnoteはrubyをprogateなどで学習して現在はrailsを学習しているけど、実際rubyだけだと何ができるの?もう一度学習したい、どうせなら楽しく学習したいという方に向けて書いています。

自己紹介
私のnoteを見てくださりありがとうございます。
サーバーサイドエンジニアを目指して転職活動中の「ぜっとん」と申します。

仕事をしながらプログラミング学習をはじめて4ヶ月目に
『やんばるDODEオンライン』というオンラインサロンにて共同開発を一度終え、その後にこちらのアプリに取り組みました。

というのもやんばるCODEオンラインでは課題を行うのは調べながらやり遂げることができました。しかし、共同開発となるとなかなかコードが進まず、進まない原因の一つとしてRubyの基礎をちゃんと理解しておらず思った機能を実装できないと感じたからです。。

Rubyの基礎を学習したい、けど味気ない教材は嫌だと思って教材を探していたところ、今回紹介させていただく「ドラクエ風プログラムを作ってみよう!」を教えてもらい、私と同じような駆け出しの方にピッタリな教材だと思いましたので私と同じような方の参考になればと思い紹介します。

*ドラクエ風教材「ドラクエ風プログラムを作ってみよう!」の
 詳細や購入ページはこちらです
 https://www.techpit.jp/p/ruby-dragon-quest
 *制作者: 神里よしとさん(@yoshito410kam)

 ・価格​:1280円(techpitから購入)
 ・学習時間:15時間程
 ・内容:Rubyでドラクエ風のバトル部分を行うことができる
     コマンドラインアプリケーションを作成します。
     実装するのは以下の機能となります。
      ・勇者とモンスターが攻撃し合う
      ・どちらかのHPが0になるまで戦いが続く
      ・勇者が勝ったら経験値やゴールドが得られる
  
こんな人にオススメ
・Progateで学習したことがある
・Railsチュートリアルで学習したことがある
・けどRubyだけで何ができるかよくわからない
・本の教材だと楽しく学習できない
・リファクタリングってなに?
・開発の現場ではなにを意識してコードを書いてるの?

こちらの教材は何が楽しいと感じたか

この教材はRubyでドラクエのバトル部分をコマンドラインアプリケーションとして作りますので、バトル画面も作れるのかと勘違いしていた私は勝手にショックを受けました(笑)
しかし、やり終えるまでに15時間掛かっていたため丁度いいボリュームだと思いますし、最後の方になるとドラクエっぽい機能も実装しますので自分がどんな機能を実装しようとしているかワクワクしながら教材を進めることが出来ました。
 *やり終えた後は、各自で機能を追加していくのもオススメです。

この教材で学べること
・Ruby on Railsの環境構築方法(Mac)
  まだ環境構築が終わっていない方には参考になると思います。
  分かり易く説明してくれています。
・Rubyの基礎文法
・クラスの定義・継承
   セッター、ゲッター、attr_accessorメソッド、initialzeメソッド、
  引数へのハッシュの渡し方、パラメーターの設定・取得方法、
  Privateの使い方などとても重要な書き方が紹介されています。
・定数の使い方
  コードの中で意味をもつ数値が出てきます。
  値に予め名前をつけておくことで変更が簡単にできるようになります。
・フラグの使い方
     真か偽、どちらかの値を入れておく変数のことです。
  バトルの処理を書く中で状態を表すために使用します。  
・機能ごとにメソッドの切り分け
  一連の処理を書いているとどの部分に何が書かれているのか
  わからなくなってきます。
  これを防ぐために機能別にメソッドを分けることで
  コードが分かり易くなり、かつエラーを見つけ易くなる
  というメリットがあります。
・ファイルの分割
  考え方としてはメソッドの切り分けと同じです。
  プログラムを目的ごとにファイルに分割し、コードを見易くします。
  ファイル同士を連携させるためにはrequireを使います。
・モジュールの切り分け
  教材の中にメッセージを出力する部分があるのですが、
  さらに分かり易くするためにモジュールとして切り分けを行います。
  切り分ける理由として、クラス内でメッセージを表示するメソッドを
  呼び出せるようにするためです。

大まかな教材の流れ
  ・ゆうしゃ、モンスタークラスの定義
  ・攻撃処理の実装
  ・戦闘終了判定時の処理を実装
  ・リファクタリング、切り出し

オススメポイント
 初めは初歩的なコードを書きその後リファクタリングしていく
 流れなので教材を進めていくだけで理解しやすい構成となっています。
 私はリファクタリング?見やすいように切り出し?
 という状態だったのでこれらの理解ができるこちらの教材は初心者に
 うってつけの教材だと思います。
          
さいごに
終わってみると遊びながらゲームを作ったという感覚になりましたが
かなり勉強になりました。
楽しかったのでnoteを書いた後で機能を追加しようと思ったくらいです。
私と同じように楽しくRubyの復習をしたい人にはオススメです。

最後までお読みいただきありがとうございました。

↓↓noteに出てきたリンクはこちらになります↓↓
ドラクエ風教材:「ドラクエ風プログラムを作ってみよう!
制作者::神里よしとさん(@yoshito410kam)
オンラインサロン:『やんばるDODEオンライン

この記事が気に入ったらサポートをしてみませんか?