Takunojiの日記

自分が勉強したプログラム技術メモ

Java Basic クラス実装サンプル

今まで、インターフェースだとか、クラスだとか、色々とやって来ました。

これらを組み合わせて何かを作ろうとする時、何から考えらば良いか?

ある意味、永遠のテーマですがサンプルとして自分がやっているパターンを記載したいと思います。

 

初めに、どんなイメージのものを作るか?妄想力を全開にして具体的なイメージを作り上げていきます。

今回は、テキストRPGを作ろうと思っています。
なのでゲームの作り方を基本に置き、どの様な処理が必要なのか大雑把なフロー(流れ)を作ります。※LWJGL使用

1.初期処理→リソースの読み込みなど

2.ゲームのループ処理

3.終了処理

 
そして、簡単な画面(テキストで作成)を表示する
プロトタイプまで行かないプロトタイプを作成して見ます。
Javaで作成したので「java -jar CmdRPG.jar」とコマンドプロンプト
に入力してやると実行できます。※上記のリンクよりDL

f:id:Takunoji:20180616214159p:plain

詳細に関してはこちらで説明しています。

追伸、以下の手順で画面の追加と

コマンドの追加ができます。

0.Cmd RPG.jarを参照する

 ※ビルドバスに追加

1.ViewStatusクラスを継承(extends)

2.必要なメソッドをオーバーライド

 ※ビルドエラーがなくなればOK

3.表示するテキストファイルを作成

 ※createViewStrに引数でバスを渡す

 

Java Bassic オブジェクト指向 〜サンプルRpgMainクラス〜 – PGボックス

 

そして、チームを作り絵やストーリー、プログラム、マネージャーなどの作業分担が出来ると作成が楽しいと思います。

 

ちなみに自分は1人だけなので自分の出来る事をやり続けております。

つまり、ストーリーの作成とプログラムです。

とりあえず、形あるものを残す事に注力してやってます。

仲間は後から見つかるだろうと思いのんびり構えてます(笑)

テキストRPG 作成メモ

躓いた部分

始めのストーリーを描写するのに

文字でストーリーを表示するだけで良いのか?

 

一節毎に区切りストーリー表示

ボードゲームを参考にする

イメージ、ビジュアルはアスキーアート

チュートリアルを作成する

Java Basic ミニゲーム作成 〜画面の状態〜

前回、タイトル画面の作成、表示をやりました。

今回は、画面の状態の管理Objectの作成と各画面での操作切り替えを行うための処理フローの作成をやります。

 

「必要な技術」

インターフェースの作り方

抽象クラスの作り方 // 上と同じページです

Mapの使い方

 

初めに、タイトル画面の表示を行い

「開始」「コンテニュー」をそれぞれ選択
できる様にします。

なので、タイトル画面の管理Object

はコマンドの入力を受けて
対象のコマンドを実行する形を
作成する必要があります。
詳細はコードを見ていただきたく。。。

PracticeJava1/Step3_3.java at master · ZenryokuService/PracticeJava1 · GitHub

今までやってきたものを繋げてやってます。

そして、実装内容に関して以下にまとめました。

Java Basic ミニゲーム作成 〜Step3_2〜 – PGボックス

Java Basic Map インターフェース

ここ最近、テキストRPGの作成を始めました。

 

必要になる技術としては以下の通り

標準入出力

ファイル読み込み

while文の書き方

クラスの書き方

 

始めのタイトル表示までです。

 

ここから、オブジェクト指向な部分に入って行きます。

 

今回は、マップの使い方について

Mapはキーと値をセットにして保存〜取得を行うためのインターフェースです

実体(クラス)はHashMapを使用しました

 

インターフェースは以下の様に作ります

public interface Hoge {

     public abstract void foo();

}

なので、実体がありません。

じゃ、実体はなに?

public class Foo implements Hoge{

    public void foo() {

         System.out.print(“Hoge”);

    }

}

上の様にインターフェースをimplementsしたクラスが実体になります。

abstractがついたメソッドの事を抽象メソッドと呼びimplementsしたクラスでは必ず処理を書かないとなりません。

エラーが発生します。

 

詳細な内容はこちらをご覧ください

 

実体クラスをインターフェースに代入しています。

 

でわでわ

<問題> 
Mapインターフェースを使用して登録(put)した
データ(文字列)を1行でコンソールに出力するプログラムを作成してください。

ヒント:ラムダ式を使用するといけます。

Java Basic ミニゲーム作〜タイトル表示〜

前回、テキストRPGの作成に入りました。大まかな処理をメソッド単位で区切り入力を受け付けて、「bye」と入力したらアプリが終了するものでした。

 

今回は、リソース→テキストファイルを読み込み「タイトル」を表示します。

外部ファイルを読み込む理由は

プログラムの修正をせずに出力するものを変更できます。

つまり、プログラムを書く人と文字でのデザインをする人と分業することが出来ます。

 

この仕組みは、単純にタイトルを出力するときにファイルを読み込み出力するだけなので難しくありません。

ファイルの読み込み方法はこちらです

 http://zenryokuservice.com/wp/2018/05/27/javadoc-読解-〜-filesクラス-〜/

 

 

ゲーム作成に関してはこちら

http://zenryokuservice.com/wp/2018/05/25/java-basic-ミニゲーム作成-〜step3_1〜/