-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcelda.h
116 lines (100 loc) · 2.3 KB
/
celda.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#ifndef CELDA_H_
#define CELDA_H_
#include "celula.h"
#include "lista.h"
// SOLO EN VISUAL
#include "celula.cpp"
enum Tipo
{
estandar, // no hace nada
contaminada,
envenenada,
procreadora,
portal,
radioactiva
};
class Celda
{
private:
unsigned int posicionX;
unsigned int posicionY;
unsigned int posicionZ;
Tipo tipo;
Celula *celula;
public:
// Constructores y destructor
/*
* pre: -
* pos: La celda queda habilitada para controlar el acceso de posicionX, posicionY, posicionZ y el Tipo.
*/
Celda(unsigned int posicionX, unsigned int posicionY, unsigned int posicionZ, Tipo tipo);
/**
* pre: la celula debe estar definida.
* pos: destruye la memoria reservada.
*/
~Celda();
// Getters
/**
* pre: -
* pos: devuelve el numero de la posicion de fila.
*/
unsigned int getPosicionX();
/**
* pre: -
* pos: devuelve el numero de la posicion de columna.
*/
unsigned int getPosicionY();
/**
* pre: -
* pos: devuelve el numero de la posicion de pagina.
*/
unsigned int getPosicionZ();
/**
* pre: -
* pos: Devuelve el tipo de la celda
*/
Tipo getTipo();
/**
* pre: -
* pos: Devuelve un puntero a celula.
*/
Celula *getCelula();
// Setters
/**
* pre: -
* pos: Actualiza el numero de la posicion de la Fila.
*/
void setPosicionX(unsigned int nuevaPosicionX);
/**
* pre: -
* pos: Actualiza el numero de la posicion de la Columna.
*/
void setPosicionY(unsigned int nuevaPosicionY);
/**
* pre: -
* pos: Actualiza el numero de la posicion de la Pagina.
*/
void setPosicionZ(unsigned int nuevaPosicionZ);
/**
* pre: -
* pos: Actualiza el tipo de celda.
*/
void setTipo(Tipo nuevoTipo);
/**
* pre: -
* pos: Actualiza el puntero Celula a una nueva celula.
*/
void setCelula(Celula nuevaCelula);
// Funciones
/**
* pre: -
* pos: -
*/
void actualizarEstadoCelula(unsigned int celulasVecinas, unsigned int x1, unsigned int x2, unsigned int x3, Lista<Celda *> *listaVecinasVivas);
/**
* pre: -
* pos: -
*/
void actualizaGenesCelula(Lista<Celda *> *listaVecinasVivas);
};
#endif