Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Assassinate(Role *R)
- {
- Role *temp=NULL;
- temp=R;
- Role *tempA=NULL;
- R=R->next_role;
- Role *Assassinate=NULL;
- Assassinate=(Role*)malloc(sizeof(Role));
- tempA=Assassinate;
- printf("%s\n",R->name);
- printf("Lets start\n");
- if(Visible==NULL)
- printf("ok\n");
- while(R)
- {
- switch(number_of_player)
- {
- case 4:
- if(Visible->role_nb!=R->role_nb && Visible->next_role->role_nb!=R->role_nb)
- {
- Assassinate->role_nb=R->role_nb;
- //Assassinate->picture=R->picture;
- printf("transfer done\n");
- if(R->next_role!=NULL)
- {
- Assassinate->next_role=(Role*)malloc(sizeof(Role));
- Assassinate=Assassinate->next_role;
- Assassinate->next_role=NULL;
- printf("Next case done\n");
- }
- else
- Assassinate->next_role=NULL;
- }
- break;
- case 5:
- if(Visible->role_nb!=R->role_nb)
- {
- Assassinate->role_nb=R->role_nb;
- //Assassinate->picture=R->picture;
- printf("transfer done\n");
- if(R->next_role!=NULL)
- {
- Assassinate->next_role=(Role*)malloc(sizeof(Role));
- Assassinate=Assassinate->next_role;
- Assassinate->next_role=NULL;
- printf("Next case done\n");
- }
- else
- Assassinate->next_role=NULL;
- }
- break;
- default:
- Assassinate->role_nb=R->role_nb;
- //Assassinate->picture=R->picture;
- printf("transfer done\n");
- if(R->next_role!=NULL)
- {
- Assassinate->next_role=(Role*)malloc(sizeof(Role));
- Assassinate=Assassinate->next_role;
- Assassinate->next_role=NULL;
- printf("Next case done\n");
- }
- else
- Assassinate->next_role=NULL;
- break;
- }
- R=R->next_role;
- printf("on next\n");
- }
- R=temp;
- Assassinate=tempA;
- player_killed=Select_Target(screen,Assassinate,NULL,0);
- }
- void Define_Pick_list(Player *players,Role *roles,const int number_of_player)
- {
- players=King_start(players);
- Role *temp=NULL;
- temp=roles;
- Role *tempvisi=NULL;
- int hide;
- int first=0,second=0;
- int nbr=0;
- switch(number_of_player)
- {
- case 4:
- nbr=5;
- hide=1+rand()%8;
- Hidden=malloc(sizeof(Role));
- while(roles->role_nb!=hide)
- roles=roles->next_role;
- Hidden->name=malloc(strlen(roles->name)*sizeof(char));
- strcpy(Hidden->name,roles->name);
- Hidden->role_nb=hide;
- Hidden->next_role=NULL;
- roles=temp;
- do
- {
- first=1+rand()%8;
- }
- while(first==hide && first==4);
- do
- {
- second=1+rand()%8;
- }
- while(second==hide && second==4 && second==first);
- Visible=(Role*)malloc(sizeof(Role));
- tempvisi=Visible;
- while(roles->role_nb!=first)
- roles=roles->next_role;
- Visible->name=(char*)malloc(strlen(roles->name)*sizeof(char));
- strcpy(Visible->name,roles->name);
- Visible->role_nb=first;
- Visible->next_role=NULL;
- roles=temp;
- Visible->next_role=(Role*)malloc(sizeof(Role));
- Visible=Visible->next_role;
- while(roles->role_nb!=second)
- roles=roles->next_role;
- Visible->name=(char*)malloc(strlen(roles->name)*sizeof(char));
- strcpy(Visible->name,roles->name);
- Visible->role_nb=second;
- Visible->next_role=NULL;
- Visible=tempvisi;
- roles=temp;
- break;
- case 5:
- nbr=6;
- hide=1+rand()%8;
- Hidden=(Role*)malloc(sizeof(Role));
- while(roles->role_nb!=hide)
- roles=roles->next_role;
- Hidden->name=(char*)malloc(strlen(roles->name)*sizeof(char));
- strcpy(Hidden->name,roles->name);
- Hidden->role_nb=hide;
- Hidden->next_role=NULL;
- roles=temp;
- do
- {
- first=1+rand()%8;
- }
- while(first==hide && first==4);
- Visible=(Role*)malloc(sizeof(Role));
- tempvisi=Visible;
- while(roles->role_nb!=first)
- roles=roles->next_role;
- Visible->name=(char*)malloc(strlen(roles->name)*sizeof(char));
- strcpy(Visible->name,roles->name);
- Visible->role_nb=first;
- Visible->next_role=NULL;
- roles=temp;
- break;
- case 6:
- nbr=7;
- hide=1+rand()%8;
- Hidden=(Role*)malloc(sizeof(Role));
- while(roles->role_nb!=hide)
- roles=roles->next_role;
- Hidden->name=(char*)malloc(strlen(roles->name)*sizeof(char));
- strcpy(Hidden->name,roles->name);
- Hidden->role_nb=hide;
- Hidden->next_role=NULL;
- roles=temp;
- break;
- case 7:
- nbr=7;
- hide=1+rand()%8;
- Hidden=(Role*)malloc(sizeof(Role));
- while(roles->role_nb!=hide)
- roles=roles->next_role;
- Hidden->name=(char*)malloc(strlen(roles->name)*sizeof(char));
- strcpy(Hidden->name,roles->name);
- Hidden->role_nb=hide;
- Hidden->next_role=NULL;
- roles=temp;
- break;
- }
- Pick=(Role*)malloc(sizeof(Role));
- Role *tempick=NULL;
- tempick=Pick;
- for(int i=1; i<=nbr; i++)
- {
- while(roles->role_nb==first || roles->role_nb==second || roles->role_nb==hide)
- roles=roles->next_role;
- Pick->name=(char*)malloc(strlen(roles->name)*sizeof(char));
- strcpy(Pick->name,roles->name);
- Pick->role_nb=roles->role_nb;
- if(i!=nbr)
- {
- Pick->next_role=(Role*)malloc(sizeof(Role));
- Pick=Pick->next_role;
- roles=roles->next_role;
- }
- else
- {
- Pick->next_role=NULL;
- Pick=tempick;
- roles=temp;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement