Ajout de doc + destructeur GOLTEamH

This commit is contained in:
LerPetitCarcajou 2024-01-24 19:00:06 -05:00
parent bc3c789214
commit 0571b483f8
5 changed files with 74 additions and 4 deletions

View File

@ -4,6 +4,7 @@ GOLTeamH::GOLTeamH()
: mParsedRule{}, mColorEncoded{} : mParsedRule{}, mColorEncoded{}
{ {
} }
//! \brief Accesseurs retournant des informations générales sur la //! \brief Accesseurs retournant des informations générales sur la
//! simulation en cours. //! simulation en cours.
//! //!

View File

@ -1,16 +1,58 @@
#pragma once #pragma once
#ifndef GOLTEAMH_H
#define GOLTEAMH_H
#include <string> #include <string>
#include <optional> #include <optional>
#include <GOL.h> #include <GOL.h>
#include "GridTeamH.h" #include "GridTeamH.h"
// Fichier : GridTeam.h
// GPA675 Laboratoire 1
// Création :
// - A. Einstein
// - 2024/01/17
// - - - - - - - - - - - - - - - - - - - - - - -
// Classe GOLTeamH
// - - - - - - - - - - - - - - - - - - - - - - -
// La classe point représente une grille dans lespace 2d des réels.
// La classe possède les attributs width et y.
// - ces accesseurs :
// - ces mutateurs :
// La classe point représente un point dans lespace 2d des réels.
// La classe possède les attributs x et y.
// - ces accesseurs :
// double x();
// double y();
// - ces mutateurs :
// void setX(double x);
// void setY(double y);
// void set(double x, double y);
constexpr unsigned char MAX_ALPHA = 255; constexpr unsigned char MAX_ALPHA = 255;
class GOLTeamH : public GOL class GOLTeamH : public GOL
{ {
public: public:
// - le constructeur par défaut : _class_()
// - le constructeur d'initialisation proposé : _class_(size_t width, size_t height, State defaultState = State::dead)
// - le destructeur : ~_class_()
GOLTeamH(); GOLTeamH();
GOLTeamH(GOLTeamH const &) = delete;
GOLTeamH(GOLTeamH &&) = delete;
GOLTeamH& operator =(GOLTeamH const &) = delete;
GOLTeamH& operator =(GOLTeamH&&) = delete;
virtual ~GOLTeamH()=default;
// inline puisque trivial. // inline puisque trivial.
size_t width() const override { return mData.width(); } size_t width() const override { return mData.width(); }
@ -64,3 +106,5 @@ private:
// Fonctions utilisées à l'interne. // Fonctions utilisées à l'interne.
std::optional<unsigned char> convertCharToNumber(const char c); std::optional<unsigned char> convertCharToNumber(const char c);
}; };
#endif GOLTEAMH_H

View File

@ -20,7 +20,7 @@
<ProjectGuid>{37D03CB9-506A-4E0B-8BF7-4E23C5A259C5}</ProjectGuid> <ProjectGuid>{37D03CB9-506A-4E0B-8BF7-4E23C5A259C5}</ProjectGuid>
<Keyword>QtVS_v304</Keyword> <Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.22621.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0</WindowsTargetPlatformVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild> <QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

View File

@ -4,9 +4,11 @@
#include <optional> #include <optional>
#include <utility> #include <utility>
// Constructeur Grid par défaut // Constructeur Grid par défaut
GridTeamH::GridTeamH() GridTeamH::GridTeamH()
: GridTeamH(100, 100, CellType::alive) : GridTeamH(100, 100, CellType::dead)
{ {
} }
@ -127,7 +129,7 @@ void GridTeamH::setAt(int column, int row, CellType value)
if (column > mWidth || row > mHeight) if (column > mWidth || row > mHeight)
return; return;
mData[(row - 1) * mWidth + (column - 1)] = value; mData[(static_cast<unsigned long long>(row) - 1) * mWidth + (static_cast<unsigned long long>(column) - 1)] = value;
} }
void GridTeamH::setAliveCount(size_t aliveCount) void GridTeamH::setAliveCount(size_t aliveCount)

View File

@ -1,9 +1,30 @@
#pragma once #pragma once
#ifndef GRIDTEAMH_H
#define GRIDTEAMH_H
#include <vector> #include <vector>
#include <random> #include <random>
#include "GOL.h" #include "GOL.h"
// Fichier : GridTeam.h
// GPA675 Laboratoire 1
// Création :
// - A. Einstein
// - 2024/01/17
// - - - - - - - - - - - - - - - - - - - - - - -
// Classe GridTeamH
// - - - - - - - - - - - - - - - - - - - - - - -
// La classe point représente une grille dans lespace 2d des réels.
// La classe possède les attributs width et y.
// - ces accesseurs :
//
// - ces mutateurs :
//
/* /*
Cette classe fonctionne en ayant deux std::vector qui contiennent les statuts Cette classe fonctionne en ayant deux std::vector qui contiennent les statuts
des cellules. Un vecteur intermédiaire est échangé avec .swap() avec le vecteur des cellules. Un vecteur intermédiaire est échangé avec .swap() avec le vecteur
@ -80,3 +101,5 @@ private:
void fillBorderManipulations(DataType ptr, CellType value) const; void fillBorderManipulations(DataType ptr, CellType value) const;
void dealloc() const; void dealloc() const;
}; };
#endif GRIDTEAMH_H