#include "main.h" int addBullet(int x, int y, int dx, GameState *gameState, int player) { int found = -1; int shooting = 0; for(int i = 0; i < MAX_BULLETS; i++) { if(gameState->bala_1[i] == NULL) { if(player == 1 && gameState->player1.cargador > 0) { found = i; shooting = 1; gameState->player1.cargador -= 1; } else if(player == 2 && gameState->player2.cargador > 0) { found = i; shooting = 1; gameState->player2.cargador -= 1; } printf("%d/6 - %d/6\n",gameState->player1.cargador, gameState->player2.cargador); break; } } if(found >= 0) { int i = found; gameState->bala_1[i] = malloc(sizeof(Bala_player_1)); gameState->bala_1[i]->x = x; gameState->bala_1[i]->y = y; gameState->bala_1[i]->dx = dx; gameState->bala_1[i]->owner = player; } return shooting; } void removeBullet(int i, GameState *gameState) { if(gameState->bala_1[i]) { free(gameState->bala_1[i]); gameState->bala_1[i] = NULL; } } void processBullet(GameState *gameState) { for(int i = 0; i < MAX_BULLETS; i++) if(gameState->bala_1[i]) { gameState->bala_1[i]->x += gameState->bala_1[i]->dx; if(gameState->bala_1[i]->x < -1000 || gameState->bala_1[i]->x > 1000) removeBullet(i, gameState); } }