Java プロコンゲーム 〜設計2画面の入力フロー〜

イントロダクション

前回作成したイメージを具体的なものにしていきます。
今回からは、プロコンゲーム(プログラミングコンテスト向けゲーム)の作成を始めようと思います。

今までに。テキストRPGを作成しようと色々と調査してきましたが、どうしても自然言語処理が必要になるため一時中止にしようと思います。
しかし、今までやったことは無駄にしません、RPG風に作成します。

設計2:受付処理

参考にするアプリケーションはU-16プログラミングコンテストです。これと同様に以下のような手順でプレーヤの参加を受付ます。

  1. 画面を開き、ゲームに参加するプレーヤーの使用するポート番号と表示するIMGを画面上に表示する
  2. 参加するプレーヤーの人数が確定したらスタートボタンでゲームを開始する
  3. ゲームのマップを表示する
  4. プレーヤーの配置を行う
  5. タイマーを開始して制限ターン数を表示、カウントダウンする

まずは、Map描画

今回作成するマップはダンジョンRPGをイメージにしているので通行できない部分(迷路のような)、とか罠とか、アイディアはつきませんが、マップの難易度(レベル)を設けて、それぞれの難易度でマップの生成を行うような実装を考えております。

JavaFX

画面の表示処理にはJavaFXを使用しますので、基本的な書き方はこちらの記事を参考にしてください。
早速、JavaFXの実装に入ります。

Map作成

実装したコードでは下のように表示されました。
以前作成したコードをちょいといじって動かしました。

ポイントになるコードは下のように実装しました。

/**
 * Canvasに背景を描画する
 * @param vBox Canvasを追加する領域
 */
public void createBackGround(VBox vBox) {
    String lightGrass = "grass_light.png";
    String deepGrass = "grass_deep.png";
    String soilBasic = "soil_basic.png";
    GridPane grid = new GridPane();

    for (int j = 1; j < 5; j++) {
        for (int i = 1; i <= 5; i++) {
            grid.add(createImageLbl(lightGrass), j, i);
        }
    }

    vBox.getChildren().add(grid);
}

単純に5x5マスにイメージファイル(ラベル)を表示しているだけです。この要領でゲームのマップを作成しようと思います。
ここで、問題が1つあります。マップにより難易度、を設けるので、その難易度とマップの内容を関連付けるのにどのようなロジックで行うか?ここがポイントになります。

ちょいと頭をひねります。。。

UMLについて

以前に下のようなことを記事にしました。

  1. UML 世界を作る 〜RPGでの世界を作る場合〜
  2. UMLの書き方(読み方)〜概要とクラス図〜
  3. UMLツール Star UML〜ユースケース図を書いて見た〜
  4. UMLツール 〜Star UMLを使う〜

今回はここら辺で。。。
でわでわ。。。

次回:Java プロコンゲーム 〜見た目の作成(SceneBuilderの使用)〜

関連ページ

Java Basic

  1. Java Basic Level 1 Hello Java
  2. Java Basic Level2 Arithmetic Calculate
  3. Java Basic Level3 About String class
  4. Java Basic Level 4Boolean
  5. Java Basic Level 5If Statement
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 Traning of If statement
  8. Java Basic Level8 How to use for statement
  9. Java Basic Level 8.5 Array
  10. Java Basic Level 9Training of for statement
  11. Java Basic Level 10 While statement 
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2
  14. サンプル実装〜コンソールゲーム〜
  15. Java Basic インターフェース・抽象クラスの作り方
  16. Java Basic クラスとは〜Step2_1
  17. Java Basic JUnit 〜テストスイートの作り方〜


投稿者:

takunoji

音響、イベント会場設営業界からIT業界へ転身。現在はJava屋としてサラリーマンをやっている。自称ガテン系プログラマー(笑) Javaプログラミングを布教したい、ラスパイとJavaの相性が良いことに気が付く。 Spring framework, Struts, Seaser, Hibernate, Playframework, JavaEE6, JavaEE7などの現場経験あり。 SQL, VBA, PL/SQL, コマンドプロント, Shellなどもやります。

コメントを残す