Infinite Retrieval
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Очень прошу помочь. Есть тут одна лаба, дополнительная, но сдать лучше побыстрее (спортивный интерес гонки с сокурсниками). Итак суть - написать пакман под винду используюя для рисования GDI. Всю логику перемещения врагов за пакманом, генерации рандомных карт и т.д. я напишу сам, а вот рисование в окне, перемещение векторных ихоброжений - для меня это тьма, нет времени. Помогите с GDI. Создать окно, нарисовать в нём фигурку, научиться её позиционировать. Вот, немного над логикой подумал, скоро реализую. Код: const int WORLD_SIZE = 50; enum _WORLD_MAP_ENUM { Wall, Pacman, Evil, Food, Space } map[WORLD_SIZE][WORLD_SIZE]; class MOVING_UNITS { protected: static enum _direction { Up, Right, Left, Down } dir; }; class WALL { //public: WALL(); //генерирую случайное расположение virtual void draw_wall() = 0; }; WALL::WALL() { int lenth; bool is_vertical; } class PACMAN : public MOVING_UNITS { protected: virtual bool move_pacman(_direction ) = 0; //public: PACMAN(); }; class EVIL : public MOVING_UNITS { protected: virtual bool move_evil(_direction ) = 0; virtual void intellect() = 0; //public: EVIL(); }; class FOOD { //public: FOOD(); }; FOOD::FOOD() { } class WORLD_MAP : public WALL, public PACMAN, public EVIL, public FOOD { bool move_pacman(_direction ); bool move_evil(_direction); void intellect(); public: WORLD_MAP(); //безконечный цикл }; bool WORLD_MAP::move_pacman(_direction dir_) { switch dir_ { case Up: break; case Down: break; case Left: break; case Right: break; } } bool WORLD_MAP::move_evil(_direction dir_) { switch dir_ { case Up: break; case Down: break; case Left: break; case Right: break; } } |
|