Commit c0d7fb75 authored by LAIRD Timothy's avatar LAIRD Timothy

Merge branch 'visual-clarity' into 'dev'

Visual clarity to dev

See merge request !8
parents 5f84162d d7858638
......@@ -128,7 +128,7 @@ void Panel_drawGame(Panel * self)
Panel_drawNode( self, &(self->world->nodes[i]) );
}
//Panel_drawBasis(self);
EndDrawing();
//EndDrawing();
}
void Panel_drawBasis(Panel * self)
......@@ -152,6 +152,7 @@ void Panel_drawNode(Panel * self, Node * n)
char * soldierText = malloc(20*sizeof(char));
sprintf(soldierText, "%d", n->soldiers + n->soldiersToAdd);
DrawText(soldierText, (int)screenPosition.x - MeasureText(soldierText, 20)/2, (int)screenPosition.y, 20, n->color);
free(soldierText);
}
void Panel_drawEdge(Panel * self, Edge * e)
......
This diff is collapsed.
......@@ -19,7 +19,7 @@ void Graphic_MouseHoverNodeChooseAttacker(Player * player, Vector2 mousePosition
void Graphic_MouseHoverNodeChooseTarget(Node * originNode, Vector2 mousePosition, Panel * panel);
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, int * listOfDices, Font font);
void diceRolling(Player * attacker, Player * defender, Node * originNode, Node * targetNode, int nbOfAttackers, int nbOfDefenders, int * listOfDices, Font font);
......
......@@ -17,6 +17,7 @@ Int_Input * Int_Input_init(char* name, int * targetInt, Rectangle inputBox){
}
void Int_Input_delete(Int_Input * self){
free(self->value);
free(self);
}
......
......@@ -80,6 +80,7 @@ void Main_Menu_delete(Main_Menu * self){
for(int index = 0; index < self->buttonCount; index++){
Menu_Button_delete(self->buttons[index]);
}
free(self->buttons);
free(self);
}
......@@ -37,13 +37,10 @@ int main(int nbArg, char ** arg)
{
int nodeCount = 10;
int playerCount = 3;
NetWorld * world = malloc(sizeof(NetWorld));
Player * players = malloc(sizeof(Player));
Mission * missions = malloc(sizeof(Mission));
// Game Initialization
//--------------------
Panel * panel= Panel_new();
Panel_initialize(panel, world, screenWidth, screenHeight);
// Raylib Initialization
//----------------------
......@@ -92,6 +89,7 @@ int main(int nbArg, char ** arg)
}
break;
case game_ui:
BeginDrawing();
Panel_control(panel);
mousePos = GetMousePosition();
Menu_Button_draw(gameReturn, &gameFont, screenWidth, screenHeight, RED, (screenHeight*4)/100, (screenWidth/400), true);
......@@ -104,6 +102,7 @@ int main(int nbArg, char ** arg)
world->nodes[index].collisionHitbox.x = screenPosition.x - 24;
world->nodes[index].collisionHitbox.y = screenPosition.y - 24;
}
world->winner = game_update(world, players, missions, gameFont, panel);
if(world->hasWinner){
manager->display = win;
......@@ -161,12 +160,13 @@ int main(int nbArg, char ** arg)
//---------------
NetWorld_delete(world);
Player_delete(players);
Players_delete(players, playerCount);
Mission_delete(missions);
Main_Menu_delete(menu);
Main_Menu_delete(rulesMenu);
Options_Menu_delete(optionsMenu);
Window_Manager_delete(manager);
Panel_delete(panel);
UnloadFont(gameFont);
CloseWindow(); // Close window and OpenGL context
......@@ -232,9 +232,15 @@ int game_update(NetWorld * world, Player * players, Mission * missions, Font fon
else if(Node_are_connected(originNode, currentNode) && (originNode->soldiers > 1) && originNode->canAttack){
printf("Engagine attack on target Node\n");
int nbOfAttackers = Graphic_ChooseNumberOfAttackers(currentPlayer, &(players[nodePlayerID]), originNode, currentNode, font);
int * listOfDices = Player_attack_Node(currentPlayer, &(players[nodePlayerID]), originNode, currentNode, nbOfAttackers);
int defendersCount = currentNode->soldiers >= 3? 2:1;
diceRolling(currentPlayer, &(players[nodePlayerID]), originNode, currentNode, nbOfAttackers , listOfDices ,font);
int nbOfDefenders = currentNode->soldiers;
printf("nbOfAtackers %d \n", nbOfAttackers);
printf("nbOfdefenders %d \n", nbOfDefenders);
int * listOfDices = Player_attack_Node(currentPlayer, &(players[nodePlayerID]), originNode, currentNode, nbOfAttackers);
for(int i = 0; i< nbOfDefenders+nbOfAttackers; i++){
printf("listOfdices3 [%d] : %d \n",i,listOfDices[i]);
}
diceRolling(currentPlayer, &(players[nodePlayerID]), originNode, currentNode, nbOfAttackers ,nbOfDefenders, listOfDices ,font);
currentPlayer->hasSelectedNode = false;
free(listOfDices);
}else{
}
......
......@@ -22,8 +22,8 @@ void Node_construct(Node * self)
self->playerID = -1;
Rectangle tmp = {0,0,48,48};
self->collisionHitbox = tmp;
strcpy(self->continent, "None");
strcpy( self->name, "Node" );
self->continent = "None";
self->name = "Node" ;
self->canAttack = true;
}
......@@ -47,6 +47,8 @@ Node * Node_newArray(int size)
void Node_delete( Node * node )
{
free(node->continent);
free(node->name);
Edge_deleteArray( node->card, node->edges );
free( node );
}
......@@ -57,7 +59,8 @@ void Node_delete( Node * node )
void Node_deleteArray( int n, Node * array )
{
for(int i= 0 ; i < n ; ++i )
Edge_deleteArray( array[i].card, array[i].edges );
Node_delete((array+i));
//Edge_deleteArray( array[i].card, array[i].edges );
free( array );
}
......
......@@ -41,5 +41,6 @@ void Options_Menu_delete(Options_Menu * self){
for(int index = 0; index < self->inputCount; index++){
Int_Input_delete(self->inputs[index]);
}
free(self->inputs);
free(self);
}
\ No newline at end of file
......@@ -33,9 +33,14 @@ Player * Player_newArray(int size, Color color[])
return p;
}
void Player_delete( Player * player )
{
free( player );
void Players_delete(Player * player, int size)
{
for(int i = 0 ; i < size ; i++){
free((player+i)->nodes);
free((player+i)->selectedNode);
free((player+i));
}
free(player);
}
void Player_add_Node( Player * self, Node * node )
......@@ -153,7 +158,7 @@ void Player_confirm_recrutement(Player * self){
int * Player_attack_Node(Player * self, Player * defender, Node * originNode, Node * targetNode, int numberOfAttackers){
int * listOfDices = malloc(20*sizeof(int));
int attackersCount = numberOfAttackers;
int defendersCount = targetNode->soldiers >= 3? 2:1;
int defendersCount = targetNode->soldiers;
int attDiceRolls[attackersCount];
int defDiceRolls[defendersCount];
......@@ -226,6 +231,9 @@ int * Player_attack_Node(Player * self, Player * defender, Node * originNode, No
}
originNode->canAttack = false;
for(int i = 0; i< defendersCount+attackersCount; i++){
printf("listOfdices2 [%d] : %d \n",i,listOfDices[i]);
}
return listOfDices;
}
......
......@@ -49,9 +49,11 @@ Player * Player_newArray(int size, Color colors[]);
/**
* @brief Destructor.
*/
void Player_delete(
//! the Player to delete
Player * self
void Players_delete(
//! the Player list to delete
Player * self,
//! the Player list size to delete
int size
);
/**
......
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