Init version
This commit is contained in:
49
DEC_GUI/Agressor/model.h
Normal file
49
DEC_GUI/Agressor/model.h
Normal file
@@ -0,0 +1,49 @@
|
||||
#ifndef MODEL_H
|
||||
#define MODEL_H
|
||||
|
||||
#include <QObject>
|
||||
#include "agent.h"
|
||||
|
||||
|
||||
class Model : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit Model(uint modelId, uint CM, uint CN, uint PM, uint PN, int radius, uint speed, bool period, uint distr,
|
||||
uint enmity, uint newEnmity, QObject *parent = 0);
|
||||
qreal mod(qreal a); // модуль числа
|
||||
QList <Agent *> DangerGamer(uint index, qreal x, qreal y, uint dist); // список игроков, с которыми возможно столкновение
|
||||
QList<QList<Agent *> > DangerGamer(QList<QList<Agent *> > danger, int index, qreal x, qreal y, uint dist);
|
||||
bool leaveWindowX(uint agentId, QLineF checked); // проверка на покидание окна по координате X
|
||||
bool leaveWindowY(uint agentId, QLineF checked); // проверка на покидание окна по координате Y
|
||||
QLineF periodicTransf(uint index, QLineF tend); // преобразование координат из-за перидочности сцены
|
||||
QLineF requiredVector(uint gamerId); // вычисление новых координат для игрока с номером gamerId
|
||||
void modelIteration();
|
||||
uint getId() {return id;}
|
||||
QList <Agent *> getAgentList() {return this->agentList;}
|
||||
void setEnmity(int enm) {this->enmity = enm;}
|
||||
void setAvContentment(qreal cont){this->avContentment = cont;}
|
||||
qreal getAvContentment(){return this->avContentment;}
|
||||
void clear();
|
||||
|
||||
private:
|
||||
uint id;
|
||||
QList <Agent *> agentList; // список указателей на игроков
|
||||
uint cowardMedian; // число игроков в режиме труса, движущихся по медиане
|
||||
uint cowardNormal; // число игроков в режиме труса, движущихся по нормали
|
||||
uint protectorMedian; // число игроков в режиме защитника, движущихся по медиане
|
||||
uint protectorNormal; // число игроков в режиме защитника, движущихся по нормали
|
||||
int agentRadius; // радиус шарика-агента (для передачи в конструктор)
|
||||
uint newEnmity; // параметр enmity, полученный из диалогового окна
|
||||
uint gamerSpeed; // скорость агентов
|
||||
bool period; // метка периодичности краёв сцены (true - сцена периодична)
|
||||
uint initDistr; // метка начального распределения игроков сцены (0 - случайное, 1 - на круге)
|
||||
uint enmity; // минимальное расстояние, на которое игроки могут приближаются друг к другу, enmity = 0 - возможно покоординатное совпадение игроков
|
||||
qreal avContentment;
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
|
||||
};
|
||||
|
||||
#endif // MODEL_H
|
||||
Reference in New Issue
Block a user