From 0571b483f865f008e449888801de79ca99bc30b6 Mon Sep 17 00:00:00 2001 From: LerPetitCarcajou Date: Wed, 24 Jan 2024 19:00:06 -0500 Subject: [PATCH] Ajout de doc + destructeur GOLTEamH --- GPA675Lab1GOL/GOLTeamH.cpp | 1 + GPA675Lab1GOL/GOLTeamH.h | 46 ++++++++++++++++++++++++++++- GPA675Lab1GOL/GPA675Lab1GOL.vcxproj | 2 +- GPA675Lab1GOL/GridTeamH.cpp | 6 ++-- GPA675Lab1GOL/GridTeamH.h | 23 +++++++++++++++ 5 files changed, 74 insertions(+), 4 deletions(-) diff --git a/GPA675Lab1GOL/GOLTeamH.cpp b/GPA675Lab1GOL/GOLTeamH.cpp index 4ecde48..7f1b200 100644 --- a/GPA675Lab1GOL/GOLTeamH.cpp +++ b/GPA675Lab1GOL/GOLTeamH.cpp @@ -4,6 +4,7 @@ GOLTeamH::GOLTeamH() : mParsedRule{}, mColorEncoded{} { } + //! \brief Accesseurs retournant des informations générales sur la //! simulation en cours. //! diff --git a/GPA675Lab1GOL/GOLTeamH.h b/GPA675Lab1GOL/GOLTeamH.h index 23faa11..8634370 100644 --- a/GPA675Lab1GOL/GOLTeamH.h +++ b/GPA675Lab1GOL/GOLTeamH.h @@ -1,17 +1,59 @@ #pragma once +#ifndef GOLTEAMH_H +#define GOLTEAMH_H + #include #include #include #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 l’espace 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 l’espace 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; class GOLTeamH : public GOL { 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 const &) = delete; + GOLTeamH(GOLTeamH &&) = delete; + GOLTeamH& operator =(GOLTeamH const &) = delete; + GOLTeamH& operator =(GOLTeamH&&) = delete; + virtual ~GOLTeamH()=default; + // inline puisque trivial. size_t width() const override { return mData.width(); } size_t height() const override { return mData.height(); } @@ -63,4 +105,6 @@ private: // Fonctions utilisées à l'interne. std::optional convertCharToNumber(const char c); -}; \ No newline at end of file +}; + +#endif GOLTEAMH_H \ No newline at end of file diff --git a/GPA675Lab1GOL/GPA675Lab1GOL.vcxproj b/GPA675Lab1GOL/GPA675Lab1GOL.vcxproj index 6a3e938..22406ad 100644 --- a/GPA675Lab1GOL/GPA675Lab1GOL.vcxproj +++ b/GPA675Lab1GOL/GPA675Lab1GOL.vcxproj @@ -20,7 +20,7 @@ {37D03CB9-506A-4E0B-8BF7-4E23C5A259C5} QtVS_v304 10.0 - 10.0.22621.0 + 10.0 $(MSBuildProjectDirectory)\QtMsBuild diff --git a/GPA675Lab1GOL/GridTeamH.cpp b/GPA675Lab1GOL/GridTeamH.cpp index 9e637cf..ae52277 100644 --- a/GPA675Lab1GOL/GridTeamH.cpp +++ b/GPA675Lab1GOL/GridTeamH.cpp @@ -4,9 +4,11 @@ #include #include + + // Constructeur Grid par défaut 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) return; - mData[(row - 1) * mWidth + (column - 1)] = value; + mData[(static_cast(row) - 1) * mWidth + (static_cast(column) - 1)] = value; } void GridTeamH::setAliveCount(size_t aliveCount) diff --git a/GPA675Lab1GOL/GridTeamH.h b/GPA675Lab1GOL/GridTeamH.h index 7e83df0..7f3e91d 100644 --- a/GPA675Lab1GOL/GridTeamH.h +++ b/GPA675Lab1GOL/GridTeamH.h @@ -1,9 +1,30 @@ #pragma once +#ifndef GRIDTEAMH_H +#define GRIDTEAMH_H #include #include #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 l’espace 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 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 dealloc() const; }; + +#endif GRIDTEAMH_H \ No newline at end of file