ポケモンバトル1[2.0ver]

Ruby

こんにちはkazutoです。今回から、クラスを用いたより実践的なプログラムを組んでいきます。手続き型で作成した「ポケモンバトル」をクラスの便利な機能を用いて、進化させていきます。

仕様の確認

今回、クラスを用いて「ポケモンバトル」を実装していきます。下記が仕様になります。

4つのクラスでプログラムを組んでいき、execution.rbにて実行の処理を記述していくイメージになります。

下記に各クラスの挙動をまとめた画像を貼りました。少し見づらいですが、これから実装する上で必要な情報を載せたのでご確認ください。

コマンド操作でディレクトリandファイルを作成しよう

「ポケモンバトル」の仕様書を確認した所で、開発に必要な

  • ディレクトリ
  • ファイル

をターミナルでコマンドを打って作成していきましょう。

まず初めは、ディレクトリを作成しましょう。

mkdirコマンド

mkdirコマンドは、ディレクトリを作成する際に使用するコマンドです。

 % mkdir 作成したいディレクトリ名

構文を確認できてた所で早速、ディレクトリを作成してみましょう。今回は、「pokemon_game」というディレクトリを作成します。

% mkdir pokemon_game

上記の通りターミナル上に記述できたら実行してみましょう。そして、テキストエディタにてディレクトリができているかを確認してください。

ディレクトリが作成できた事が確認できたら、ファイルを作成していきましょう。

cdコマンド

cdコマンドとは、ディレクトリを移動する際に使用するコマンドです。
主に cdコマンドでディレクトリに移動する方法は2つあります。

絶対パス
% cd /hoge/ho/移動したいディレクトリ
相対パス
% cd 移動したいディレクトリ

今回は、相対パスで移動してみましょう。

% cd pokemon_games
pokemon_game % 

ディレクトリ名 %となったらディレクトリに移動できた証になります。
無事、pokemon_games ディレクトリに移動ができたので、実装に必要なファイルを作成しましょう。

touchコマンド

touchコマンドはファイルを作成する際に使用するコマンドです。

touch ファイル名
  • attack.rb
  • execution.rb
  • item.rb
  • legendary_pokemon.rb
  • pokemon_on_hand.rb

上記のファイルを作成していきましょう。

pokemon_game % touch attack.rb
pokemon_game % touch execution.rb
pokemon_game % touch item.rb
pokemon_game % touch legendary_pokemon.rb
pokemon_game % touch pokemon_on_hand.rb

上記のコマンドを実行しできたら、ファイルが正しく作成されているかを確認してみましょう。

lsコマンド

lsコマンドとは、カレントディレクトリ内のファイル、ディレクトリなどの情報を確認するために使用するコマンドです。

ディレクトリ名% ls

では実際にpokemon_gamesディレクトリの中身を確認してみましょう。

pokemon_game % ls
attack.rb     execution.rb    item.rb     legendary_pokemon.rb    pokemon_on_hand.rb

上記の様にtouchコマンドで作成したファイルがある事が確認できます。
以上でディレクトリandファイル作成を終わります。

実装の準備をしよう

  • ファイル
  • ディレクトリ

の準備ができたら、execution.rb に各ファイルを読み込ませましょう。

require './legendary_pokemon'
require './pokemon_on_hand'
require './attack'
require './item'

require ‘./ファイル名’と記述する事でファイルを読み込む事ができます。
では実際に読み込まれているか、確認してみましょう。

puts "attackファイル"
puts "itemファイル"
puts "legendary_pokemonファイル"
puts "pokemon_on_handファイル"

正しくファイルが読み込まれていれば、各ファイル名の文字列が出力されるはずです。それでは、execution.rb ファイルを実行してみましょう。

pokemon_game % ruby execution.rb

[実行結果]

legendary_pokemonファイル
pokemon_on_handファイル
attackファイル
itemファイル

と各ファイルの文字列が出力されていれば、正しくファイルが読み込まれている事になるので、OKです。

各ファイルがexecution.rb ファイルに読み込まれている事が確認できたので、最後にクラスを定義していきます。

クラスを定義

それではクラスを定義していきます。定義するクラスは4つになります。

  • Attackクラス
  • Itemクラス
  • Pokemon_on_handクラス
  • Legendary_pokemonクラス
class Attack
end
class Item
end
class Pokemon_on_hand
end
class Legendary_pokemon
end

まとめ:ポケモンバトル1[2.0ver]

今回は、プログラムを組んでいくというよりは、コマンド操作などプログラムを組んでいく際に,必要な環境を構築していきました。
まだ、実装に入ってはいませんが、プログラムを組んでいく際に、環境を整えるのはとても大切な事なので、コマンド操作などは、復習して知識を定着していきましょう。

以上,kazutoでした。