ETrobocon2017 - 片山研究所モデルベース開発推進事業部
Node.cpp
[詳解]
1 
2 #include"Node.h"
3 
4 
5 //コンストラクタ
7 {
8  nodeNum = 0;
9  hasBlock = false;
10  positionX=0;
11  positionY=0;
12 
13 
14 
15 }
16 
17 //デストラクタ
19 
20 void Node::setNum(int num)
21 {
22  nodeNum = num;
23 }
24 
26 {
27  // ノードの色設定
28  if(nodeNum == 1 || nodeNum == 7 || nodeNum == 8 || nodeNum == 14)
29  {
30  color = BlockColor::Red;
31  }else if(nodeNum == 3 || nodeNum == 5 || nodeNum == 13 || nodeNum == 15)
32  {
33  color = BlockColor::Yellow;
34  }else if(nodeNum == 2 || nodeNum == 4 || nodeNum == 9 || nodeNum == 12)
35  {
36  color = BlockColor::Blue;
37  }else if(nodeNum == 6 || nodeNum == 10 || nodeNum == 11)
38  {
39  color = BlockColor::Green;
40  }else if(nodeNum == 0)
41  {
42  color = BlockColor::Black;
43  }
44 
45 }
46 //周囲のノードの設定
47 void Node::setNeighbor(Node** nodes)
48 {
49  for(int i=0; i<5; i++){
50  neighbor[i] = nodes[i];
51  }
52 
53  return;
54 }
55 
56 // 隣接ノード取得
58 {
59  return neighbor;
60 }
61 
62 // ノードの位置番号取得
64 {
65  return nodeNum;
66 }
67 
68 // ノードの色取得
70 {
71  return color;
72 }
73 
74 // ノードがブロックを持っているかの判定の変化
75 void Node::setHasBlock(bool exists)
76 {
77  hasBlock = exists;
78 }
79 
81 {
82  return hasBlock;
83 }
84 
85 void Node::setPosition(int x, int y)
86 {
87  positionX = x;
88  positionY = y;
89 }
90 
92 {
93  return positionX;
94 }
95 
97 {
98  return positionY;
99 }
100 
void setPosition(int x, int y)
Definition: Node.cpp:85
~Node()
Definition: Node.cpp:18
Definition: Node.h:9
int getPositionX()
Definition: Node.cpp:91
Node ** getNeighbor()
Definition: Node.cpp:57
void setHasBlock(bool exists)
Definition: Node.cpp:75
BlockColor
Definition: BlockColor.h:5
BlockColor getColor()
Definition: Node.cpp:69
bool getHasBlock()
Definition: Node.cpp:80
void setColor()
Definition: Node.cpp:25
int getPositionY()
Definition: Node.cpp:96
void setNum(int num)
Definition: Node.cpp:20
void setNeighbor(Node **nodes)
Definition: Node.cpp:47
int getNum()
Definition: Node.cpp:63
Node()
Definition: Node.cpp:6