Components and supplies
Resistor 330 ohm
Rotary Encoder with Push-Button
Jumper wires (generic)
Multicolored LED
Blue LED
White LED
Piezo buzzer
LED (generic)
Arduino Mega 2560
Project description
Code
Code for TestYourReaction Game
c_cpp
1#include "pitches.h" 2 3const int rotary = 4; 4int bonus1 = 22; 5int w1 = 23; 6int w2 = 24; 7int r3 = 25; 8int w4 = 26; 9int w5 = 27; 10int w6 = 28; 11int y1 = 29; 12int blue = 30; 13int y2 = 31; 14int w7 = 32; 15int w8 = 33; 16int w9 = 34; 17int r10 = 35; 18int w11 = 36; 19int w12 = 37; 20int bonus2 = 38; 21 22int Ypos = 23; 23int level = 1; 24int free1 = 0; 25int speed1 = 50; 26int fy; 27 28void clear(){ 29 for(int i = 22; i < 39; i++){ 30 digitalWrite(i,LOW); 31 } 32} 33 34void on(){ 35 for(int i = 22; i < 39; i++){ 36 digitalWrite(i, HIGH); 37 } 38} 39 40void RtL(){ 41 for(int i = 39; i > 21; i--){ 42 digitalWrite(i, HIGH); 43 tone(8, i*100, 100); 44 delay(100); 45 } 46} 47 48void LtR(){ 49 for(int i = 22; i < 39; i++){ 50 digitalWrite(i, HIGH); 51 tone(8, i*100, 100); 52 delay(100); 53 } 54} 55 56void RtLc(){ 57 for(int i = 39; i > 21; i--){ 58 digitalWrite(i, LOW); 59 delay(100); 60 } 61} 62 63void LtRc(){ 64 for(int i = 22; i < 39; i++){ 65 digitalWrite(i, LOW); 66 delay(100); 67 } 68} 69 70int updown = 0; 71void directionChange(){ 72 if(Ypos == 23){ 73 updown=1; 74 }if(Ypos == 37){ 75 updown=0; 76 } 77} 78 79void inOut(){ 80 for(int i = 22; i < 30; i++){ 81 digitalWrite(i, HIGH); 82 tone(8, i*100, 100); 83 delay(40); 84 }for(int i = 39; i > 30; i--){ 85 digitalWrite(i, HIGH); 86 tone(8, i*100, 100); 87 delay(40); 88 } 89 90 delay(1000); 91 92 for(int i = 30; i > 21; i--){ 93 digitalWrite(i, LOW); 94 delay(40); 95 }for(int i = 30; i < 39; i++){ 96 digitalWrite(i, LOW); 97 delay(40); 98 } 99} 100 101void QuickBack(){ 102 for(int i = 0; i < 5; i++){ 103 for(int i = 22; i < 39; i++){ 104 digitalWrite(i, HIGH); 105 tone(8, i*100, 30); 106 delay(10); 107 clear(); 108 }for(int i = 39; i > 22; i--){ 109 digitalWrite(i, HIGH); 110 tone(8, i*100, 30); 111 delay(10); 112 clear(); 113 } 114 } 115} 116 117void March(){ 118 for(int i = 0; i < 10; i++){ 119 for(int i = 22; i < 39; i+=2){ 120 digitalWrite(i, HIGH); 121 tone(8, i*75, 70); 122 }delay(100); 123 clear(); 124 for(int i = 23; i < 39; i+=2){ 125 digitalWrite(i, HIGH); 126 tone(8, i*75, 70); 127 }delay(100); 128 clear(); 129 } 130} 131 132void setup(){ 133 fy = speed1; 134 for(int i = 22; i < 39; i ++){ 135 pinMode(i, OUTPUT); 136 } 137 pinMode(rotary, INPUT); 138 digitalWrite(rotary, HIGH); 139 Serial.begin(9600); 140 141 while(digitalRead(rotary)){ 142 for(int i = 22; i < 39; i+=2){ 143 digitalWrite(i, HIGH); 144 tone(8, NOTE_C5, 100); 145 }delay(100); 146 tone(8, NOTE_D5, 100); 147 delay(100); 148 clear(); 149 for(int i = 23; i < 39; i+=2){ 150 digitalWrite(i, HIGH); 151 tone(8, NOTE_G5, 100); 152 }delay(100); 153 tone(8, NOTE_E5, 100); 154 delay(100); 155 clear(); 156 } 157 clear(); 158 on(); 159 delay(3000); 160 clear(); 161 delay(1000); 162} 163 164 165void waiting(){ 166 tone(8, NOTE_C5, 500); 167 delay(500); 168 tone(8, NOTE_D5, 500); 169 delay(500); 170 tone(8, NOTE_F5, 500); 171 delay(500); 172} 173 174void level1(){ 175 speed1=50; 176 while(free1 == 0){ 177 directionChange(); 178 if(updown==0){ 179 Ypos--; 180 Serial.println("Y--"); 181 }if(updown==1){ 182 Ypos++; 183 Serial.println("Y++"); 184 }digitalWrite(Ypos, HIGH); 185 Serial.println(Ypos); 186 int y = speed1; 187 while(y!=0){ 188 if(!digitalRead(rotary)){ 189 free1=1; 190 }y--; 191 delay(10); 192 } 193 clear(); 194 } 195 digitalWrite(Ypos, HIGH); 196 waiting(); 197 Serial.println("Switch Pressed"); 198 free1=0; 199 clear(); 200 if(Ypos == 30){ 201 level++;Serial.println("Level Up"); 202 March(); 203 }else if(Ypos == 29 || Ypos == 31){ 204 inOut(); 205 206 Ypos=22; 207 level1(); 208 }else{ 209 QuickBack(); 210 level = 1; 211 Ypos=22;} 212} 213 214void level2(){ 215 Ypos=22; 216 updown=1; 217 speed1=40; 218 while(free1 == 0){ 219 directionChange(); 220 if(updown==0){ 221 Ypos--; 222 Serial.println("Y--"); 223 }if(updown==1){ 224 Ypos++; 225 Serial.println("Y++"); 226 }digitalWrite(Ypos, HIGH); 227 Serial.println(Ypos); 228 int y = speed1; 229 while(y!=0){ 230 if(!digitalRead(rotary)){ 231 free1=1; 232 }y--; 233 delay(10); 234 } 235 clear(); 236 } 237 digitalWrite(Ypos, HIGH); 238 waiting(); 239 Serial.println("Switch Pressed"); 240 free1=0; 241 clear(); 242 if(Ypos == 30){ 243 level++; 244 March(); 245 }else if(Ypos == 29 || Ypos == 31){ 246 Ypos=22; 247 inOut(); 248 level2(); 249 }else{ 250 QuickBack(); 251 level = 1;} 252} 253 254void level3(){ 255 Ypos=22; 256 updown=1; 257 speed1=30; 258 while(free1 == 0){ 259 directionChange(); 260 if(updown==0){ 261 Ypos--; 262 Serial.println("Y--"); 263 }if(updown==1){ 264 Ypos++; 265 Serial.println("Y++"); 266 }digitalWrite(Ypos, HIGH); 267 Serial.println(Ypos); 268 int y = speed1; 269 while(y!=0){ 270 if(!digitalRead(rotary)){ 271 free1=1; 272 }y--; 273 delay(10); 274 } 275 clear(); 276 } 277 digitalWrite(Ypos, HIGH); 278 waiting(); 279 Serial.println("Switch Pressed"); 280 free1=0; 281 clear(); 282 if(Ypos == 30){ 283 level++; 284 March(); 285 }else if(Ypos == 29 || Ypos == 31){ 286 Ypos=22; 287 inOut(); 288 level3(); 289 }else{ 290 QuickBack(); 291 292 293 level = 1;} 294} 295 296void level4(){ 297 Ypos=22; 298 updown=1; 299 speed1=20; 300 while(free1 == 0){ 301 directionChange(); 302 if(updown==0){ 303 Ypos--; 304 Serial.println("Y--"); 305 }if(updown==1){ 306 Ypos++; 307 Serial.println("Y++"); 308 }digitalWrite(Ypos, HIGH); 309 Serial.println(Ypos); 310 int y = speed1; 311 while(y!=0){ 312 if(!digitalRead(rotary)){ 313 free1=1; 314 }y--; 315 delay(10); 316 } 317 clear(); 318 } 319 digitalWrite(Ypos, HIGH); 320 waiting(); 321 Serial.println("Switch Pressed"); 322 free1=0; 323 clear(); 324 if(Ypos == 30){ 325 level++; 326 March(); 327 }else if(Ypos == 29 || Ypos == 31){ 328 Ypos=22; 329 inOut(); 330 level4(); 331 }else{ 332 QuickBack(); 333 334 335 level = 1;} 336} 337 338void level5(){ 339 Ypos=22; 340 updown=1; 341 speed1=10; 342 while(free1 == 0){ 343 directionChange(); 344 if(updown==0){ 345 Ypos--; 346 Serial.println("Y--"); 347 }if(updown==1){ 348 Ypos++; 349 Serial.println("Y++"); 350 }digitalWrite(Ypos, HIGH); 351 Serial.println(Ypos); 352 int y = speed1; 353 while(y!=0){ 354 if(!digitalRead(rotary)){ 355 free1=1; 356 }y--; 357 delay(10); 358 } 359 clear(); 360 } 361 digitalWrite(Ypos, HIGH); 362 waiting(); 363 Serial.println("Switch Pressed"); 364 free1=0; 365 clear(); 366 if(Ypos == 30){ 367 level++; 368 March(); 369 }else if(Ypos == 29 || Ypos == 31){ 370 Ypos=22; 371 inOut(); 372 level5(); 373 }else{ 374 QuickBack(); 375 376 377 level = 1;} 378} 379 380void level6(){ 381 Ypos=22; 382 updown=1; 383 speed1=5; 384 while(free1 == 0){ 385 directionChange(); 386 if(updown==0){ 387 Ypos--; 388 Serial.println("Y--"); 389 }if(updown==1){ 390 Ypos++; 391 Serial.println("Y++"); 392 }digitalWrite(Ypos, HIGH); 393 Serial.println(Ypos); 394 int y = speed1; 395 while(y!=0){ 396 if(!digitalRead(rotary)){ 397 free1=1; 398 }y--; 399 delay(10); 400 } 401 clear(); 402 } 403 digitalWrite(Ypos, HIGH); 404 waiting(); 405 Serial.println("Switch Pressed"); 406 free1=0; 407 clear(); 408 if(Ypos == 30){ 409 level++; 410 March(); 411 }else if(Ypos == 29 || Ypos == 31){ 412 Ypos=22; 413 inOut(); 414 level6(); 415 }else{ 416 QuickBack(); 417 418 419 level = 1;} 420} 421 422void level15(){ 423 Ypos=22; 424 updown=1; 425 speed1=40; 426 while(free1 == 0){ 427 Ypos=random(23,38); 428 digitalWrite(Ypos, HIGH); 429 Serial.println(Ypos); 430 int y = speed1; 431 while(y!=0){ 432 if(!digitalRead(rotary)){ 433 free1=1; 434 }y--; 435 delay(10); 436 } 437 clear(); 438 } 439 digitalWrite(Ypos, HIGH); 440 waiting(); 441 Serial.println("Switch Pressed"); 442 free1=0; 443 clear(); 444 if(Ypos == 30){ 445 level++; 446 March(); 447 }else if(Ypos == 29 || Ypos == 31){ 448 Ypos=22; 449 inOut(); 450 level15(); 451 }else{ 452 QuickBack(); 453 454 455 level = 1;} 456} 457 458void level7(){ 459 Ypos=22; 460 updown=1; 461 speed1=5; 462 while(free1 == 0){ 463 if(Ypos==37){ 464 Ypos=22; 465 }Ypos++; 466 digitalWrite(Ypos, HIGH); 467 Serial.println(Ypos); 468 int y = speed1; 469 while(y!=0){ 470 if(!digitalRead(rotary)){ 471 free1=1; 472 }y--; 473 delay(10); 474 } 475 clear(); 476 } 477 digitalWrite(Ypos, HIGH); 478 waiting(); 479 Serial.println("Switch Pressed"); 480 free1=0; 481 clear(); 482 if(Ypos == 30){ 483 level++; 484 March(); 485 }else if(Ypos == 29 || Ypos == 31){ 486 Ypos=22; 487 inOut(); 488 level7(); 489 }else{ 490 QuickBack(); 491 492 493 level = 1;} 494} 495 496void level8(){ 497 Ypos=22; 498 updown=1; 499 speed1=5; 500 while(free1 == 0){ 501 directionChange(); 502 503 if(updown==1){ 504 Ypos++; 505 }else if(updown==0){ 506 Ypos--; 507 } 508 509 digitalWrite(Ypos, HIGH); 510 Serial.println(Ypos); 511 int y = speed1; 512 while(y!=0){ 513 if(!digitalRead(rotary)){ 514 free1=1; 515 }y--; 516 delay(10); 517 } 518 if(Ypos==37 || Ypos==23){ 519 int y = speed1; 520 y=y*random(0,40); 521 while(y!=0){ 522 if(!digitalRead(rotary)){ 523 free1=1; 524 }y--; 525 delay(10); 526 } 527 } 528 clear(); 529 } 530 digitalWrite(Ypos, HIGH); 531 waiting(); 532 Serial.println("Switch Pressed"); 533 free1=0; 534 clear(); 535 if(Ypos == 30){ 536 level++; 537 March(); 538 }else if(Ypos == 29 || Ypos == 31){ 539 Ypos=22; 540 inOut(); 541 level8(); 542 }else{ 543 QuickBack(); 544 545 546 level = 1;} 547} 548 549void level9(){ 550 Ypos=22; 551 updown=1; 552 speed1=40; 553 while(free1 == 0){ 554 directionChange(); 555 556 if(updown==1){ 557 Ypos++; 558 }else if(updown==0){ 559 Ypos--; 560 } 561 562 for(int i = 22; i < 38; i++){ 563 if(i!=Ypos){ 564 digitalWrite(i, HIGH); 565 } 566 } 567 568 int y = speed1; 569 while(y!=0){ 570 if(!digitalRead(rotary)){ 571 free1=1; 572 }y--; 573 delay(10); 574 } 575 576 clear(); 577 } 578 digitalWrite(Ypos, HIGH); 579 waiting(); 580 Serial.println("Switch Pressed"); 581 free1=0; 582 clear(); 583 if(Ypos == 30){ 584 level++; 585 March(); 586 }else if(Ypos == 29 || Ypos == 31){ 587 Ypos=22; 588 inOut(); 589 level9(); 590 }else{ 591 QuickBack(); 592 593 594 level = 1;} 595} 596 597void level10(){ 598 Ypos=22; 599 updown=1; 600 speed1=20; 601 while(free1 == 0){ 602 directionChange(); 603 604 if(updown==1){ 605 Ypos++; 606 }else if(updown==0){ 607 Ypos--; 608 } 609 610 for(int i = 22; i < 38; i++){ 611 if(i!=Ypos){ 612 digitalWrite(i, HIGH); 613 } 614 } 615 616 int y = speed1; 617 while(y!=0){ 618 if(!digitalRead(rotary)){ 619 free1=1; 620 }y--; 621 delay(10); 622 } 623 624 clear(); 625 } 626 digitalWrite(Ypos, HIGH); 627 waiting(); 628 Serial.println("Switch Pressed"); 629 free1=0; 630 clear(); 631 if(Ypos == 30){ 632 level++; 633 March(); 634 }else if(Ypos == 29 || Ypos == 31){ 635 Ypos=22; 636 inOut(); 637 level10(); 638 }else{ 639 QuickBack(); 640 641 642 level = 1;} 643} 644 645void level11(){ 646 Ypos=22; 647 updown=1; 648 speed1=5; 649 while(free1 == 0){ 650 directionChange(); 651 652 if(updown==1){ 653 Ypos++; 654 }else if(updown==0){ 655 Ypos--; 656 } 657 658 for(int i = 22; i < 38; i++){ 659 if(i!=Ypos){ 660 digitalWrite(i, HIGH); 661 } 662 } 663 664 int y = speed1; 665 while(y!=0){ 666 if(!digitalRead(rotary)){ 667 free1=1; 668 }y--; 669 delay(10); 670 } 671 672 clear(); 673 } 674 digitalWrite(Ypos, HIGH); 675 waiting(); 676 Serial.println("Switch Pressed"); 677 free1=0; 678 clear(); 679 if(Ypos == 30){ 680 level++; 681 March(); 682 }else if(Ypos == 29 || Ypos == 31){ 683 Ypos=22; 684 inOut(); 685 level11(); 686 }else{ 687 QuickBack(); 688 689 690 level = 1;} 691} 692 693void level12(){ 694 Ypos=22; 695 updown=1; 696 speed1=20; 697 while(free1 == 0){ 698 directionChange(); 699 700 if(updown==1){ 701 Ypos++; 702 }else if(updown==0){ 703 Ypos--; 704 } 705 706 digitalWrite(Ypos, HIGH); 707 708 if(Ypos <= 25 || Ypos >= 35){ 709 speed1=20; 710 }else if(Ypos <= 27 || Ypos >= 33){ 711 speed1=10; 712 }else if(Ypos <= 31){ 713 speed1=5; 714 } 715 716 int y = speed1; 717 while(y!=0){ 718 if(!digitalRead(rotary)){ 719 free1=1; 720 }y--; 721 delay(10); 722 } 723 724 clear(); 725 } 726 digitalWrite(Ypos, HIGH); 727 waiting(); 728 Serial.println("Switch Pressed"); 729 free1=0; 730 clear(); 731 if(Ypos == 30){ 732 level++; 733 March(); 734 }else if(Ypos == 29 || Ypos == 31){ 735 Ypos=22; 736 inOut(); 737 level12(); 738 }else{ 739 QuickBack(); 740 741 742 level = 1;} 743} 744 745void level13(){ 746 Ypos=22; 747 updown=1; 748 speed1=5; 749 while(free1 == 0){ 750 directionChange(); 751 752 if(updown==1){ 753 Ypos++; 754 }else if(updown==0){ 755 Ypos--; 756 } 757 758 digitalWrite(Ypos, HIGH); 759 760 if(Ypos <= 26){ 761 speed1=20; 762 }else if(Ypos <= 28){ 763 speed1=15; 764 }else if(Ypos <= 31){ 765 speed1=10; 766 }else if(Ypos <= 34){ 767 speed1=7; 768 }else if(Ypos <= 37){ 769 speed1=5; 770 } 771 772 int y = speed1; 773 while(y!=0){ 774 if(!digitalRead(rotary)){ 775 free1=1; 776 }y--; 777 delay(10); 778 } 779 780 clear(); 781 } 782 digitalWrite(Ypos, HIGH); 783 waiting(); 784 Serial.println("Switch Pressed"); 785 free1=0; 786 clear(); 787 if(Ypos == 30){ 788 level++; 789 March(); 790 }else if(Ypos == 29 || Ypos == 31){ 791 Ypos=22; 792 inOut(); 793 level13(); 794 }else{ 795 QuickBack(); 796 797 798 level = 1;} 799} 800 801void level14(){ 802 Ypos=22; 803 updown=1; 804 speed1=10; 805 while(free1 == 0){ 806 directionChange(); 807 808 if(updown==1){ 809 Ypos++; 810 }else if(updown==0){ 811 Ypos--; 812 } 813 814 815 if(Ypos != 26 && Ypos != 27 && Ypos != 33 && Ypos != 34){ 816 digitalWrite(Ypos, HIGH); 817 } 818 819 820 int y = speed1; 821 while(y!=0){ 822 if(!digitalRead(rotary)){ 823 free1=1; 824 }y--; 825 delay(10); 826 } 827 828 clear(); 829 } 830 digitalWrite(Ypos, HIGH); 831 waiting(); 832 Serial.println("Switch Pressed"); 833 free1=0; 834 clear(); 835 if(Ypos == 30){ 836 level++; 837 March(); 838 }else if(Ypos == 29 || Ypos == 31){ 839 Ypos=22; 840 inOut(); 841 level14(); 842 }else{ 843 QuickBack(); 844 845 846 level = 1;} 847} 848 849void level16(){ 850 Ypos=22; 851 updown=1; 852 speed1=5; 853 while(free1 == 0){ 854 directionChange(); 855 856 if(updown==1){ 857 Ypos++; 858 }else if(updown==0){ 859 Ypos--; 860 } 861 862 for(int i = 22; i < 38; i++){ 863 if(i != Ypos){ 864 digitalWrite(i, HIGH); 865 } 866 } 867 868 if(Ypos <= 26){ 869 speed1=20; 870 }else if(Ypos <= 28){ 871 speed1=15; 872 }else if(Ypos <= 31){ 873 speed1=10; 874 }else if(Ypos <= 34){ 875 speed1=7; 876 }else if(Ypos <= 37){ 877 speed1=5; 878 } 879 880 int y = speed1; 881 while(y!=0){ 882 if(!digitalRead(rotary)){ 883 free1=1; 884 }y--; 885 delay(10); 886 } 887 888 clear(); 889 } 890 digitalWrite(Ypos, HIGH); 891 waiting(); 892 Serial.println("Switch Pressed"); 893 free1=0; 894 clear(); 895 if(Ypos == 30){ 896 level++; 897 March(); 898 }else if(Ypos == 29 || Ypos == 31){ 899 Ypos=22; 900 inOut(); 901 level16(); 902 }else{ 903 QuickBack(); 904 905 906 level = 1;} 907} 908 909void level17(){ 910 Ypos=22; 911 updown=1; 912 speed1=20; 913 while(free1 == 0){ 914 directionChange(); 915 916 if(updown==1){ 917 Ypos++; 918 }else if(updown==0){ 919 Ypos--; 920 } 921 922 for(int i = 22; i < 38; i++){ 923 if(i != Ypos){ 924 digitalWrite(i, HIGH); 925 } 926 } 927 928 if(Ypos <= 25 || Ypos >= 35){ 929 speed1=20; 930 }else if(Ypos <= 27 || Ypos >= 33){ 931 speed1=10; 932 }else if(Ypos <= 31){ 933 speed1=5; 934 } 935 936 int y = speed1; 937 while(y!=0){ 938 if(!digitalRead(rotary)){ 939 free1=1; 940 }y--; 941 delay(10); 942 } 943 944 clear(); 945 } 946 digitalWrite(Ypos, HIGH); 947 waiting(); 948 Serial.println("Switch Pressed"); 949 free1=0; 950 clear(); 951 if(Ypos == 30){ 952 level++; 953 March(); 954 }else if(Ypos == 29 || Ypos == 31){ 955 Ypos=22; 956 inOut(); 957 level17(); 958 }else{ 959 QuickBack(); 960 961 962 level = 1;} 963} 964 965int u = 0; 966void level20(){ 967 Ypos=22; 968 updown=1; 969 speed1=5; 970 int flip = 0; 971 while(free1 == 0){ 972 directionChange(); 973 if(updown==1){ 974 Ypos++; 975 }else if(updown==0){ 976 Ypos--; 977 } 978 979 digitalWrite(Ypos, HIGH); 980 if(flip==0){ 981 for(int i = 22; i < 38; i+=2){ 982 digitalWrite(i, LOW); 983 } 984 }else if(flip==1){ 985 for(int i = 23; i < 38; i+=2){ 986 digitalWrite(i, LOW); 987 } 988 } 989 990 int y = speed1; 991 while(y!=0){ 992 if(!digitalRead(rotary)){ 993 free1=1; 994 }y--; 995 delay(10); 996 } 997 u+=speed1; 998 if(u==10){ 999 u=0; 1000 if(flip==0){ 1001 flip=1; 1002 }else if(flip==1){ 1003 flip=0; 1004 } 1005 } 1006 clear(); 1007 } 1008 digitalWrite(Ypos, HIGH); 1009 waiting(); 1010 Serial.println("Switch Pressed"); 1011 free1=0; 1012 clear(); 1013 if(Ypos == 30){ 1014 level++; 1015 March(); 1016 }else if(Ypos == 29 || Ypos == 31){ 1017 Ypos=22; 1018 inOut(); 1019 level20(); 1020 }else{ 1021 QuickBack(); 1022 1023 1024 level = 1;} 1025} 1026 1027void level18(){ 1028 Ypos=22; 1029 updown=1; 1030 speed1=10; 1031 int flip = 0; 1032 while(free1 == 0){ 1033 directionChange(); 1034 if(updown==1){ 1035 Ypos++; 1036 }else if(updown==0){ 1037 Ypos--; 1038 } 1039 1040 if(Ypos != 24 && Ypos != 26 && Ypos != 28 && Ypos != 30 && Ypos != 32 && Ypos != 34 && Ypos != 36 && Ypos != 38){ 1041 digitalWrite(Ypos, HIGH); 1042 } 1043 1044 int y = speed1; 1045 while(y!=0){ 1046 if(!digitalRead(rotary)){ 1047 free1=1; 1048 }y--; 1049 delay(10); 1050 } 1051 1052 clear(); 1053 } 1054 digitalWrite(Ypos, HIGH); 1055 waiting(); 1056 Serial.println("Switch Pressed"); 1057 free1=0; 1058 clear(); 1059 if(Ypos == 30){ 1060 level++; 1061 March(); 1062 }else if(Ypos == 29 || Ypos == 31){ 1063 Ypos=22; 1064 inOut(); 1065 level18(); 1066 }else{ 1067 QuickBack(); 1068 1069 1070 level = 1;} 1071} 1072 1073void level19(){ 1074 Ypos=22; 1075 updown=1; 1076 speed1=10; 1077 int flip = 0; 1078 while(free1 == 0){ 1079 directionChange(); 1080 if(updown==1){ 1081 Ypos++; 1082 }else if(updown==0){ 1083 Ypos--; 1084 } 1085 1086 digitalWrite(Ypos, HIGH); 1087 1088 int y = speed1; 1089 while(y!=0){ 1090 if(!digitalRead(rotary)){ 1091 free1=1; 1092 }y--; 1093 delay(10); 1094 } 1095 1096 if(Ypos==30 || Ypos == 37 || Ypos == 23){ 1097 clear(); 1098 } 1099 } 1100 digitalWrite(Ypos, HIGH); 1101 waiting(); 1102 Serial.println("Switch Pressed"); 1103 free1=0; 1104 clear(); 1105 if(Ypos == 30){ 1106 level++; 1107 March(); 1108 }else if(Ypos == 29 || Ypos == 31){ 1109 Ypos=22; 1110 inOut(); 1111 level19(); 1112 }else{ 1113 QuickBack(); 1114 1115 1116 level = 1;} 1117} 1118 1119void loop2(){ 1120 LtR(); 1121 RtLc(); 1122 if(level == 1){ 1123 Ypos=22; 1124 updown=1; 1125 level1(); 1126 } 1127 if(level == 2){ 1128 level2();Serial.println("level2"); 1129 }if(level == 3){ 1130 level3(); 1131 }if(level == 4){ 1132 level4(); 1133 }if(level == 5){ 1134 level5(); 1135 }if(level == 6){ 1136 level6(); 1137 }if(level == 7){ 1138 level7(); 1139 }if(level == 8){ 1140 level8(); 1141 }if(level == 9){ 1142 level9(); 1143 }if(level == 10){ 1144 level10(); 1145 }if(level == 11){ 1146 level11(); 1147 }if(level == 12){ 1148 level12(); 1149 }if(level == 13){ 1150 level13(); 1151 }if(level == 14){ 1152 level14(); 1153 }if(level == 15){ 1154 level15(); 1155 }if(level == 16){ 1156 level16(); 1157 }if(level == 17){ 1158 level17(); 1159 }if(level == 18){ 1160 level18(); 1161 }if(level == 19){ 1162 level19(); 1163 }if(level == 20){ 1164 level20(); 1165 } 1166} 1167 1168void loop(){ 1169 LtR(); 1170 LtRc(); 1171 level1(); 1172 if(level==2){ 1173 while(true){ 1174 loop2(); 1175 } 1176 } 1177}
Comments
Only logged in users can leave comments
Bie
0 Followers
•0 Projects
Table of contents
Intro
0
0