is this code(Robot overcome barriers)correct?

iam write this code for (Robot overcome barriers)
and my robot dosent work correctly

code:
#include <Ultrasonic.h>

#include <Servo.h>
Ultrasonic u(8,12);

const int m1=3;
const int m2=4;
const int m3=5;
const int m4=6;
Servo s;
const int trig=8;
const int echo=12;

long value3;
long value1;
char(e);

void setup() {
pinMode(m1,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
s.attach(9);
Serial.begin(9600);
Serial.println(“start”);

}

void loop() {Serial.print(“sonic”);Serial.print(CM);

if(sonic()<=20){stope(LOW,LOW);

direc(LOW,LOW);

s.write(90);
float x=sonic();delay(200);
s.write(0);
float y=sonic();delay(200);
s.write(180);
float z=sonic();delay(200);
s.write(90);
return ;
maxemum(x,y,z);Serial.print(“x is”);
Serial.print(x);
Serial.print(“y is”);
Serial.print(y);
Serial.print(“z is”);
Serial.print(z);
Serial.println(“the max is :”);printe();
}else {s.write(90);
stope(HIGH,LOW);
direc(LOW,LOW);}

}

float sonic(){digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
float dis=pulseIn(echo,HIGH)/58.2;
return dis;}
//value1 for distance,value2 for max value distance,value3 formin distance
void ultravalue( long valu2,long value3){
float value1= sonic();//
if(value1<=150){long value2=value1;
Serial.print(“max value distance”);}
else if (value1<=20){value3=value1;
Serial.print(“min value distance”);}
return ;}

//تابع القيمة العظمى ويقارن بين 3 متغيرات وتبعا للمتغير الاكبر يعيد قيمة

void maxemum(float v1,float v2,float v3){

if((v1>v2)&&(v1>v3)&&(v1>35)){stope(HIGH,LOW);
direc(LOW,LOW);
delay(1000);
return ;}
else if((v2>v1)&&(v2>v3)&&(v2>35)){stope(HIGH,LOW);
direc(HIGH,LOW);
delay(1000);
return ;}
else if((v3>=v1)&&(v3>=v2)){
stope(HIGH,LOW);
direc(LOW,HIGH);
delay(1000);return ;}
else if(((v1==v2)||(v2==v3)||(v3==v1))&&((v1||v2||v3)<=35)){
stope(LOW,HIGH);
direc(LOW,LOW);
delay(500);
return ;}}
//تابع الحركة للامام والخلف
void stope(boolean s,boolean t){
digitalWrite(m1,s);
digitalWrite(m2,LOW);
digitalWrite(m3,LOW);
digitalWrite(m4,t);
delay(100);return ;
}
//تابع تحديد الجهة
void direc (boolean r,boolean l){
digitalWrite(m1,HIGH);
digitalWrite(m2,r);
digitalWrite(m3,LOW);
digitalWrite(m4,l);
delay(100);
return ;}
//تابع الطباعة
String printe(){

Serial.println(".");
Serial.println(“stop becuse the distance lower than 20”);
Serial.println(value1);
Serial.println(“forword servo”);

Serial.println(“waite 1 sec”);
Serial.println(“distance”);
Serial.println(value1);
}

and my robot dosent work correctly

And?