Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.70 KB | None | 0 0
  1. #include <LiquidCrystal.h>
  2. LiquidCrystal lcd(8,9,4,5,6,7);
  3. void setup() {
  4. lcd.begin(16,2);
  5. pinMode(13,OUTPUT); //czerwona (gracz 1)
  6. pinMode(12,OUTPUT); //niebieska (gracz 2)
  7. }
  8.  
  9. bool tura, stop;
  10. int j, ana, wybor = 1, kostka, wynik_1, wynik_2, ilosc_tur = 3, diff_1, diff_2, cel;
  11.  
  12. //analog
  13. int v1 = 75, v2 = 200, v3 = 400 , v4 = 600, v5 = 800, d1 = 13, d2 = 12;
  14.  
  15. void loop() {
  16. //menu
  17. lcd.clear();
  18. ana = analogRead(A0);
  19. lcd.setCursor(0,0);
  20. lcd.print("Wybierz gre");
  21. lcd.setCursor(0,1);
  22. if (wybor == 1){
  23. lcd.print("Wyrzuc wiecej");
  24. }
  25. else if (wybor == 2) {
  26. lcd.print("Traf blizej");
  27. }
  28. else{
  29. lcd.print("Parzyste vs nie");
  30. }
  31. if (ana < v1) {
  32. //right
  33. //zmienia gre
  34. wybor++;
  35. if (wybor == 4){
  36. wybor = 1;
  37. }
  38. }
  39. else if (ana > v1 && ana < v2){
  40. //up
  41. //zmienia ilosc tur
  42. ilosc_tur++;
  43. if (ilosc_tur > 10){
  44. ilosc_tur = 10;
  45. }
  46. lcd.clear();
  47. lcd.setCursor(0,0);
  48. lcd.print("Tury");
  49. lcd.setCursor(0,1);
  50. lcd.print(ilosc_tur);
  51. delay(300);
  52. }
  53. else if (ana > v2 && ana < v3){
  54. //down
  55. //zmienia ilosc tur
  56. ilosc_tur--;
  57. if (ilosc_tur < 1){
  58. ilosc_tur = 1;
  59. }
  60. lcd.clear();
  61. lcd.setCursor(0,0);
  62. lcd.print("Tury");
  63. lcd.setCursor(0,1);
  64. lcd.print(ilosc_tur);
  65. delay(300);
  66. }
  67. else if (ana > v3 && ana < v4){
  68. //left
  69. //zmienia gre
  70. wybor--;
  71. if (wybor == 0){
  72. wybor = 3;
  73. }
  74. }
  75. else if (ana > v4 && ana < v5){
  76. //select
  77. //potwierdza wybor
  78. if (wybor == 1){
  79. delay(200);
  80. gra_1();
  81. }
  82. else if (wybor == 2) {
  83. delay(200);
  84. gra_2();
  85. }
  86. else{
  87. delay(200);
  88. gra_3();
  89. }
  90. }
  91. delay(200);
  92. }
  93.  
  94. //wyrzuc wiecej
  95. void gra_1(){
  96. wynik_1 = 0;
  97. wynik_2 = 0;
  98. tura = true;
  99. j = ilosc_tur * 2;
  100. for (int i = 0; i < j; i++){
  101. //gra
  102. lcd.setCursor(0,0);
  103. if (tura == true){
  104. //tura gracza 1
  105. digitalWrite(d2,LOW);
  106. digitalWrite(d1,HIGH);
  107. lcd.clear();
  108. lcd.print("Gracz 1");
  109. lcd.setCursor(12,0);
  110. lcd.print("P.");
  111. lcd.print(wynik_1);
  112. }
  113. else{
  114. //tura gracza 2
  115. digitalWrite(d1,LOW);
  116. digitalWrite(d2,HIGH);
  117. lcd.clear();
  118. lcd.print("Gracz 2");
  119. lcd.setCursor(12,0);
  120. lcd.print("P.");
  121. lcd.print(wynik_2);
  122. }
  123. stop = false;
  124. while (stop != true){
  125. //rzut kostka
  126. kostka = random (1,7);
  127. lcd.setCursor(2,1);
  128. lcd.print(kostka);
  129. ana = analogRead(A0);
  130. if (ana > v4 && ana < v5){
  131. //select
  132. stop = true;
  133. }
  134. delay(100);
  135. }
  136. if (tura == true){
  137. wynik_1 = wynik_1 + kostka;
  138. tura = false;
  139. }
  140. else{
  141. wynik_2 = wynik_2 + kostka;
  142. tura = true;
  143. }
  144. delay(2000);
  145. }
  146. //wyniki
  147. digitalWrite(d2,LOW);
  148. digitalWrite(d1,LOW);
  149. lcd.clear();
  150. lcd.setCursor(0,0);
  151. lcd.print("Gracz 1: ");
  152. lcd.print(wynik_1);
  153. lcd.setCursor(0,1);
  154. lcd.print("Gracz 2: ");
  155. lcd.print(wynik_2);
  156. delay(3000);
  157. lcd.clear();
  158. lcd.setCursor(0,0);
  159. if (wynik_1 == wynik_2){
  160. lcd.print("Remis");
  161. digitalWrite(d2,HIGH);
  162. digitalWrite(d1,HIGH);
  163. }
  164. else if(wynik_1 > wynik_2){
  165. lcd.print("Gracz 1 wygral");
  166. digitalWrite(d2,LOW);
  167. digitalWrite(d1,HIGH);
  168. }
  169. else{
  170. lcd.print("Gracz 2 wygral");
  171. digitalWrite(d1,LOW);
  172. digitalWrite(d2,HIGH);
  173. }
  174. delay(4000);
  175. digitalWrite(d2,LOW);
  176. digitalWrite(d1,LOW);
  177. }
  178.  
  179. //traf blizej
  180. void gra_2(){
  181. wynik_1 = 0;
  182. wynik_2 = 0;
  183. tura = true;
  184. cel = random(ilosc_tur, ilosc_tur*6);
  185. j = ilosc_tur * 2;
  186. for (int i = 0; i < j; i++){
  187. //gra
  188. lcd.setCursor(0,0);
  189. if (tura == true){
  190. //tura gracza 1
  191. digitalWrite(d2,LOW);
  192. digitalWrite(d1,HIGH);
  193. lcd.clear();
  194. lcd.print("Gracz 1");
  195. lcd.setCursor(12,0);
  196. lcd.print("P.");
  197. lcd.print(wynik_1);
  198. lcd.setCursor(9,1);
  199. lcd.print("Cel: ");
  200. lcd.print(cel);
  201. }
  202. else{
  203. //tura gracza 2
  204. digitalWrite(d1,LOW);
  205. digitalWrite(d2,HIGH);
  206. lcd.clear();
  207. lcd.print("Gracz 2");
  208. lcd.setCursor(12,0);
  209. lcd.print("P.");
  210. lcd.print(wynik_2);
  211. lcd.setCursor(9,1);
  212. lcd.print("Cel: ");
  213. lcd.print(cel);
  214. }
  215. stop = false;
  216. while (stop != true){
  217. //rzut kostka
  218. kostka = random (1,7);
  219. lcd.setCursor(2,1);
  220. lcd.print(kostka);
  221. ana = analogRead(A0);
  222. if (ana > v4 && ana < v5){
  223. //select
  224. stop = true;
  225. }
  226. delay(100);
  227. }
  228. if (tura == true){
  229. wynik_1 = wynik_1 + kostka;
  230. tura = false;
  231. }
  232. else{
  233. wynik_2 = wynik_2 + kostka;
  234. tura = true;
  235. }
  236. delay(2000);
  237. }
  238. //wyniki
  239. //gracz 1
  240. diff_1 = wynik_1 - cel;
  241. if (diff_1 < 0){
  242. diff_1 = -diff_1;
  243. }
  244. lcd.clear();
  245. lcd.setCursor(0,0);
  246. lcd.print("Gracz 1: ");
  247. lcd.print(wynik_1);
  248. lcd.setCursor(0,1);
  249. lcd.print("Roznica: ");
  250. lcd.print(diff_1);
  251. delay(3000);
  252. //gracz 2
  253. diff_2 = wynik_2 - cel;
  254. if (diff_2 < 0){
  255. diff_2 = -diff_2;
  256. }
  257. lcd.clear();
  258. lcd.setCursor(0,0);
  259. lcd.print("Gracz 2: ");
  260. lcd.print(wynik_2);
  261. lcd.setCursor(0,1);
  262. lcd.print("Roznica: ");
  263. lcd.print(diff_2);
  264. delay(3000);
  265. lcd.clear();
  266. lcd.setCursor(0,0);
  267. if (diff_1 == diff_2){
  268. lcd.print("Remis");
  269. digitalWrite(d2,HIGH);
  270. digitalWrite(d1,HIGH);
  271. }
  272. else if(diff_1 < diff_2){
  273. lcd.print("Gracz 1 wygral");
  274. digitalWrite(d2,LOW);
  275. digitalWrite(d1,HIGH);
  276. }
  277. else{
  278. lcd.print("Gracz 2 wygral");
  279. digitalWrite(d1,LOW);
  280. digitalWrite(d2,HIGH);
  281. }
  282. delay(4000);
  283. digitalWrite(d2,LOW);
  284. digitalWrite(d1,LOW);
  285. }
  286.  
  287. //parzyste vs nie
  288. void gra_3(){
  289. wynik_1 = 0;
  290. wynik_2 = 0;
  291. tura = true;
  292. j = ilosc_tur * 2;
  293. for (int i = 0; i < j; i++){
  294. //gra
  295. lcd.setCursor(0,0);
  296. if (tura == true){
  297. //tura gracza 1
  298. digitalWrite(d2,LOW);
  299. digitalWrite(d1,HIGH);
  300. lcd.clear();
  301. lcd.print("Gracz 1");
  302. lcd.setCursor(12,0);
  303. lcd.print("P.");
  304. lcd.print(wynik_1);
  305. lcd.setCursor(9,1);
  306. lcd.print("(1 3 5)");
  307. }
  308. else{
  309. //tura gracza 2
  310. digitalWrite(d1,LOW);
  311. digitalWrite(d2,HIGH);
  312. lcd.clear();
  313. lcd.print("Gracz 2");
  314. lcd.setCursor(12,0);
  315. lcd.print("P.");
  316. lcd.print(wynik_2);
  317. lcd.setCursor(9,1);
  318. lcd.print("(2 4 6)");
  319. }
  320. stop = false;
  321. while (stop != true){
  322. //rzut kostka
  323. kostka = random (1,7);
  324. lcd.setCursor(2,1);
  325. lcd.print(kostka);
  326. ana = analogRead(A0);
  327. if (ana > v4 && ana < v5){
  328. //select
  329. stop = true;
  330. }
  331. delay(100);
  332. }
  333. //gracz 1 musi trafiac nieparzyste
  334. if (tura == true){
  335. if (kostka % 2 == 1){
  336. wynik_1++;
  337. }
  338. tura = false;
  339. }
  340. //gracz 2 musi trafiac parzyste
  341. else{
  342. if (kostka % 2 == 0){
  343. wynik_2++;
  344. }
  345. tura = true;
  346. }
  347. delay(2000);
  348. }
  349. //wyniki
  350. digitalWrite(d2,LOW);
  351. digitalWrite(d1,LOW);
  352. lcd.clear();
  353. lcd.setCursor(0,0);
  354. lcd.print("Gracz 1: ");
  355. lcd.print(wynik_1);
  356. lcd.setCursor(0,1);
  357. lcd.print("Gracz 2: ");
  358. lcd.print(wynik_2);
  359. delay(3000);
  360. lcd.clear();
  361. lcd.setCursor(0,0);
  362. if (wynik_1 == wynik_2){
  363. lcd.print("Remis");
  364. digitalWrite(d2,HIGH);
  365. digitalWrite(d1,HIGH);
  366. }
  367. else if(wynik_1 > wynik_2){
  368. lcd.print("Gracz 1 wygral");
  369. digitalWrite(d2,LOW);
  370. digitalWrite(d1,HIGH);
  371. }
  372. else{
  373. lcd.print("Gracz 2 wygral");
  374. digitalWrite(d1,LOW);
  375. digitalWrite(d2,HIGH);
  376. }
  377. delay(4000);
  378. digitalWrite(d2,LOW);
  379. digitalWrite(d1,LOW);
  380. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement