私は、ゲームデザインクラスの課題に取り組んで、パックマンクローンを構築しています。Java IO、ファイルからの読み取りと2文字目の配列への印刷
WWWWWWWWWWWWWWWWWWWWWWWWWWWW
W............WW............W
W.WWWW.WWWWW.WW.WWWWW.WWWW.W
W*WWWW.WWWWW.WW.WWWWW.WWWW*W
W.WWWW.WWWWW.WW.WWWWW.WWWW.W
W..........................W
W.WWWW.WW.WWWWWWWW.WW.WWWW.W
W.WWWW.WW.WWWWWWWW.WW.WWWW.W
W......WW....WW....WW......W
WWWWWW.WWWWW.WW.WWWWW.WWWWWW
WWWWWW.WWWWW.WW.WWWWW.WWWWWW
WWWWWW.WW..........WW.WWWWWW
WWWWWW.WW.WWWWWWWW.WW.WWWWWW
WWWWWW.WW.WWWWWWWW.WW.WWWWWW
..........WWWWWWWW..........
WWWWWW.WW.WWWWWWWW.WW.WWWWWW
WWWWWW.WW.WWWWWWWW.WW.WWWWWW
WWWWWW.WW..........WW.WWWWWW
WWWWWW.WW.WWWWWWWW.WW.WWWWWW
WWWWWW.WW.WWWWWWWW.WW.WWWWWW
W............WW............W
W.WWWW.WWWWW.WW.WWWWW.WWWW.W
W*WWWW.WWWWW.WW.WWWWW.WWWW*W
W...WW................WW...W
WWW.WW.WW.WWWWWWWW.WW.WW.WWW
WWW.WW.WW.WWWWWWWW.WW.WW.WWW
W......WW....WW....WW......W
W.WWWWWWWWWW.WW.WWWWWWWWWW.W
W.WWWWWWWWWW.WW.WWWWWWWWWW.W
W..........................W
WWWWWWWWWWWWWWWWWWWWWWWWWWWW
アイデアは、Java IOからの読者によって行ずつ、これが読み込まれていることである。
は現在、私はパックマン迷路
は下記を参照されたテキストファイルを持っていますパッケージを作成し、次に2次元配列を生成するために使用すると、配列内のデータを使ってペイントクラスを使用してイメージをどこに印刷するかをループで指定できます。
現在のところ、私の問題はペイント方法ですが、それは全く問題なく動作しているようですが、現時点で何が問題なのかはわかりません。誰かが私を正しい方向に向けることができますか?
(私のコードは、書式設定、私はまた、Java IOパッケージに新たなんだ、ここで必要なインデントによって、私は例外処理を見てきた最初の時間を少しを台無しにされています!)任意の助けを事前に
感謝!
//imports
import java.awt.*;
import java.io.*;
import javax.swing.*;
public class Maze extends JFrame
{
//V.Decleration
private static final Dimension WindowSize = new Dimension (600,600);
static char[][] Amaze = new char[28][31];
//default constructor
public Maze()
{
this.setTitle("Pacman");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screensize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
int x = screensize.width/2 - WindowSize.width/2;
int y = screensize.height/2 - WindowSize.height/2;
setBounds(x, y, WindowSize.width, WindowSize.height);
setVisible(true);
}
public void paint (Graphics g)
{
String line = null;
try
{
BufferedReader reader = new BufferedReader(new FileReader("G:\\Game Design\\Pacman\\src\\Maze.txt"));
for (int i=0; i<=31; i++)
{
do
{
try
{
line=reader.readLine();
for (int y=0; y<=28; y++)
{
Amaze[y][i]=line.charAt(y);
}
}catch (IOException e) { }
}
while (line!= null);
try
{
reader.close();
} catch (IOException e) { }
}
} catch (FileNotFoundException e) {}
}
//main
public static void main (String [] args)
{
Maze maze = new Maze();
for (int i=0;i<=28;i++)
System.out.print(Amaze[i][31]);
}
}
印刷 'e.printStackTrace()でキャッチされているすべての' Exception'sを; '。例外は一般に無視されません。何がうまくいかなかったかを説明します。あなたのペイント方法で。 –
私はなぜあなたのペイント方法がペイントすると思いますか分かりません。あなたは実際に塗る方法を呼んでいません。あなたはファイルを読み込んで配列を作成するだけです。あなたはこれ以上を表示する必要があります。 – AHungerArtist
あなたはどちらも私の質問を誤解しているようです。 このコードでは何も印刷されないことはよく知っています。テキストファイルから2次元文字配列にデータを移動しようとしています。私がこれをやり遂げると、残りの作業をすることができます。 – Eogcloud