2017-12-11 12 views
0

私は独占的な学校でプログラムを作っています。自分でできるすべてのプロパティをプロパティクラスのオブジェクトとして設定しています。ポジション値。プレーヤーのポジションが3の場合(私のコードではBaltic Aveです)、3のポジションを持つすべての所有可能なプロパティを検索してから、そのプレイヤーにプロパティの家賃を購入/支払させたいと考えています。これは可能ですか、私は別の角度から問題に行くべきですか?クラス内のオブジェクトを検索

public class property 
{ 
String owner; 
int position; 
int price; 
int rent; 

public property(int startPrice, int startPosition, int startRent) 
{ 
    price = startPrice; 
    position = startPosition; 
    owner = "none"; 
    rent = startRent; 
} 

public void setOwn(String newOwn) 
{ 
    owner = newOwn; 
} 
public void changePrice(int newprice) 
{ 
    price = newprice; 
} 
public void changeRent(int newRent) 
{ 
    rent = newRent; 
} 

public int getprice() 
{ 
    return price; 
} 
public int getpos() 
{ 
    return position; 
} 
public String getown() 
{ 
    return owner; 
} 
public int getrent() 
{ 
    return rent; 
} 
} 
+1

これは可能ですが、最も一般的には、 'property'のインスタンス(配列や' List'など)のゲーム全体のコンテナを経由します。 'property'クラス自体はそれを提供する必要はありません。そして、命名規則に従ってください。クラス名は大文字 - 「Property」で始まる必要があります。 –

答えて

0

開始するには、購入できるプロパティを追跡するためのデータ構造が必要です。順序は関係ありませんし、素早く要素を追加したり削除したりできるので、HashSetが最適です。購入できるプロパティが含まれるように設定します。 (あなたの財産のクラスに入れないでください)

private static Property getPropertyAtPos(Player player, HashSet buyableProperties)  { 
    for(Property p : buyableProperties) { 
     if(p.position == player.position) { 
      return p; 
     } 
    } 
    return null; 
} 

そのプレイヤーによって購入することができますプロパティを取得するには、このメソッドを呼び出します。そして、私はこの方法が作ると思います。お役に立てれば。

関連する問題