Commit 5ffbb499 authored by Timothy LAIRD's avatar Timothy LAIRD

more fixes

parent d4d8145e
...@@ -94,7 +94,6 @@ void Panel_drawRules(Panel * self, Main_Menu * rules){ ...@@ -94,7 +94,6 @@ void Panel_drawRules(Panel * self, Main_Menu * rules){
UnloadFont(font); UnloadFont(font);
EndDrawing(); EndDrawing();
} }
void Panel_drawWin(Panel * self, Player * player, Mission * mission){ void Panel_drawWin(Panel * self, Player * player, Mission * mission){
BeginDrawing(); BeginDrawing();
Font font = GetFontDefault(); Font font = GetFontDefault();
...@@ -102,8 +101,7 @@ void Panel_drawWin(Panel * self, Player * player, Mission * mission){ ...@@ -102,8 +101,7 @@ void Panel_drawWin(Panel * self, Player * player, Mission * mission){
DrawText("VICTORY", (self->screenWidth*35)/100 , (self->screenHeight*15)/100 , (self->screenWidth*5)/100,BLACK); DrawText("VICTORY", (self->screenWidth*35)/100 , (self->screenHeight*15)/100 , (self->screenWidth*5)/100,BLACK);
char * victoryText = malloc(sizeof(char)*100); char * victoryText = malloc(sizeof(char)*100);
sprintf(victoryText, "Player %d has completed their mission and won the game\nTheir mission was : ", player->ID); sprintf(victoryText, "%s has completed their mission and won the game\nTheir mission was : %s", player->name, mission->displayText);
strcat(victoryText, mission->displayText);
DrawText(victoryText, (self->screenWidth*20)/100, (self->screenHeight*45)/100, (self->screenWidth*2)/100, BLACK); DrawText(victoryText, (self->screenWidth*20)/100, (self->screenHeight*45)/100, (self->screenWidth*2)/100, BLACK);
free(victoryText); free(victoryText);
...@@ -153,7 +151,7 @@ void Panel_drawNode(Panel * self, Node * n) ...@@ -153,7 +151,7 @@ void Panel_drawNode(Panel * self, Node * n)
DrawCircleV(screenPosition, 24, n->color); DrawCircleV(screenPosition, 24, n->color);
DrawCircleV(screenPosition, 20, RAYWHITE); DrawCircleV(screenPosition, 20, RAYWHITE);
char * soldierText = malloc(20*sizeof(char)); char * soldierText = malloc(20*sizeof(char));
sprintf(soldierText, "%d", n->soldiers + n->soldiersToAdd); sprintf(soldierText, "%d", n->soldiers);
DrawText(soldierText, (int)screenPosition.x - MeasureText(soldierText, 20)/2, (int)screenPosition.y, 20, n->color); DrawText(soldierText, (int)screenPosition.x - MeasureText(soldierText, 20)/2, (int)screenPosition.y, 20, n->color);
free(soldierText); free(soldierText);
} }
......
...@@ -17,7 +17,7 @@ void Graphic_ShowPlayerInfo(Player *player, int screenWidth, int screenHeight, F ...@@ -17,7 +17,7 @@ void Graphic_ShowPlayerInfo(Player *player, int screenWidth, int screenHeight, F
Rectangle rec = {0, screenHeight - 250, 250, 250}; //Draw current player number on the bottom left Rectangle rec = {0, screenHeight - 250, 250, 250}; //Draw current player number on the bottom left
DrawRectangleLinesEx(rec, 10, player->color); DrawRectangleLinesEx(rec, 10, player->color);
char *playerNumber = malloc(20 * sizeof(char)); char *playerNumber = malloc(20 * sizeof(char));
sprintf(playerNumber, "Player %d", player->ID); sprintf(playerNumber, "%s", player->name);
DrawTextEx(*font, playerNumber, (Vector2){35, screenHeight - 240}, 30.0, 3.0, player->color); DrawTextEx(*font, playerNumber, (Vector2){35, screenHeight - 240}, 30.0, 3.0, player->color);
char *soldierNumber = malloc(40 * sizeof(char)); //Draw current player number of soldiers char *soldierNumber = malloc(40 * sizeof(char)); //Draw current player number of soldiers
...@@ -65,7 +65,7 @@ void Graphic_AttackPhase(Player *player, int screenWidth, int screenHeight, Font ...@@ -65,7 +65,7 @@ void Graphic_AttackPhase(Player *player, int screenWidth, int screenHeight, Font
void Graphic_WhoseTurnIsIt(Player *player, int screenWidth, int screenHeight, Font *font) void Graphic_WhoseTurnIsIt(Player *player, int screenWidth, int screenHeight, Font *font)
{ {
char *whoseTurn = malloc(20 * sizeof(char)); //Display whose turn is it char *whoseTurn = malloc(20 * sizeof(char)); //Display whose turn is it
sprintf(whoseTurn, "Player %d Turn", player->ID); sprintf(whoseTurn, "%ss Turn", player->name);
DrawTextEx(*font, whoseTurn, (Vector2){screenWidth / 2 - (MeasureTextEx(*font, whoseTurn, 50.0, 3.0).x) / 2, 30}, 50.0, 3.0, player->color); DrawTextEx(*font, whoseTurn, (Vector2){screenWidth / 2 - (MeasureTextEx(*font, whoseTurn, 50.0, 3.0).x) / 2, 30}, 50.0, 3.0, player->color);
free(whoseTurn); free(whoseTurn);
} }
...@@ -143,14 +143,14 @@ int Graphic_ChooseNumberOfAttackers(Player *attacker, Player *defender, Node *or ...@@ -143,14 +143,14 @@ int Graphic_ChooseNumberOfAttackers(Player *attacker, Player *defender, Node *or
SetTargetFPS(60); SetTargetFPS(60);
//Display rectangles to choose how many soldiers/dices you want to engage in the fight //Display rectangles to choose how many soldiers/dices you want to engage in the fight
Rectangle nbAttackerRectangle[10]; Rectangle nbAttackerRectangle[10];
for (int i = 0; i < originNode->soldiersToAdd + originNode->soldiers; i++) for (int i = 0; i < originNode->soldiers; i++)
{ {
nbAttackerRectangle[i] = (Rectangle){200 + (i - 1) * 250, screenHeight - 500, 150, 70}; nbAttackerRectangle[i] = (Rectangle){200 + (i - 1) * 250, screenHeight - 500, 150, 70};
} }
char whoseTurnToAttack[20]; char whoseTurnToAttack[20];
sprintf(whoseTurnToAttack, "Player %d attacks ", attacker->ID); sprintf(whoseTurnToAttack, "%s attacks ", attacker->name);
char whoseTurnToDefend[20]; char whoseTurnToDefend[20];
sprintf(whoseTurnToDefend, "Player %d", defender->ID); sprintf(whoseTurnToDefend, "%s", defender->name);
while (!endAnimation) while (!endAnimation)
{ {
...@@ -162,7 +162,7 @@ int Graphic_ChooseNumberOfAttackers(Player *attacker, Player *defender, Node *or ...@@ -162,7 +162,7 @@ int Graphic_ChooseNumberOfAttackers(Player *attacker, Player *defender, Node *or
DrawTextEx(*font, whoseTurnToDefend, (Vector2){screenWidth / 2 + 100, 70}, 50.0, 3.0, defender->color); DrawTextEx(*font, whoseTurnToDefend, (Vector2){screenWidth / 2 + 100, 70}, 50.0, 3.0, defender->color);
DrawText("How many dices do you want to involve in the fight ?", screenWidth / 2 - (MeasureTextEx(*font, "How many dice do you want to involve in the fight ?", 30.0, 3.0).x) / 2 + 50, 150, 30, attacker->color); DrawText("How many dices do you want to involve in the fight ?", screenWidth / 2 - (MeasureTextEx(*font, "How many dice do you want to involve in the fight ?", 30.0, 3.0).x) / 2 + 50, 150, 30, attacker->color);
for (int i = 1; i < originNode->soldiersToAdd + originNode->soldiers; i++) for (int i = 1; i < originNode->soldiers; i++)
{ {
DrawRectangleRec(nbAttackerRectangle[i], BLACK); DrawRectangleRec(nbAttackerRectangle[i], BLACK);
char str_i[5]; char str_i[5];
...@@ -197,9 +197,9 @@ void Graphic_diceRolling(Player *attacker, Player *defender, Node *originNode, N ...@@ -197,9 +197,9 @@ void Graphic_diceRolling(Player *attacker, Player *defender, Node *originNode, N
int defendersCount = nbOfDefenders; int defendersCount = nbOfDefenders;
int attackersCount = nbOfAttackers; int attackersCount = nbOfAttackers;
char *whoseTurnToAttack = malloc(20 * sizeof(char)); char *whoseTurnToAttack = malloc(20 * sizeof(char));
sprintf(whoseTurnToAttack, "Player %d ", attacker->ID); sprintf(whoseTurnToAttack, "%s ", attacker->name);
char *whoseTurnToDefend = malloc(20 * sizeof(char)); char *whoseTurnToDefend = malloc(20 * sizeof(char));
sprintf(whoseTurnToDefend, "Player %d ", defender->ID); sprintf(whoseTurnToDefend, "%s ", defender->name);
Rectangle skipAnimation = {screenWidth / 2 - 125, 200, 190, 50}; Rectangle skipAnimation = {screenWidth / 2 - 125, 200, 190, 50};
Rectangle skipResult = {screenWidth / 2 - 105, 200, 150, 50}; Rectangle skipResult = {screenWidth / 2 - 105, 200, 150, 50};
......
...@@ -273,11 +273,9 @@ int game_update(NetWorld * world, Player * players, Mission * missions, Font* fo ...@@ -273,11 +273,9 @@ int game_update(NetWorld * world, Player * players, Mission * missions, Font* fo
break; break;
case init : case init :
//Check on missions //Check on missions
for(int i = 0; i < world->playerCount; i++){ if(Mission_check(&missions[currentPlayer->ID], world, players)){
if(Mission_check(&missions[i], world, players)){
world->hasWinner = true; world->hasWinner = true;
winner = i; winner = currentPlayer->ID;
}
} }
//Switch turns //Switch turns
Player_end_turn(currentPlayer); Player_end_turn(currentPlayer);
......
...@@ -30,8 +30,7 @@ void Mission_init(Mission * self, const int playerID, NetWorld * world, Player * ...@@ -30,8 +30,7 @@ void Mission_init(Mission * self, const int playerID, NetWorld * world, Player *
while(self->target == self->playerID){ while(self->target == self->playerID){
self->target = rand()%world->playerCount; self->target = rand()%world->playerCount;
} }
sprintf(displayText, "Eliminate Player "); sprintf(displayText, "Eliminate %s", players[self->target].name);
strcat(displayText, (players[self->target].name));
self->displayText = displayText; self->displayText = displayText;
break; break;
} }
......
...@@ -16,7 +16,6 @@ void Node_construct(Node * self) ...@@ -16,7 +16,6 @@ void Node_construct(Node * self)
self->card= 0; self->card= 0;
self->edges= Edge_newArray( 0 ); self->edges= Edge_newArray( 0 );
self->soldiers = 1; self->soldiers = 1;
self->soldiersToAdd = 0;
self->playerID = -1; self->playerID = -1;
Rectangle tmp = {0,0,48,48}; Rectangle tmp = {0,0,48,48};
self->collisionHitbox = tmp; self->collisionHitbox = tmp;
...@@ -115,11 +114,6 @@ int Node_biconnect( Node * node1, Node * node2 ) ...@@ -115,11 +114,6 @@ int Node_biconnect( Node * node1, Node * node2 )
return i1; return i1;
} }
void Node_confirm_placement(Node * self){
self->soldiers+= self->soldiersToAdd;
self->soldiersToAdd = 0;
}
bool Node_are_connected(Node * self, Node * target){ bool Node_are_connected(Node * self, Node * target){
for(int index = 0; index < self->card; index++){ for(int index = 0; index < self->card; index++){
Edge currentEdge = self->edges[index]; Edge currentEdge = self->edges[index];
......
...@@ -20,8 +20,6 @@ struct Str_Node { ...@@ -20,8 +20,6 @@ struct Str_Node {
// Content: // Content:
//! Number of soldiers at the node //! Number of soldiers at the node
int soldiers; int soldiers;
//! Buffer variable to stop players from removing soldiers from their nodes
int soldiersToAdd;
//! Player the node belongs to //! Player the node belongs to
int playerID; int playerID;
//! Click hitbox for the node //! Click hitbox for the node
...@@ -132,12 +130,6 @@ int Node_biconnect( ...@@ -132,12 +130,6 @@ int Node_biconnect(
Node * node2 Node * node2
); );
/**
* @brief Confirm the allocation of new soldiers
* @param self The node to confirm placement in
*/
void Node_confirm_placement(Node * self);
/** /**
* @brief Text if 2 nodes are connected * @brief Text if 2 nodes are connected
* @param self The origin node * @param self The origin node
......
...@@ -102,7 +102,7 @@ void Player_add_soldier(Player * self, Vector2 * mousePos){ ...@@ -102,7 +102,7 @@ void Player_add_soldier(Player * self, Vector2 * mousePos){
for(int nodeIndex = 0; nodeIndex < self->nodeCount; nodeIndex++){ for(int nodeIndex = 0; nodeIndex < self->nodeCount; nodeIndex++){
Node* currentNode = self->nodes[nodeIndex]; Node* currentNode = self->nodes[nodeIndex];
if(CheckCollisionPointRec(*mousePos, currentNode->collisionHitbox)){ if(CheckCollisionPointRec(*mousePos, currentNode->collisionHitbox)){
currentNode->soldiersToAdd++; currentNode->soldiers++;
self->soldiers--; self->soldiers--;
break; break;
} }
...@@ -113,8 +113,8 @@ void Player_remove_soldier(Player * self, Vector2 * mousePos){ ...@@ -113,8 +113,8 @@ void Player_remove_soldier(Player * self, Vector2 * mousePos){
for(int nodeIndex = 0; nodeIndex < self->nodeCount; nodeIndex++){ for(int nodeIndex = 0; nodeIndex < self->nodeCount; nodeIndex++){
Node* currentNode = self->nodes[nodeIndex]; Node* currentNode = self->nodes[nodeIndex];
if(CheckCollisionPointRec(*mousePos, currentNode->collisionHitbox) && currentNode->soldiers > 0){ if(CheckCollisionPointRec(*mousePos, currentNode->collisionHitbox) && currentNode->soldiers > 0){
if(currentNode->soldiersToAdd > 0){ if(currentNode->soldiers > 1){
currentNode->soldiersToAdd--; currentNode->soldiers--;
self->soldiers++; self->soldiers++;
} }
break; break;
...@@ -146,7 +146,6 @@ void Player_unselect_Node(Player * self, Vector2 * mousePos){ ...@@ -146,7 +146,6 @@ void Player_unselect_Node(Player * self, Vector2 * mousePos){
void Player_confirm_recrutement(Player * self){ void Player_confirm_recrutement(Player * self){
for(int nodeIndex = 0; nodeIndex < self->nodeCount; nodeIndex++){ for(int nodeIndex = 0; nodeIndex < self->nodeCount; nodeIndex++){
Node_confirm_placement(self->nodes[nodeIndex]);
self->nodes[nodeIndex]->canAttack = true; self->nodes[nodeIndex]->canAttack = true;
} }
}; };
......
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