-
Notifications
You must be signed in to change notification settings - Fork 0
/
Bloco.cpp
66 lines (52 loc) · 1.42 KB
/
Bloco.cpp
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
/*
* File: Bloco.cpp
* Author: Wagner, Bruno Villas Boas e Bernard
*
* Created on 4 de Outubro de 2009, 18:55
*/
#include "Bloco.h"
Bloco::Bloco() { //contrutor da classe bloco
//construir 1 objeto ponto dinamicamente
p = new Ponto;
}
void Bloco::atribuirPosicaoPonto(int x, int y, int z) {
//atribui a posicao do ponto
p->setPonto(x, y, z);
}
int Bloco::retornaPosicaoPontoX(){
//retorna a posicao X do bloco
return p->getX();
}
int Bloco::retornaPosicaoPontoY(){
////retorna a posicao Y do bloco
return p->getY();
}
int Bloco::retornaPosicaoPontoZ(){
//retorna a posicao Z do bloco
return p->getZ();
}
bool Bloco::blocoAbaixo(){
//verifica se se o bloco referido está no chão
return (p->getZ()==0);
}
void Bloco::movimentar(char sentido, int passos, int z){
//movimenta o bloco de acordo com o parametro passado.
switch (sentido){
//move o bloco para a direita
case 'D':
p->setPonto(p->getX() , p->getY()+ passos , z);
break;
//move o bloco para a esqueda
case 'E':
p->setPonto(p->getX() , p->getY()- passos , z);
break;
//move o bloco para cima
case 'C':
p->setPonto(p->getX()-passos , p->getY() , z);
break;
//move o bloco para baixo
case 'B':
p->setPonto(p->getX()+passos , p->getY() , z);
break;
}
}