Помогите пожалуйста в чем проблема

alex85
Offline
Зарегистрирован: 12.11.2013

вот код... в нем что-то не так должны появляться нолики и что то вроде игры на тетрисе там где надо уворачиваться машиной от ноликов но нолики почему то даже не появляются... может проблема в самом адруино... если можете пожалуйста проверьте код...

#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++;
   }
}

 

alex85
Offline
Зарегистрирован: 12.11.2013

некоторые из переменных лишние ... потом их уберу