2017-02-04 9 views
0

Я просто немного поиграл с java и попытался реализовать небольшую игру Dungeon.Кастинг класса для самодельного класса

Ma Текущая проблема заключается в том, что у меня есть класс «Monster» и класс «Trap». Кроме того, у меня есть класс «Encounter», в котором либо монстр, либо ловушка выбираются случайным образом и возвращаются для сравнения со статистикой героя.

У меня действительно нет идеи, как превратить этого монстра или ловушку в столкновение, поэтому я могу использовать его.

Это мой текущий метод для встречи:

public Encounter generate(){ 
    Encounter encounter = new encounter(); 
    Trap trap1 = new Trap(random, trap1); 
    Monster monster1 = new Monster(random, random); 

    if (random > 5){ 
    encounter = (Encounter) Monster; (?) //this is where I need help 
..... 

Ну, я надеюсь, что я объяснил проблему достаточно throughouly .. Заранее спасибо за помощь!

(я посмотрел в другом месте, но не нашел в slution, возможно, не выглядело достаточно трудно, хотя, или просто не известна keywoard, пожалуйста, простите, что)

+1

Я думаю, что я, возможно, не полностью понял концепцию литья ... – Fapprentice

+1

Читайте об интерфейсах – user2717954

+0

О, и случайный случайный случайный, я не хотел помещать незарегистрированный код там, хотел, чтобы fucus исключительно по моей проблеме – Fapprentice

ответ

1

Так у вас есть класс Encounter, который может быть либо ловушка или монстра, самое лучшее, что обе ловушки и монстры наследуют от встречи (или реализуют встречу с интерфейсом), поэтому у них есть несколько общих методов, тогда вы можете просто их отбросить, но вы не можете их бросить, если они не реализуют общие интерфейсы или совместно использовать общий суперкласс.

+0

Но я бы не смог написать код в интерфейсе, если бы я (или это просто в абстрактных классах?) – Fapprentice

+0

О, мне просто нужно сделать это по умолчанию, it: D thanks – Fapprentice

+0

Абстрактный класс похож на интерфейс с кодом yes. –