Помогите пожалуйста в чем проблема
- Войдите на сайт для отправки комментариев
Чт, 14/11/2013 - 18:41
вот код... в нем что-то не так должны появляться нолики и что то вроде игры на тетрисе там где надо уворачиваться машиной от ноликов но нолики почему то даже не появляются... может проблема в самом адруино... если можете пожалуйста проверьте код...
#include <LiquidCrystal.h> LiquidCrystal lcd (8,9,10,11,12,13) ; int score=0; int game_over=0; int bat_restart; int bat_left; int bat_right; int bat_up; int bat_down; int snake_x=0; int snake_y=0; int cars[]={0, 0, 0, 0, 0}; //массив от 0 до 4 состоит из "0" int position_x=19;// позиция другой машинки №1 int position_x2=19;// позиция другой машинки №2 int position_x3=19; int position_x4=19; int position_x5=19; int random_y=random(0,3); //в переменную записать случайное значение по оси y int random_y2=random(0,3);//в переменную записать случайное значение по оси y car#2 int random_y3=random(0,3); int random_y4=random(0,3); int random_y5=random(0,3); int time_mil; int button_time; int time; int time_plus=0; void setup(){0 pinMode(2, INPUT); //ВЛЕВО pinMode(3,INPUT); //ВПРАВО pinMode(4, INPUT); //ВВЕРХ pinMode(5,INPUT); //НИЗ pinMode(7,INPUT); //СТАРТ lcd.begin(20,4); lcd.setCursor(0,0); lcd.print("X"); } void move_1() { if (position_x>0){ position_x--; lcd.setCursor(position_x,random_y); lcd.print("0"); }else{ position_x=19; random_y=random(0,3); lcd.setCursor(position_x,random_y); lcd.print("0"); } } void move_2() { if (position_x2>0){ lcd.clear(); position_x2--; lcd.setCursor(position_x2,random_y2); lcd.print("0"); }else{ position_x2=19; random_y2=random(0,3); lcd.setCursor(position_x2,random_y2); lcd.print("0"); } } void move_3() { if (position_x3>0){ position_x3--; lcd.setCursor(position_x3,random_y3); lcd.print("0"); }else{ position_x3=19; random_y3=random(0,3); lcd.setCursor(position_x3,random_y3); lcd.print("0"); } } void move_4() { if (position_x4>0){ position_x4--; lcd.setCursor(position_x4,random_y4); lcd.print("0"); }else{ position_x4=19; random_y4=random(0,3); lcd.setCursor(position_x4,random_y4); lcd.print("0"); } } void move_5() { if (position_x5>0){ position_x5--; lcd.setCursor(position_x5,random_y5); lcd.print("0"); }else{ position_x5=19; random_y5=random(0,3); lcd.setCursor(position_x5,random_y5); lcd.print("0"); } } void loop(){ int millis_1=millis(); if(game_over==0){ if(bat_right==HIGH){ if(snake_x<15){ lcd.clear(); lcd.setCursor(snake_x+1,snake_y); snake_x+=1; lcd.print("X"); } } delay(10); if(bat_left==HIGH){ if(snake_x>1){ lcd.clear(); lcd.setCursor(snake_x-1,snake_y); snake_x-=1; lcd.print("X"); } } delay(10); if(bat_up==HIGH){ if(snake_y>0){ lcd.clear(); lcd.setCursor(snake_x,snake_y-1); snake_y-=1; lcd.print("X"); }else{ lcd.clear(); snake_y=4; lcd.setCursor(snake_x,snake_y); lcd.print("X"); } } delay(10); if(bat_down==HIGH){ if(snake_y<4){ lcd.clear(); lcd.setCursor(snake_x,snake_y+1); snake_y+=1; lcd.print("X"); }else{ lcd.clear(); snake_y=0; lcd.setCursor(snake_x,snake_y); lcd.print("X"); } } switch(millis()0){ case 0: lcd.clear(); move_1(); break; case 1000: lcd.clear(); move_1(); break; case 2000: lcd.clear(); move_1(); break; case 3000: lcd.clear(); move_1(); move_2(); break; case 5000: lcd.clear(); move_1(); move_2(); break; case 6000: lcd.clear(); move_1(); move_2(); break; case 7000: lcd.clear(); move_1(); move_2(); move_3(); break; case 9000: lcd.clear(); move_1(); move_2(); move_3(); break; case 10000: lcd.clear(); move_1(); move_2(); move_3(); break; case 11000: lcd.clear(); move_1(); move_2(); move_3(); move_4(); break; case 12000: lcd.clear(); move_1(); move_2(); move_3(); move_4(); break; case 13000: lcd.clear(); move_1(); move_2(); move_3(); move_4(); break; case 14000: lcd.clear(); move_1(); move_2(); move_3(); move_4(); move_5(); break; case 15000: lcd.clear(); move_1(); move_2(); move_3(); move_4(); move_5(); break; case 16000: lcd.clear(); move_1(); move_2(); move_3(); move_4(); move_5(); } if((millis())>17000){ time=(time_mil/(1000-time_plus))%2;} if(time==1){ lcd.clear(); move_1(); move_2(); move_3(); move_4(); move_5(); time_plus=time_plus+100; } if((snake_x==position_x && snake_y==random_y)|| (snake_x==position_x2 && snake_y==random_y2)|| (snake_x==position_x3 && snake_y==random_y3)|| (snake_x==position_x4 && snake_y==random_y4)|| (snake_x==position_x5 && snake_y==random_y5)){ score = (time_mil/4000); lcd.clear(); lcd.setCursor(5,2); lcd.print("Your score is"); lcd.setCursor(4,3); lcd.print(score); delay(5000); game_over++; } }else{ lcd.clear(); lcd.setCursor(5,2); lcd.print("Your score is"); lcd.setCursor(4,3); lcd.print(score); delay(5000); game_over++; } }
некоторые из переменных лишние ... потом их уберу