Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- typedef struct Player {
- char* name;
- long id;
- struct Player* nextPlayer;
- };
- void Kill(Player* deadman)
- {
- free(deadman->name);
- free(deadman);
- }
- Player* createNewPlayer()
- {
- const int MAX_PLAYER_NAME_LENGTH = 80;
- Player* new_player = (Player*)malloc(sizeof(Player));
- new_player->nextPlayer = NULL;
- printf("name:\n");
- new_player->name = (char*)malloc(MAX_PLAYER_NAME_LENGTH + 1);
- scanf("%s", new_player->name);
- //gets_s(new_player->name, MAX_PLAYER_NAME_LENGTH);
- //fgets(new_player->name, MAX_PLAYER_NAME_LENGTH, stdin);
- //new_player->name[strlen(new_player->name) - 1] = '\0';
- printf("id:\n");
- scanf("%d", &new_player->id);
- return new_player;
- }
- void setNextPlayer(Player* head)
- {
- Player* list = head;
- Player* new_player = createNewPlayer();
- while (list->nextPlayer != NULL)
- list = list->nextPlayer;
- list->nextPlayer = new_player;
- return;
- }
- int check_add_player() {
- int should_add_player=1;
- printf("Add a person to the game? 1 for yes, 0 for no\n");
- scanf("%d", &should_add_player);
- return should_add_player;
- }
- Player* InitTheHungerGamePlayers()
- {
- Player* firstPlayer = NULL;
- Player* lastPlayer = NULL;
- while (check_add_player() == 1)
- {
- if (!firstPlayer)
- {
- firstPlayer = createNewPlayer();
- lastPlayer = firstPlayer;
- continue;
- }
- lastPlayer->nextPlayer = createNewPlayer();
- lastPlayer = lastPlayer->nextPlayer;
- }
- if (firstPlayer && lastPlayer)
- lastPlayer->nextPlayer = firstPlayer;
- return firstPlayer;
- }
- void LetTheGamesBegin(Player* first)
- {
- Player* temp;
- if (first == NULL)
- return;
- while (first->nextPlayer != first)
- {
- temp = first->nextPlayer;
- printf("%s kills %s\n", first->name, temp->name);
- first->nextPlayer = temp->nextPlayer;
- Kill(temp);
- first = first->nextPlayer;
- }
- printf("%s stayin alive!!", first->name);
- free(first);
- }
- int main()
- {
- Player* first = InitTheHungerGamePlayers();
- LetTheGamesBegin(first);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement