1

私はJavaで簡単なRPGゲームエンジンを組み立てる過程にあります。この時点で、すべてのクラスが1つのディレクトリにある間は、すべてが正常に機能します。基本的に、私はファイルのヒープになってしまい、それらをパッケージ構造に編成したいと思っています。http://www.jarticles.com/package/package_eng.htmlの指示に従いましたが、魔法を起こさせることができないようです。投稿された2つのクラスは、ロットへの依存度が最も低く、これらを機能させることができれば、残りはドラマではないはずです。記録のために、私はLeeenuxでopenJDKを使用しています(UbuntuネットブックRemixのリミックス)

ファーストクラス

package adventure.engine;

import java.util.*;

public class Inventory
{
ArrayList itemList = new ArrayList();

public Inventory()
{

}

public void addItem()
{

}

public void removeItem()
{

}
}

そして2番目:

package adventure.engine;



import adventure.engine.*;



public class PlayerCharacter

{

private String name = "Player";

private String race;

private String plrClass;

private int level;

private int xp;

private int levelXp;

private Inventory inventory = new Inventory();



//---------

//Abilities

//---------



private static final String[] abilitiesList = {"Strength",

                    "Dexterity",

                    "Constitution",

                    "Intelligence",

                    "Wisdom",

                    "Charisma"};



private int[] abilitiesValues = new int[abilitiesList.length];



//------

//Skills

//------

private static final String[] skillsList    = {"Acrobatics"     , "Insight",

                    "Arcana"            , "Intimidate",

                    "Athletics"         , "Nature",

                    "Bluff"         , "Perception",

                    "Diplomacy"     , "Religion",

                    "Dungeoneering"     , "Stealth",

                    "Endurance"     , "Streetwise",

                    "Heal"          , "Thievery",

                    "History"};



private int[] skillsValues = new int[skillsList.length];



//***********

//Constructor

//***********

public PlayerCharacter()

{

    level = 1;

    xp = 0;

    levelXp = 1000;



    setAbility("Strength", 8);

    setAbility("Dexterity", 10);

    setAbility("Constitution", 10);

    setAbility("Intelligence", 10);

    setAbility("Wisdom", 10);

    setAbility("Charisma", 10);

}       //public PlayerSheet()





//*************

//Class Methods

//*************

public void addXp(int val)

{

    xp += val;



    if (xp >= levelXp)

    {

        level++;

        xp -= levelXp;

        //levelXp += ;

    }

}       //public void addXp(int val)





public void updateSkills()

{



}





//Mutators

public void setName(String n)

{

    name = n;

}





public void setLevel(int l)

{

    level = l;

}



public void setRace(String r)

{

    race = r;

}



public void setXP(int x)

{

    xp = x;

}





public void setClass(String c)

{

    plrClass = c;

}



//set ability value by name

public void setAbility(String a, int val)

{

    for(int i = 0; i < abilitiesList.length; i++)

    {

        if(abilitiesList[i].compareTo(a) == 0)

        {

            abilitiesValues[i] = val;

        }

    }

}



//set ability by index

public void setAbility(int index, int val)

{

    abilitiesValues[index] = val;

}



//set skill by name

public void setSkill(String name, int val)

{

    for(int i = 0; i < skillsList.length; i++)

    {

        if(skillsList[i].compareTo(name) == 0)

        {

            skillsValues[i] = val;

        }

    }

}



//set skill by index

public void setSkill(int index, int val)

{

    skillsValues[index] = val;

}



//Accessors

public static String[] getAbilityList()

{

    return abilitiesList;

}



public static String[] getSkillsList()

{

    return skillsList;

}



//retrieve an ability value by name

public int getAbility(String a)

{

    int val = 0;



    for(int i = 0; i < abilitiesList.length; i++)

    {

        if(abilitiesList[i].compareTo(a) == 0)

        {

            val = abilitiesValues[i];

            break;

        }

    }



    return val;

}



//retrieve an ability value by index number

public int getAbility(int i)

{

    return abilitiesValues[i];

}



public int getSkill(String s)

{

    int val = 0;



    for(int i = 0; i < skillsList.length; i++)

    {

        if(skillsList[i].compareTo(s) == 0)

        {

            val = skillsValues[i];

            break;

        }

    }



    return val;

}



public int getSkill(int i)

{

    return skillsValues[i];

}



public String getName()

{

    return name;

}



public String getRace()

{

    return race;

}



public String getPlrClass()

{

    return plrClass;

}



public int getLevel()

{

    return level;

}



public int getXP()

{

    return xp;

}



public int getLevelXP()

{

    return levelXp;

}



}       //public class PlayerCharacter

クラスは/home/ user / Java / adventure/engineにあります

echo$classpathからの出力は/home/ james / Java:/です。:

2番目のクラスをコンパイルしようとすると、次のエラーが発生します。

PlayerCharacter.java:18: cannot find symbol
symbol  : class Inventory
location: class adventure.engine.PlayerCharacter
    private Inventory inventory = new Inventory();
            ^
PlayerCharacter.java:18: cannot find symbol
symbol  : class Inventory
location: class adventure.engine.PlayerCharacter
private Inventory inventory = new Inventory();

これに関するフィードバックをいただければ幸いです。これを解決するにはどうすればよいですか。

4

1 に答える 1

3

2つのこと。

1)インベントリをコンパイルしていない可能性があります
2)PlayerCharacterとインベントリが同じパッケージに含まれています。したがって、インポートする必要はありません。

あなたはそれらを次のようにコンパイルする必要があります

javac adventure / engine / Inventory.java

javac adventure / engine / PlayerCharacter.java

于 2012-10-06T08:49:23.853 に答える