Initial
This commit is contained in:
21
src/external/Config.cpp
vendored
Normal file
21
src/external/Config.cpp
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
//
|
||||
// Created by stewki on 09/05/2026.
|
||||
//
|
||||
|
||||
#include "Config.h"
|
||||
|
||||
int Config::getSizeX() {
|
||||
return 20;
|
||||
}
|
||||
|
||||
int Config::getSizeY() {
|
||||
return 15;
|
||||
}
|
||||
|
||||
int Config::getSizeField() {
|
||||
return 50;
|
||||
}
|
||||
|
||||
double Config::getTurnTimeSeconds() {
|
||||
return 0.2;
|
||||
}
|
||||
18
src/external/Config.h
vendored
Normal file
18
src/external/Config.h
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// Created by stewki on 09/05/2026.
|
||||
//
|
||||
|
||||
#ifndef SNAKE_CONFIG_H
|
||||
#define SNAKE_CONFIG_H
|
||||
|
||||
|
||||
class Config {
|
||||
public:
|
||||
int getSizeX();
|
||||
int getSizeY();
|
||||
int getSizeField();
|
||||
double getTurnTimeSeconds();
|
||||
};
|
||||
|
||||
|
||||
#endif //SNAKE_CONFIG_H
|
||||
23
src/external/External.cpp
vendored
Normal file
23
src/external/External.cpp
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
//
|
||||
// Created by stewki on 09/05/2026.
|
||||
//
|
||||
|
||||
#include "External.h"
|
||||
|
||||
External::External() {
|
||||
m_config = new Config();
|
||||
m_time = new Time();
|
||||
}
|
||||
|
||||
External::~External() {
|
||||
delete m_config;
|
||||
delete m_time;
|
||||
}
|
||||
|
||||
Config * External::getConfig() const {
|
||||
return m_config;
|
||||
}
|
||||
|
||||
Time * External::getTime() const {
|
||||
return m_time;
|
||||
}
|
||||
24
src/external/External.h
vendored
Normal file
24
src/external/External.h
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// Created by stewki on 09/05/2026.
|
||||
//
|
||||
|
||||
#ifndef SNAKE_EXTERNAL_H
|
||||
#define SNAKE_EXTERNAL_H
|
||||
#include "Config.h"
|
||||
#include "Time.h"
|
||||
|
||||
class External {
|
||||
public:
|
||||
External();
|
||||
~External();
|
||||
|
||||
Config* getConfig() const;
|
||||
Time* getTime() const;
|
||||
|
||||
private:
|
||||
Config *m_config;
|
||||
Time *m_time;
|
||||
};
|
||||
|
||||
|
||||
#endif //SNAKE_EXTERNAL_H
|
||||
29
src/external/Time.cpp
vendored
Normal file
29
src/external/Time.cpp
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// Created by stewki on 09/05/2026.
|
||||
//
|
||||
|
||||
#include "Time.h"
|
||||
|
||||
#include <chrono>
|
||||
|
||||
Time::Time() {
|
||||
reset();
|
||||
}
|
||||
|
||||
void Time::reset() {
|
||||
m_previousCurrentTime = getCurrentTime();
|
||||
}
|
||||
|
||||
double Time::getDeltaTime() {
|
||||
timeAliased now = getCurrentTime();
|
||||
|
||||
auto secondsElapsed = now - m_previousCurrentTime;
|
||||
|
||||
m_previousCurrentTime = now;
|
||||
|
||||
return secondsElapsed.count() / 1000000000.0;
|
||||
}
|
||||
|
||||
timeAliased Time::getCurrentTime() {
|
||||
return std::chrono::system_clock::now();
|
||||
}
|
||||
29
src/external/Time.h
vendored
Normal file
29
src/external/Time.h
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// Created by stewki on 09/05/2026.
|
||||
//
|
||||
|
||||
#ifndef SNAKE_TIME_H
|
||||
#define SNAKE_TIME_H
|
||||
#include <chrono>
|
||||
|
||||
typedef std::chrono::time_point<std::chrono::system_clock> timeAliased;
|
||||
|
||||
class Time {
|
||||
|
||||
public:
|
||||
Time();
|
||||
|
||||
void reset();
|
||||
|
||||
double getDeltaTime();
|
||||
|
||||
private:
|
||||
static timeAliased getCurrentTime();
|
||||
|
||||
private:
|
||||
timeAliased m_previousCurrentTime;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif //SNAKE_TIME_H
|
||||
Reference in New Issue
Block a user