Advertisement
Guest User

fneaionfoiean

a guest
Nov 21st, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.21 KB | None | 0 0
  1. void Assassinate(Role *R)
  2. {
  3. Role *temp=NULL;
  4. temp=R;
  5. Role *tempA=NULL;
  6. R=R->next_role;
  7. Role *Assassinate=NULL;
  8. Assassinate=(Role*)malloc(sizeof(Role));
  9. tempA=Assassinate;
  10. printf("%s\n",R->name);
  11. printf("Lets start\n");
  12. if(Visible==NULL)
  13. printf("ok\n");
  14. while(R)
  15. {
  16.  
  17. switch(number_of_player)
  18. {
  19. case 4:
  20. if(Visible->role_nb!=R->role_nb && Visible->next_role->role_nb!=R->role_nb)
  21. {
  22. Assassinate->role_nb=R->role_nb;
  23. //Assassinate->picture=R->picture;
  24. printf("transfer done\n");
  25. if(R->next_role!=NULL)
  26. {
  27. Assassinate->next_role=(Role*)malloc(sizeof(Role));
  28. Assassinate=Assassinate->next_role;
  29. Assassinate->next_role=NULL;
  30. printf("Next case done\n");
  31. }
  32. else
  33. Assassinate->next_role=NULL;
  34. }
  35. break;
  36. case 5:
  37. if(Visible->role_nb!=R->role_nb)
  38. {
  39. Assassinate->role_nb=R->role_nb;
  40. //Assassinate->picture=R->picture;
  41. printf("transfer done\n");
  42. if(R->next_role!=NULL)
  43. {
  44. Assassinate->next_role=(Role*)malloc(sizeof(Role));
  45. Assassinate=Assassinate->next_role;
  46. Assassinate->next_role=NULL;
  47. printf("Next case done\n");
  48. }
  49. else
  50. Assassinate->next_role=NULL;
  51. }
  52. break;
  53. default:
  54. Assassinate->role_nb=R->role_nb;
  55. //Assassinate->picture=R->picture;
  56. printf("transfer done\n");
  57. if(R->next_role!=NULL)
  58. {
  59. Assassinate->next_role=(Role*)malloc(sizeof(Role));
  60. Assassinate=Assassinate->next_role;
  61. Assassinate->next_role=NULL;
  62. printf("Next case done\n");
  63. }
  64. else
  65. Assassinate->next_role=NULL;
  66. break;
  67. }
  68. R=R->next_role;
  69. printf("on next\n");
  70. }
  71. R=temp;
  72. Assassinate=tempA;
  73. player_killed=Select_Target(screen,Assassinate,NULL,0);
  74. }
  75. void Define_Pick_list(Player *players,Role *roles,const int number_of_player)
  76. {
  77. players=King_start(players);
  78. Role *temp=NULL;
  79. temp=roles;
  80. Role *tempvisi=NULL;
  81. int hide;
  82. int first=0,second=0;
  83. int nbr=0;
  84. switch(number_of_player)
  85. {
  86. case 4:
  87. nbr=5;
  88. hide=1+rand()%8;
  89. Hidden=malloc(sizeof(Role));
  90. while(roles->role_nb!=hide)
  91. roles=roles->next_role;
  92. Hidden->name=malloc(strlen(roles->name)*sizeof(char));
  93. strcpy(Hidden->name,roles->name);
  94. Hidden->role_nb=hide;
  95. Hidden->next_role=NULL;
  96. roles=temp;
  97. do
  98. {
  99. first=1+rand()%8;
  100. }
  101. while(first==hide && first==4);
  102. do
  103. {
  104. second=1+rand()%8;
  105. }
  106. while(second==hide && second==4 && second==first);
  107. Visible=(Role*)malloc(sizeof(Role));
  108. tempvisi=Visible;
  109. while(roles->role_nb!=first)
  110. roles=roles->next_role;
  111. Visible->name=(char*)malloc(strlen(roles->name)*sizeof(char));
  112. strcpy(Visible->name,roles->name);
  113. Visible->role_nb=first;
  114. Visible->next_role=NULL;
  115. roles=temp;
  116. Visible->next_role=(Role*)malloc(sizeof(Role));
  117. Visible=Visible->next_role;
  118. while(roles->role_nb!=second)
  119. roles=roles->next_role;
  120. Visible->name=(char*)malloc(strlen(roles->name)*sizeof(char));
  121. strcpy(Visible->name,roles->name);
  122. Visible->role_nb=second;
  123. Visible->next_role=NULL;
  124. Visible=tempvisi;
  125. roles=temp;
  126. break;
  127. case 5:
  128. nbr=6;
  129. hide=1+rand()%8;
  130. Hidden=(Role*)malloc(sizeof(Role));
  131. while(roles->role_nb!=hide)
  132. roles=roles->next_role;
  133. Hidden->name=(char*)malloc(strlen(roles->name)*sizeof(char));
  134. strcpy(Hidden->name,roles->name);
  135. Hidden->role_nb=hide;
  136. Hidden->next_role=NULL;
  137. roles=temp;
  138. do
  139. {
  140. first=1+rand()%8;
  141. }
  142. while(first==hide && first==4);
  143. Visible=(Role*)malloc(sizeof(Role));
  144. tempvisi=Visible;
  145. while(roles->role_nb!=first)
  146. roles=roles->next_role;
  147. Visible->name=(char*)malloc(strlen(roles->name)*sizeof(char));
  148. strcpy(Visible->name,roles->name);
  149. Visible->role_nb=first;
  150. Visible->next_role=NULL;
  151. roles=temp;
  152. break;
  153. case 6:
  154. nbr=7;
  155. hide=1+rand()%8;
  156. Hidden=(Role*)malloc(sizeof(Role));
  157. while(roles->role_nb!=hide)
  158. roles=roles->next_role;
  159. Hidden->name=(char*)malloc(strlen(roles->name)*sizeof(char));
  160. strcpy(Hidden->name,roles->name);
  161. Hidden->role_nb=hide;
  162. Hidden->next_role=NULL;
  163. roles=temp;
  164. break;
  165. case 7:
  166. nbr=7;
  167. hide=1+rand()%8;
  168. Hidden=(Role*)malloc(sizeof(Role));
  169. while(roles->role_nb!=hide)
  170. roles=roles->next_role;
  171. Hidden->name=(char*)malloc(strlen(roles->name)*sizeof(char));
  172. strcpy(Hidden->name,roles->name);
  173. Hidden->role_nb=hide;
  174. Hidden->next_role=NULL;
  175. roles=temp;
  176. break;
  177. }
  178. Pick=(Role*)malloc(sizeof(Role));
  179. Role *tempick=NULL;
  180. tempick=Pick;
  181. for(int i=1; i<=nbr; i++)
  182. {
  183. while(roles->role_nb==first || roles->role_nb==second || roles->role_nb==hide)
  184. roles=roles->next_role;
  185. Pick->name=(char*)malloc(strlen(roles->name)*sizeof(char));
  186. strcpy(Pick->name,roles->name);
  187. Pick->role_nb=roles->role_nb;
  188. if(i!=nbr)
  189. {
  190. Pick->next_role=(Role*)malloc(sizeof(Role));
  191. Pick=Pick->next_role;
  192. roles=roles->next_role;
  193. }
  194. else
  195. {
  196. Pick->next_role=NULL;
  197. Pick=tempick;
  198. roles=temp;
  199. }
  200. }
  201. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement