I
This commit is contained in:
2
Hw6/.idea/.gitignore
generated
vendored
Normal file
2
Hw6/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/workspace.xml
|
||||||
2
Hw6/.idea/Hw6.iml
generated
Normal file
2
Hw6/.idea/Hw6.iml
generated
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module classpath="CMake" type="CPP_MODULE" version="4" />
|
||||||
4
Hw6/.idea/misc.xml
generated
Normal file
4
Hw6/.idea/misc.xml
generated
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
|
||||||
|
</project>
|
||||||
8
Hw6/.idea/modules.xml
generated
Normal file
8
Hw6/.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/Hw6.iml" filepath="$PROJECT_DIR$/.idea/Hw6.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
6
Hw6/.idea/vcs.xml
generated
Normal file
6
Hw6/.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -1,4 +1,9 @@
|
|||||||
//
|
//
|
||||||
// Created by Brady Bodily on 11/5/19.
|
// Created by Brady Bodily on 11/5/19.
|
||||||
//
|
//
|
||||||
|
#include "LifeSimulator.hpp"
|
||||||
|
|
||||||
|
LifeSimulator::LifeSimulator(std::uint8_t sizeX, std::uint8_t sizeY) :
|
||||||
|
sizeX(sizeX), sizeY(sizeY) {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -5,4 +5,20 @@
|
|||||||
#ifndef CS3460_CPP_LIFESIMULATOR_HPP
|
#ifndef CS3460_CPP_LIFESIMULATOR_HPP
|
||||||
#define CS3460_CPP_LIFESIMULATOR_HPP
|
#define CS3460_CPP_LIFESIMULATOR_HPP
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
#include "Pattern.hpp"
|
||||||
|
|
||||||
|
class LifeSimulator
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
LifeSimulator(std::uint8_t sizeX, std::uint8_t sizeY);
|
||||||
|
|
||||||
|
void insertPattern(const Pattern& pattern, std::uint8_t startX, std::uint8_t startY);
|
||||||
|
void update();
|
||||||
|
|
||||||
|
std::uint8_t getSizeX() const;
|
||||||
|
std::uint8_t getSizeY() const;
|
||||||
|
bool getCell(std::uint8_t x, std::uint8_t y) const;
|
||||||
|
};
|
||||||
|
|
||||||
#endif //CS3460_CPP_LIFESIMULATOR_HPP
|
#endif //CS3460_CPP_LIFESIMULATOR_HPP
|
||||||
|
|||||||
@@ -5,4 +5,14 @@
|
|||||||
#ifndef CS3460_CPP_PATTERN_HPP
|
#ifndef CS3460_CPP_PATTERN_HPP
|
||||||
#define CS3460_CPP_PATTERN_HPP
|
#define CS3460_CPP_PATTERN_HPP
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
class Pattern
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual std::uint8_t getSizeX() const = 0;
|
||||||
|
virtual std::uint8_t getSizeY() const = 0;
|
||||||
|
virtual bool getCell(std::uint8_t x, std::uint8_t y) const = 0;
|
||||||
|
};
|
||||||
|
|
||||||
#endif //CS3460_CPP_PATTERN_HPP
|
#endif //CS3460_CPP_PATTERN_HPP
|
||||||
|
|||||||
@@ -3,3 +3,13 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#include "PatternGlider.hpp"
|
#include "PatternGlider.hpp"
|
||||||
|
|
||||||
|
PatternGlider::PatternGlider() : X(5), Y(5)
|
||||||
|
{
|
||||||
|
cells[3][1];
|
||||||
|
cells[3][2];
|
||||||
|
cells[3][3];
|
||||||
|
cells[2][3];
|
||||||
|
cells[1][2];
|
||||||
|
|
||||||
|
}
|
||||||
@@ -5,4 +5,28 @@
|
|||||||
#ifndef CS3460_CPP_PATTERNGLIDER_HPP
|
#ifndef CS3460_CPP_PATTERNGLIDER_HPP
|
||||||
#define CS3460_CPP_PATTERNGLIDER_HPP
|
#define CS3460_CPP_PATTERNGLIDER_HPP
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
#include "Pattern.hpp"
|
||||||
|
|
||||||
|
class PatternGlider : public Pattern
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
int X;
|
||||||
|
int Y;
|
||||||
|
std::array<std::array<bool, 5>, 5> cells;
|
||||||
|
public:
|
||||||
|
PatternGlider();
|
||||||
|
int getSizeX()
|
||||||
|
{
|
||||||
|
return X;
|
||||||
|
};
|
||||||
|
int getSizeY(){
|
||||||
|
return Y;
|
||||||
|
};
|
||||||
|
bool getCell(int x, int y){
|
||||||
|
return cells[x][y];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
#endif //CS3460_CPP_PATTERNGLIDER_HPP
|
#endif //CS3460_CPP_PATTERNGLIDER_HPP
|
||||||
|
|||||||
@@ -5,4 +5,12 @@
|
|||||||
#ifndef HW6_RENDER_HPP
|
#ifndef HW6_RENDER_HPP
|
||||||
#define HW6_RENDER_HPP
|
#define HW6_RENDER_HPP
|
||||||
|
|
||||||
|
#include "LifeSimulator.hpp"
|
||||||
|
|
||||||
|
class Renderer
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void render(const LifeSimulator& simulation) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
#endif //HW6_RENDER_HPP
|
#endif //HW6_RENDER_HPP
|
||||||
|
|||||||
@@ -2,3 +2,7 @@
|
|||||||
// Created by Brady Bodily on 11/5/19.
|
// Created by Brady Bodily on 11/5/19.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user