Помогите пожалуйста в чем проблема
- Войдите на сайт для отправки комментариев
Чт, 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++;
}
}
некоторые из переменных лишние ... потом их уберу