Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.12 KB | None | 0 0
  1. #include "FastLED.h"
  2.  
  3. CRGB leds[144];
  4.  
  5. void setup() {
  6. FastLED.addLeds<WS2811, 5, GRB>(leds, 144);
  7. FastLED.setBrightness( 50 );
  8. randomSeed(analogRead(0));
  9. }
  10. int i = 0;
  11. int j = 0;
  12. int limiteJ1 = 14;
  13. int limiteJ2 = 129;
  14. int randNum = 0;
  15. int J1r = 0;
  16. int J1g = 0;
  17. int J1b = 0;
  18. int J2r = 0;
  19. int J2g = 0;
  20. int J2b = 0;
  21. int projectiles[100][2];
  22.  
  23. void loop() {
  24. limiteJ1 = 14;
  25. limiteJ2 = 129;
  26. for (i=0; i<100; i++){
  27. projectiles[i][0] = 0;
  28. projectiles[i][1] = 0;
  29. projectiles[i][2] = 0;
  30. }
  31. int joueur1 = 0;
  32. int joueur2 = 0;
  33. while(joueur1 == joueur2){
  34. joueur1 = random(3) + 1;
  35. joueur2 = random(3) + 1;
  36. }
  37.  
  38. if (joueur1 == 1){
  39. J1r = 255;
  40. J1g = 0;
  41. J1b = 0;
  42. }
  43. else if (joueur1 == 2){
  44. J1r = 0;
  45. J1g = 255;
  46. J1b = 0;
  47. }
  48. else if (joueur1 == 3){
  49. J1r = 0;
  50. J1g = 0;
  51. J1b = 255;
  52. }
  53. if (joueur2 == 1){
  54. J2r = 255;
  55. J2g = 0;
  56. J2b = 0;
  57. }
  58. else if (joueur2 == 2){
  59. J2r = 0;
  60. J2g = 255;
  61. J2b = 0;
  62. }
  63. else if (joueur2 == 3){
  64. J2r = 0;
  65. J2g = 0;
  66. J2b = 255;
  67. }
  68. while ((limiteJ1 >= 0) && (limiteJ2 <= 143)){ // Deplacement des projectiles
  69. for (i=0; i<100; i++){
  70. if(projectiles[i][0]!=0){
  71. if (projectiles[i][0]==1){ // Si le projectile viens du joueur 1
  72. if (projectiles[i][1] < limiteJ2 - 1){ // Si on deplace le projectile vers la droite
  73. projectiles[i][1] = projectiles[i][1] + 1;
  74. }
  75. else { // Si on touche l'adversaire
  76. limiteJ2++;
  77. projectiles[i][0]=0;
  78. projectiles[i][1]=0;
  79. }
  80. }
  81. else { // Si le projectile viens du joueur 2
  82. if (projectiles[i][1] > limiteJ1 + 1){ // Si on deplace le projectile vers la gauche
  83. projectiles[i][1] = projectiles[i][1] - 1;
  84. }
  85. else { // Si on touche l'adversaire
  86. limiteJ1--;
  87. projectiles[i][0]=0;
  88. projectiles[i][1]=0;
  89. }
  90. }
  91. }
  92. }
  93. randNum = random(50) + 1;
  94. i=0;
  95. if(randNum == 1){ // joueur 1 tire
  96. while(projectiles[i][0]!=0){
  97. i++;
  98. }
  99. projectiles[i][0] = 1;
  100. projectiles[i][1] = limiteJ1 + 1;
  101. }
  102. else if(randNum == 2){ // joueur 2 tire
  103. while(projectiles[i][0]!=0){
  104. i++;
  105. }
  106. projectiles[i][0] = 2;
  107. projectiles[i][1] = limiteJ2 - 1;
  108. }
  109. else if(randNum == 3){ // joueurs 1 et 2 tirent
  110. while(projectiles[i][0]!=0){
  111. i++;
  112. }
  113. projectiles[i][0] = 1;
  114. projectiles[i][1] = limiteJ1 + 1;
  115. while(projectiles[i][0]!=0){
  116. i++;
  117. }
  118. projectiles[i][0] = 2;
  119. projectiles[i][1] = limiteJ2 - 1;
  120. }
  121.  
  122.  
  123. for (i=0; i<144; i++){ // remise a zéro de la guirlande
  124. leds[i].r = 0;
  125. leds[i].g = 0;
  126. leds[i].b = 0;
  127. }
  128.  
  129. i=0;
  130. for (i=0; i<=limiteJ1; i++){ // affichage de la vie du joueur 1
  131. leds[i].r = J1r;
  132. leds[i].g = J1g;
  133. leds[i].b = J1b;
  134. }
  135. for (i=143; i>=limiteJ2; i--){ // affichage de la vie du joueur 2
  136. leds[i].r = J2r;
  137. leds[i].g = J2g;
  138. leds[i].b = J2b;
  139. }
  140. for (j=0; j<100; j++){ // affichage des projectiles
  141. if (projectiles[j][0]!=0){ // si le projectile existe
  142. if (projectiles[j][0]==1){ // pour joueur 1
  143. leds[projectiles[j][1]].r = J1r;
  144. leds[projectiles[j][1]].g = J1g;
  145. leds[projectiles[j][1]].b = J1b;
  146. }
  147. else if (projectiles[j][0]==2){ // pour joueur 2
  148. leds[projectiles[j][1]].r = J2r;
  149. leds[projectiles[j][1]].g = J2g;
  150. leds[projectiles[j][1]].b = J2b;
  151. }
  152. }
  153. }
  154.  
  155. FastLED.show();
  156. delay(10);
  157. }
  158. delay(1000);
  159. if (limiteJ2 > 143){ // Si joueur 1 gagne
  160. for (i=0; i<10; i++){
  161. leds[i].r = J1r;
  162. leds[i].g = J1g;
  163. leds[i].b = J1b;
  164. }
  165. }
  166. else if (limiteJ1 < 0){ // Si joueur 2 gagne
  167. for (i=133; i<143; i++){
  168. leds[i].r = J2r;
  169. leds[i].g = J2g;
  170. leds[i].b = J2b;
  171. }
  172. }
  173. FastLED.show();
  174. delay(200);
  175. for (i=0; i<144; i++){ // remise a zéro de la guirlande
  176. leds[i].r = 0;
  177. leds[i].g = 0;
  178. leds[i].b = 0;
  179. }
  180. FastLED.show();
  181. delay(200);
  182. if (limiteJ2 > 143){ // Si joueur 1 gagne
  183. for (i=0; i<10; i++){
  184. leds[i].r = J1r;
  185. leds[i].g = J1g;
  186. leds[i].b = J1b;
  187. }
  188. }
  189. else if (limiteJ1 < 0){ // Si joueur 2 gagne
  190. for (i=133; i<143; i++){
  191. leds[i].r = J2r;
  192. leds[i].g = J2g;
  193. leds[i].b = J2b;
  194. }
  195. }
  196. FastLED.show();
  197. delay(200);
  198. for (i=0; i<144; i++){ // remise a zéro de la guirlande
  199. leds[i].r = 0;
  200. leds[i].g = 0;
  201. leds[i].b = 0;
  202. }
  203. FastLED.show();
  204. delay(200);
  205. if (limiteJ2 > 143){ // Si joueur 1 gagne
  206. for (i=0; i<10; i++){
  207. leds[i].r = J1r;
  208. leds[i].g = J1g;
  209. leds[i].b = J1b;
  210. }
  211. }
  212. else if (limiteJ1 < 0){ // Si joueur 2 gagne
  213. for (i=133; i<143; i++){
  214. leds[i].r = J2r;
  215. leds[i].g = J2g;
  216. leds[i].b = J2b;
  217. }
  218. }
  219. FastLED.show();
  220. delay(200);
  221. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement