Commit a95aa518 authored by ewen.madec's avatar ewen.madec

fixes mouse hover nodes + edges color + choose nb of dice when attack

parent 48238969
...@@ -32,8 +32,8 @@ void Panel_initialize(Panel * self, NetWorld * world, const int screenWidth, con ...@@ -32,8 +32,8 @@ void Panel_initialize(Panel * self, NetWorld * world, const int screenWidth, con
self->world= world; self->world= world;
self->camera.x= 0.f; self->camera.x= 0.f;
self->camera.y= 0.f; self->camera.y= 0.f;
self->screenCenter.x= 400.f; self->screenCenter.x= screenWidth/2;
self->screenCenter.y= 300.f; self->screenCenter.y= screenHeight/2;
self->scale= 10.f; //pixel per meters self->scale= 10.f; //pixel per meters
self->screenWidth = screenWidth; self->screenWidth = screenWidth;
self->screenHeight = screenHeight; self->screenHeight = screenHeight;
...@@ -66,7 +66,7 @@ void Panel_drawMainMenu(Panel * self, Main_Menu * menu){ ...@@ -66,7 +66,7 @@ void Panel_drawMainMenu(Panel * self, Main_Menu * menu){
// Rendering // Rendering
void Panel_drawGame(Panel * self) void Panel_drawGame(Panel * self)
{ {
BeginDrawing(); //BeginDrawing();
ClearBackground(RAYWHITE); ClearBackground(RAYWHITE);
// Draw the edges for each nodes: // Draw the edges for each nodes:
...@@ -83,7 +83,7 @@ void Panel_drawGame(Panel * self) ...@@ -83,7 +83,7 @@ void Panel_drawGame(Panel * self)
Panel_drawNode( self, &(self->world->nodes[i]) ); Panel_drawNode( self, &(self->world->nodes[i]) );
} }
//Panel_drawBasis(self); //Panel_drawBasis(self);
EndDrawing(); //EndDrawing();
} }
void Panel_drawBasis(Panel * self) void Panel_drawBasis(Panel * self)
......
This diff is collapsed.
...@@ -17,7 +17,9 @@ Rectangle Graphic_ConfirmButton(Font font); ...@@ -17,7 +17,9 @@ Rectangle Graphic_ConfirmButton(Font font);
void Graphic_MouseHoverNodeRecrutement(Player * self, Vector2 mousePosition, Panel * panel); void Graphic_MouseHoverNodeRecrutement(Player * self, Vector2 mousePosition, Panel * panel);
void Graphic_MouseHoverNodeChooseAttacker(Player * player, Vector2 mousePosition, Panel * panel); void Graphic_MouseHoverNodeChooseAttacker(Player * player, Vector2 mousePosition, Panel * panel);
void Graphic_MouseHoverNodeChooseTarget(Node * originNode, Vector2 mousePosition, Panel * panel); void Graphic_MouseHoverNodeChooseTarget(Node * originNode, Vector2 mousePosition, Panel * panel);
void diceRolling(); void Graphic_RectuementBeginTurn(int screenWidth, int screenHeight, Font font);
int Graphic_ChooseNumberOfAttackers(Player * attacker, Player * defender, Node * originNode, Node * targetNode, Font font);
void diceRolling(Player * attacker, Player * defender, Node * originNode, Node * targetNode, int nbOfAttackers, Font font);
......
...@@ -50,6 +50,7 @@ int main(int nbArg, char ** arg) ...@@ -50,6 +50,7 @@ int main(int nbArg, char ** arg)
for(int index = 0; index < world->size; index++){ for(int index = 0; index < world->size; index++){
Player_add_Node(&(players[index % playerCount]), &(world->nodes[index])); Player_add_Node(&(players[index % playerCount]), &(world->nodes[index]));
} }
// Raylib Initialization // Raylib Initialization
//---------------------- //----------------------
InitWindow(screenWidth, screenHeight, "NetWorld basic viewer"); InitWindow(screenWidth, screenHeight, "NetWorld basic viewer");
...@@ -82,7 +83,9 @@ int main(int nbArg, char ** arg) ...@@ -82,7 +83,9 @@ int main(int nbArg, char ** arg)
} }
break; break;
case game_ui: case game_ui:
BeginDrawing();
game_update(world, players, font, panel); game_update(world, players, font, panel);
EndDrawing();
default: default:
break; break;
} }
...@@ -107,7 +110,7 @@ void game_update(NetWorld * world, Player * players, Font font, Panel * panel) ...@@ -107,7 +110,7 @@ void game_update(NetWorld * world, Player * players, Font font, Panel * panel)
Graphic_ShowPlayerInfo(currentPlayer, screenWidth, screenHeight, font); Graphic_ShowPlayerInfo(currentPlayer, screenWidth, screenHeight, font);
Graphic_WhoseTurnIsIt(currentPlayer, screenWidth, screenHeight, font); Graphic_WhoseTurnIsIt(currentPlayer, screenWidth, screenHeight, font);
int playerCount = world->playerCount; int playerCount = world->playerCount;
Player * newPlayers = malloc(sizeof(Player)); //Player * newPlayers = malloc(sizeof(Player));
switch(currentPlayer->turnPhase){ switch(currentPlayer->turnPhase){
case recruitment: case recruitment:
...@@ -155,8 +158,10 @@ void game_update(NetWorld * world, Player * players, Font font, Panel * panel) ...@@ -155,8 +158,10 @@ void game_update(NetWorld * world, Player * players, Font font, Panel * panel)
} }
else if(Node_are_connected(originNode, currentNode) && (originNode->soldiers > 1) && originNode->canAttack){ else if(Node_are_connected(originNode, currentNode) && (originNode->soldiers > 1) && originNode->canAttack){
printf("Engagine attack on target Node\n"); printf("Engagine attack on target Node\n");
Player_attack_Node(currentPlayer, &(players[nodePlayerID]), originNode, currentNode); int nbOfAttackers = Graphic_ChooseNumberOfAttackers(currentPlayer, &(players[nodePlayerID]), originNode, currentNode, font);
diceRolling(); Player_attack_Node(currentPlayer, &(players[nodePlayerID]), originNode, currentNode, nbOfAttackers);
//diceRolling(currentPlayer, &(players[nodePlayerID]), originNode, currentNode, nbOfAttackers ,font);
}else{ }else{
printf("Failed to attack target : Origin has already attacked, nodes aren't connected or origin node has too few soldiers\n"); printf("Failed to attack target : Origin has already attacked, nodes aren't connected or origin node has too few soldiers\n");
} }
......
...@@ -155,8 +155,8 @@ void Player_confirm_recrutement(Player * self){ ...@@ -155,8 +155,8 @@ void Player_confirm_recrutement(Player * self){
}; };
void Player_attack_Node(Player * self, Player * defender, Node * originNode, Node * targetNode){ void Player_attack_Node(Player * self, Player * defender, Node * originNode, Node * targetNode, int numberOfAttackers){
int attackersCount = fmin(3, (originNode->soldiers-1)); int attackersCount = numberOfAttackers;
int defendersCount = targetNode->soldiers >= 3? 2:1; int defendersCount = targetNode->soldiers >= 3? 2:1;
int attDiceRolls[attackersCount]; int attDiceRolls[attackersCount];
int defDiceRolls[defendersCount]; int defDiceRolls[defendersCount];
......
...@@ -87,7 +87,7 @@ void Player_select_Node(Player * self, Vector2 mousePos); ...@@ -87,7 +87,7 @@ void Player_select_Node(Player * self, Vector2 mousePos);
void Player_unselect_Node(Player * self, Vector2 mousePos); void Player_unselect_Node(Player * self, Vector2 mousePos);
void Player_attack_Node(Player * self, Player * defender, Node * originNode, Node * targetNode); void Player_attack_Node(Player * self, Player * defender, Node * originNode, Node * targetNode, int numberOfAttackers);
void Player_confirm_recrutement(Player * self); void Player_confirm_recrutement(Player * self);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment