@@ -115,10 +115,8 @@ bool GameController::handleBoardEvent(ScreenCoordinate screenCoord) {
115115 }
116116 break ;
117117 case ROBBER:
118- std::cout << " ROBBER\n " ;
119- model.moveRobber (coord);
120- if (getState () == KNIGHT_DEVCARD)
121- popState ();
118+ // model.moveRobber(coord);
119+ popState ();
122120 break ;
123121 case BUILDROAD_DEVCARD:
124122 storeClick (coord);
@@ -132,13 +130,20 @@ bool GameController::handleBoardEvent(ScreenCoordinate screenCoord) {
132130 break ;
133131 case KNIGHT_DEVCARD:
134132 // model.getCurrentPlayer().playKnight(coord, opponent);
133+ popState ();
135134 break ;
136135 case YEAROFPLENTY_DEVCARD:
137- // @ TODO Need to select a resource
138- model.getCurrentPlayer ().playYearOfPlenty (0 );
136+ model.getCurrentPlayer ().playYearOfPlenty (model.getResourceTile (coord).getType ());
137+ popState ();
138+ break ;
139139 case MONOPOLY_DEVCARD:
140- // @TODO Need to select a resource
141- model.getCurrentPlayer ().playMonopoly (0 );
140+ model.getCurrentPlayer ().playYearOfPlenty (model.getResourceTile (coord).getType ());
141+ popState ();
142+ break ;
143+ case VICTORYPOINT_DEVCARD:
144+ model.getCurrentPlayer ().playVictoryCard ();
145+ popState ();
146+ break ;
142147 case BUILDSETTLEMENT:
143148 std::cout << " BUILDSETTLEMENT\n " ;
144149 model.PlaceSettlement (coord, *model.getPlayers ()[0 ]);
@@ -223,12 +228,18 @@ bool GameController::handleYearOfPlentyCardButtonEvent(ScreenCoordinate){
223228 return true ;
224229}
225230bool GameController::handleMonopolyCardButtonEvent (ScreenCoordinate){
226- std::cout <<" CONFIRMED!!!" ;
231+ if (getState () != BASESTATE){
232+ return true ;
233+ }
234+ pushState (MONOPOLY_DEVCARD);
227235 return true ;
228236}
229237
230238bool GameController::handleVictoryPointCardButtonEvent (ScreenCoordinate){
231- std::cout << " CANCELED!!!" ;
239+ if (getState () != BASESTATE){
240+ return true ;
241+ }
242+ pushState (VICTORYPOINT_DEVCARD);
232243 return true ;
233244}
234245
0 commit comments