###javaでドラクエ風2Dマップを生成したい
当方は一般事務の会社員で、プログラミング経験はゼロです。
ふと思い立ってICT関係の勉強を始め、この4月に情報セキュリティマネジメント試験に合格し、その後10月の基本情報技術者試験を始め、午前問題はほぼ完答できるようになりましたが、午後選択のjavaで躓き不合格となりました。(プログラミング未経験者は表計算で行くべき、というのは散々言われましたが、新しい知識を得たくて、敢えてjavaです。)
この程度のレベルであることを最初にご承知ください。
参考書を数冊買って読んでも、「そもそもjavaとは何なのか?」が理解できませんでしたが、「すっきりわかるjava入門」でようやく全体像が掴め、更に「新人君!RPGの世界でjavaを学ぼう」を読んで、いわゆる”ドラクエ風ターンバトル”のコードはできるようになりました。
Eclipseのコンソールで自分が作った戦士や敵モンスター達がバトルするのを見るのは満足感がありますが、ただ、どうしても「2Dマップを歩いている時に敵モンスターにランダムエンカウントしてバトルする」というのを実装したいのです。
ですが適当な本も見つけられず、ネット検索してもズバリのサイトは出てきません。「java RPG マップ」などと検索すればある程度の数がヒットしますが、初学者のものは見つけれませんでした。
1つ、以下のようなコードを実行すると、他次元配列で”疑似的に”マップが生成できることはわかりました。(これは画像ではなくて、文字で疑似的にマップを表現してます)
このような感じで、メインクラスを実行したら、生成された2Dマップが立ち上がり、キャラが移動することで敵モンスターにランダムエンカウントするようなコードを知りたいのです。
バトル自体は自分でコードを書けますので、「2Dマップを生成する」「マップ上のキャラが動くと敵に遭遇する」という部分について、どのようなコードを書けばよいのか、詳しい方に教えて頂きたいです。
お手数ですが、よろしくお願いします。
【追記】2Dマップのイメージ
リンクを貼りましたが、ここまで本格的なものまでは考えていません。単に10×10くらいのセル(というのでしょうか?)で満足です。また画像もお城とか森や岩山までできなくても、適当な自作画像で十分のつもりです。(画像作成自体はこの質問に含みません)
public class Main { public static void main(String[] args) { String[][] worldMap = new String[10][20]; worldMap[0][0] = "城"; worldMap[0][19] = "町"; worldMap[9][19] = "町"; for (int i = 0; i < worldMap.length; i++) { for (int j = 0; j < worldMap[i].length; j++) { if (worldMap[i][j] == null) { worldMap[i][j] = "森"; } System.out.print(worldMap[i][j]); } System.out.println(""); } } }
回答2件
あなたの回答
tips
プレビュー