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
self->world= world;
self->camera.x= 0.f;
self->camera.y= 0.f;
self->screenCenter.x= 400.f;
self->screenCenter.y= 300.f;
self->screenCenter.x= screenWidth/2;
self->screenCenter.y= screenHeight/2;
self->scale= 10.f; //pixel per meters
self->screenWidth = screenWidth;
self->screenHeight = screenHeight;
......@@ -66,7 +66,7 @@ void Panel_drawMainMenu(Panel * self, Main_Menu * menu){
// Rendering
void Panel_drawGame(Panel * self)
{
BeginDrawing();
//BeginDrawing();
ClearBackground(RAYWHITE);
// Draw the edges for each nodes:
......@@ -83,7 +83,7 @@ void Panel_drawGame(Panel * self)
Panel_drawNode( self, &(self->world->nodes[i]) );
}
//Panel_drawBasis(self);
EndDrawing();
//EndDrawing();
}
void Panel_drawBasis(Panel * self)
......
This diff is collapsed.
......@@ -17,7 +17,9 @@ Rectangle Graphic_ConfirmButton(Font font);
void Graphic_MouseHoverNodeRecrutement(Player * self, Vector2 mousePosition, Panel * panel);
void Graphic_MouseHoverNodeChooseAttacker(Player * player, 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)
for(int index = 0; index < world->size; index++){
Player_add_Node(&(players[index % playerCount]), &(world->nodes[index]));
}
// Raylib Initialization
//----------------------
InitWindow(screenWidth, screenHeight, "NetWorld basic viewer");
......@@ -82,7 +83,9 @@ int main(int nbArg, char ** arg)
}
break;
case game_ui:
BeginDrawing();
game_update(world, players, font, panel);
EndDrawing();
default:
break;
}
......@@ -107,7 +110,7 @@ void game_update(NetWorld * world, Player * players, Font font, Panel * panel)
Graphic_ShowPlayerInfo(currentPlayer, screenWidth, screenHeight, font);
Graphic_WhoseTurnIsIt(currentPlayer, screenWidth, screenHeight, font);
int playerCount = world->playerCount;
Player * newPlayers = malloc(sizeof(Player));
//Player * newPlayers = malloc(sizeof(Player));
switch(currentPlayer->turnPhase){
case recruitment:
......@@ -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){
printf("Engagine attack on target Node\n");
Player_attack_Node(currentPlayer, &(players[nodePlayerID]), originNode, currentNode);
diceRolling();
int nbOfAttackers = Graphic_ChooseNumberOfAttackers(currentPlayer, &(players[nodePlayerID]), originNode, currentNode, font);
Player_attack_Node(currentPlayer, &(players[nodePlayerID]), originNode, currentNode, nbOfAttackers);
//diceRolling(currentPlayer, &(players[nodePlayerID]), originNode, currentNode, nbOfAttackers ,font);
}else{
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){
};
void Player_attack_Node(Player * self, Player * defender, Node * originNode, Node * targetNode){
int attackersCount = fmin(3, (originNode->soldiers-1));
void Player_attack_Node(Player * self, Player * defender, Node * originNode, Node * targetNode, int numberOfAttackers){
int attackersCount = numberOfAttackers;
int defendersCount = targetNode->soldiers >= 3? 2:1;
int attDiceRolls[attackersCount];
int defDiceRolls[defendersCount];
......
......@@ -87,7 +87,7 @@ void Player_select_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);
......
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