mirror of
https://github.com/QuasarApp/Snake.git
synced 2025-04-26 01:34:40 +00:00
48 lines
945 B
C++
48 lines
945 B
C++
#ifndef WORLD_H
|
|
#define WORLD_H
|
|
|
|
#define SPEEDWORLD 10
|
|
|
|
#include <QVector>
|
|
#include "itemworld.h"
|
|
#include "baseclass.h"
|
|
#include "snakeutils.h"
|
|
#include "snake.h"
|
|
|
|
class World : public BaseClass
|
|
{
|
|
private:
|
|
|
|
Snake snake;
|
|
QMultiMap<QString, ItemWorld*> items;
|
|
double currentLong = 0;
|
|
int endLong;
|
|
double spead = 0, d_spead = 0;
|
|
QString background;
|
|
qint64 time;
|
|
bool defiat = false;
|
|
WorldRules oldRules;
|
|
|
|
void clearItems();
|
|
|
|
void changeCountObjects(const QString &name, int count);
|
|
|
|
public:
|
|
World();
|
|
void clear();
|
|
QMap<int, GuiObject*> init(WorldRules rules);
|
|
~World() override;
|
|
void render() override;
|
|
void resetPosition();
|
|
bool move();
|
|
bool isEnd();
|
|
bool isDefiat() const;
|
|
WorldRules currentRules() const;
|
|
void reversClick();
|
|
double getCurrentLong() const;
|
|
QMultiMap<QString, ItemWorld *> getItems() const;
|
|
void unPause();
|
|
};
|
|
|
|
#endif // WORLD_H
|