0

diablo 2 が動的に戦利品を生成する方法について研究しており、このシステムを使用してアイテムをランダムに生成する楽しいアプリを作成するのは楽しいと思いました。

現在、txt ファイル全体を読み取る必要があると思われるコードがありますが、解析されていません。

次のようになります。

private void itemGenerator() {
        int ch;
        StringBuffer strContent = new StringBuffer("");
        InputStream fs = getResources().openRawResource(R.raw.treasureclass);
        // read file until end and put into strContent
        try {
            while((ch = fs.read()) != -1){
                strContent.append((char)ch);
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
}

テキスト ファイルの例は次のようになります。

Treasure Class  Item1   Item2   Item3
tc:armo3    Quilted_Armor   Buckler Leather_Armor
tc:armo60a  Embossed_Plate  Sun_Spirit  Fury_Visor
tc:armo60b  Sacred_Rondache Mage_Plate  Diadem

だから私が今考えているのは、各行をStringTokenizer\n で区切られた配列に入れて各行を取得することです。その後、どういうわけか、配列内の各項目に対してタブ区切りで再度実行し、それを 2D 配列に入れますか?

まだコーディングしていませんが、これを実装するためのより良い方法が見つかりませんでした。

アイテムの生成がどのように機能するかを実際に知りたい人は、Wiki ページhttp://diablo2.diablowiki.net/Item_Generation_Tutorialで非常に詳しく説明されています。

4

1 に答える 1

0

ファイルから読み出された各行を区別する際に問題に直面していると思います。ファイルを 1 行ずつ読み取るには、コードを次のように変更する必要があります。

InputStream fs = getResources().openRawResource(R.raw.treasureclass);
BufferedReader br = new BufferedReader(new InputStreamReader(fs));
String line = null;
while((line = br.readLine()) != null){
    Log.i("line", line);
    //split the content of 'line' and save them in your desired way
}
于 2013-08-15T23:13:25.570 に答える