ФлеймФорумПрограммирование

Покажите свой базовый класс (2 стр)

Страницы: 1 2 3 410 Следующая »
#15
16:48, 16 авг 2011

nes
> что это?

амёба :)

#16
16:53, 16 авг 2011

теперь я уже амеба?

#17
17:14, 16 авг 2011

nes
> теперь я уже амеба?

амёба - один из базовых классов в биологии

#18
17:22, 16 авг 2011
public virtual class GameObject {
  Vecor2 pos;
  Point size;
  float angle;
  float speed;
  Animation[] anims;
  int currentAnim;
  List<Vector2> poly;
  enum CollsionType {POLY, CIRCLE};
  CollsionType collsionType = CollsionType.CIRCLE;
  Color drawColor;
  Timer timer; // lazy
  List<GameObject> children; // composite
  String tag;
  
  //callbacks
  public virtual void onDeath() = 0;
  public virtual void onCollision() = 0;
  public virtual bool isTrash() = 0;
  public virtual int getPoints() = 0;
  
  public void draw() {
    draw(anims[currentAnim], pos, angle, drawColor);
    
    for(GameObject go : children) {
      go.draw();
    }
  }
  
  public void update(float dt) {
    pos.x += Math.cos(angle) * speed * dt;
    pos.y += Math.sin(angle) * speed * dt;
    
    for(GameObject go : children) {
      go.update(dt);
    }

  }

...getters/setters/constructors...

}
#19
17:26, 16 авг 2011

http://msdn.microsoft.com/en-us/library/system.object.aspx

#20
17:26, 16 авг 2011

nes
> Если объект был удален а другой объект после смерти первого пытается к нему
> обратиться, как тут поможет сборщик мусора?
там невозможны такие ситуации

nes
> Стараюсь не злоупотреблять шаблонами
тогда С++ тебе точно не нужен

nes
> да и запись вида ITexture* texturePtr, как-то приятнее чем shared_ptr<Texture>
> texturePtr
эстеты курят яву
С++ для тех кто считает второй вариант симпатичнее

#21
17:35, 16 авг 2011

Pushkoff
> nes
> > да и запись вида ITexture* texturePtr, как-то приятнее чем
> > shared_ptr<Texture>
> > texturePtr
> эстеты курят яву
> С++ для тех кто считает второй вариант симпатичнее
или для тех, кто умеет правильно использовать typedef

#22
17:36, 16 авг 2011

Pushkoff
> С++ для тех кто считает второй вариант симпатичнее

это для мембера или результата функции ? :)

#23
17:38, 16 авг 2011

innuendo
> это для мембера или результата функции ? :)
есть разница?

nes
почему к стати
> ITexture
?

#24
17:41, 16 авг 2011

Pushkoff
> > это для мембера или результата функции ? :)
> есть разница?

лишние add\release при возврате

Pushkoff
> почему к стати
> > ITexture
> ?

какие ещё предложения ?

#25
17:42, 16 авг 2011

AvrDragon
у тебя в классе типичное нарушение SRP
класс кроме своих обширных обязанностей выполняет еще и менеджмент чилдов

#26
17:42, 16 авг 2011

innuendo
> лишние add\release при возврате
хорошее замечание, не подумал как-то сразу

#27
17:43, 16 авг 2011

innuendo
>амёба - один из базовых классов в биологии
На ряду с бутофорией туфелькой, что-то помню такое )

AvrDragon
Смахивает на God Object, хотя для 2д игры в принципе так даже проще.
Я планирую компонентную модель игрового объекта использовать, хочу первую игру сразу 3д делать с физикой, аи, скриптами, все как у больших дядек )

zlos
В шарпе Object является базовым классом абсолютно для всех классов.
У меня не все объекты будут наследоваться от IEntity, только те, которые теоретически могут шариться другими объектами, например разного рода ресурсы и игровые сущности.

Pushkoff
Скажем так я предпочитаю облегченную версию С++ в силу слабости своего ума, а жабой насколько я знаю нельзя создать полноценного приложения, хотя конечно могу и ошибаться.

#28
17:44, 16 авг 2011

Pushkoff
Это же классический компоновщик, как из книжки гаммы. А кто тогда должен обновлять детей, если не родитель?

#29
17:45, 16 авг 2011

innuendo
> какие ещё предложения ?
я так понимаю ITexture это интерфейс, который подразумевает кучу разновидностей текстур. нужно ли это7

Страницы: 1 2 3 410 Следующая »
ФлеймФорумПрограммирование

Тема в архиве.