- Timestamp:
- Dec 5, 2018, 11:43:36 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/TixyTaxyTorxy_HS18/src/modules/TixyTaxyTorxy/TixyTaxyTorxy.cc
r12086 r12149 83 83 #include "core/CoreIncludes.h" 84 84 #include "Highscore.h" 85 #include <iostream> 86 #include "TixyTaxyTorxyField.h" 87 using namespace std; 85 88 86 89 namespace orxonox 87 90 { 91 88 92 RegisterUnloadableClass(TixyTaxyTorxy); 93 94 89 95 90 96 … … 103 109 this->waveSize_ = 0; 104 110 offset_ = Vector3(0,0,10); 111 105 112 } 106 113 107 114 TixyTaxyTorxy::~TixyTaxyTorxy() 108 115 { 116 117 109 118 if (this->isInitialized()) 110 119 { … … 186 195 void TixyTaxyTorxy::addTower(int x,int y) 187 196 { 197 int mini; 198 188 199 TixyTaxyTorxyCoordinate* coord = new TixyTaxyTorxyCoordinate(x,y); 189 200 x = coord->GetX(); 190 201 y = coord->GetY(); 191 202 mini = coord->Getmini(); 203 204 orxout() <<"addTower("<<x<<", "<<y<<") "<<mini<<"" <<endl; 192 205 int cost = center_->getTowerCost(1); 193 206 194 if (fields_[x][y]->isFree() == true && getCredit() >= cost)207 if (fields_[x][y]->isFree()) 195 208 { 196 209 payCredit(cost); 197 210 fields_[x][y]->createTower(1); 198 211 } 199 } 212 213 bool player1=player2=0; 214 int A1,B1,C1,D1,E1,F1,G1,H1,I1; 215 int A2,B2,C2,D2,E2,F2,G2,H2,I2; 216 A1=B1=C1=D1=E1=F1=G1=H1=I1=0; 217 A2=B2=C2=D2=E2=F2=G2=H2=I2=0; 218 219 220 221 if (checkMinigame(0,10) == 1) A1=1; 222 if (checkMinigame(4,10) == 1) B1=2; 223 if (checkMinigame(8,10) == 1) C1=4; 224 if (checkMinigame(0,6) == 1) D1=8; 225 if (checkMinigame(4,6) == 1) E1=16; 226 if (checkMinigame(8,6) == 1) F1=32; 227 if (checkMinigame(0,2) == 1) G1=64; 228 if (checkMinigame(4,2) == 1) H1=128; 229 if (checkMinigame(8,2) == 1) I1=256; 230 231 if (checkMinigame(0,10) == 2) A2=1; 232 if (checkMinigame(4,10) == 2) B2=2; 233 if (checkMinigame(8,10) == 2) C2=4; 234 if (checkMinigame(0,6) == 2) D2=8; 235 if (checkMinigame(4,6) == 2) E2=16; 236 if (checkMinigame(8,6) == 2) F2=32; 237 if (checkMinigame(0,2) == 2) G2=64; 238 if (checkMinigame(4,2) == 2) H2=128; 239 if (checkMinigame(8,2) == 2) I2=256; 240 241 orxout()<<"A1: "<<A1<<"B1: "<<B1<<endl; 242 243 if(A1+B1+C1 == 7 || D1+E1+F1 == 56 || G1+H1+I1 == 448 || A1+D1+G1 == 73 || B1+E1+H1 == 146 || C1+F1+I1 == 294 || A1+E1+I1 == 273 || C1+E1+G1 == 84){ 244 245 player1=1; 246 orxout()<<"player1 has won" << endl; 247 } 248 249 if(A2+B2+C2 == 7 || D2+E2+F2 == 56 || G2+H2+I2 == 448 || A2+D2+G2 == 73 || B2+E2+H2 == 146 || C2+F2+I2 == 294 || A2+E2+I2 == 273 || C2+E2+G2 == 84){ 250 251 player2=1; 252 orxout()<<"player1 has won" << endl; 253 } 254 } 255 256 int TixyTaxyTorxy::checkMinigame(int x, int y){ 257 if (checkRow(x,y)==1 || checkColumn(x,y)==1 || checkDiagLtR(x,y)==1 ||checkDiagRtL(x,y)==1) return 1; 258 else if (checkRow(x,y)==2 || checkColumn(x,y)==2 || checkDiagLtR(x,y)==2 || checkDiagRtL (x,y)==2) return 2; 259 return 0; 260 } 261 262 int TixyTaxyTorxy::checkRow(int x, int y){ 263 for(int i=0; i<2; i++){ 264 265 if(fields_[x+i][y]-> isTower1() && fields_[x+i][y-1]-> isTower1() && fields_[x+i][y-2]-> isTower1()){ 266 return 1; 267 268 }else if(fields_[x+i][y]-> isTower2() && fields_[x+i][y-1]-> isTower2() && fields_[x+i][y-2]-> isTower2()){ 269 return 2;} 270 } 271 return 0; 272 273 } 274 int TixyTaxyTorxy::checkColumn(int x, int y){ 275 for(int i=0; i<2; i++){ 276 277 if(fields_[x][y-i]-> isTower1() && fields_[x+1][y-i]-> isTower1() && fields_[x+2][y-i]-> isTower1()){ 278 return 1; 279 280 }else if (fields_[x][y-i]-> isTower2() && fields_[x+1][y-i]-> isTower2() && fields_[x+2][y-i]-> isTower2()){ 281 return 2; } 282 } 283 return 0; 284 285 286 } 287 //Cheeck the diagonal achsis from top left to bottom right 288 int TixyTaxyTorxy::checkDiagLtR(int x, int y){ 289 290 if (fields_[x][y]-> isTower1() && fields_[x+1][y-1]-> isTower1() && fields_[x+2][y-2]-> isTower1()){ 291 return 1; 292 } 293 else if (fields_[x][y]-> isTower2() && fields_[x+1][y-1]-> isTower2() && fields_[x+2][y-2]-> isTower2()){ 294 return 2; 295 } 296 return 0; 297 298 } 299 //Cheeck the diagonal achsis from top right to bottom left 300 int TixyTaxyTorxy::checkDiagRtL (int x, int y){ 301 302 if(fields_[x+2][y]-> isTower1() && fields_[x+1][y-1]-> isTower1() && fields_[x][y-2]-> isTower1()){ 303 return 1; 304 } 305 else if(fields_[x+2][y]-> isTower2() && fields_[x+1][y-1]-> isTower2() && fields_[x][y-2]-> isTower2()){ 306 return 2; 307 } 308 309 else return 0; 310 } 311 312 bool TixyTaxyTorxy::getPlayer1Value(){ 313 return player1; 314 } 315 bool TixyTaxyTorxy::getPlayer2Value(){ 316 return player2; 317 } 318 319 320 321 322 323 200 324 201 325 /*adds Tower at Position (x,y) and reduces credit and adds the point to the towermatrix. template ("towerturret") … … 253 377 std::string fields = center_->getFields(); 254 378 int pos = 0; 255 for (int j = 1 5; j >= 0; --j)256 { 257 for (int i = 0; i < 1 6; ++i)379 for (int j = 10; j >= 0; --j) 380 { 381 for (int i = 0; i < 11; ++i) 258 382 { 259 383 coord.Set(i,j);
Note: See TracChangeset
for help on using the changeset viewer.