Add test file
This commit is contained in:
parent
e37d42a856
commit
5b67e8064a
|
@ -0,0 +1,83 @@
|
||||||
|
# Road check and auto pilot(??) by ValKmjolnir
|
||||||
|
|
||||||
|
var position_change = func(position_val,value){
|
||||||
|
if(position_val+value>180)
|
||||||
|
position_val += value-360;
|
||||||
|
else if(position_val+value<-180)
|
||||||
|
position_val += value+360;
|
||||||
|
else
|
||||||
|
position_val += value;
|
||||||
|
return position_val;
|
||||||
|
}
|
||||||
|
var road_check_func = func(){
|
||||||
|
|
||||||
|
var lat = props.getNode("/position/latitude-deg",1).getValue();
|
||||||
|
var lon = props.getNode("/position/longitude-deg",1).getValue();
|
||||||
|
var position_info = geodinfo(lat,lon);
|
||||||
|
var position_names = position_info[1].names;
|
||||||
|
# the friction_factor of freeway runway and road is 1
|
||||||
|
|
||||||
|
if((position_names[0]=="Freeway") or (position_names[0]=="Road"))
|
||||||
|
{
|
||||||
|
var car_heading = 0;
|
||||||
|
var lat_change = 0;
|
||||||
|
var lon_change = 0;
|
||||||
|
var left_range = 0;
|
||||||
|
var right_range = 0;
|
||||||
|
|
||||||
|
for(var i=0;i>-0.00005;i-=0.000001)
|
||||||
|
{
|
||||||
|
car_heading = props.getNode("/orientation/heading-deg",1).getValue();
|
||||||
|
lat_change = math.sin(math.pi*car_heading/180);
|
||||||
|
lon_change = -math.cos(math.pi*car_heading/180);
|
||||||
|
lat = props.getNode("/position/latitude-deg",1).getValue()+0.0001*math.cos(math.pi*car_heading/180);
|
||||||
|
lon = props.getNode("/position/longitude-deg",1).getValue()+0.0001*math.sin(math.pi*car_heading/180);
|
||||||
|
var other_position_info = geodinfo(position_change(lat,i*lat_change),position_change(lon,i*lon_change));
|
||||||
|
var other_names = other_position_info[1].names;
|
||||||
|
if((other_names[0]=="Freeway") or (other_names[0]=="Road"))
|
||||||
|
right_range += 1;
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
for(var i=0;i<0.00005;i+=0.000001)
|
||||||
|
{
|
||||||
|
car_heading = props.getNode("/orientation/heading-deg",1).getValue();
|
||||||
|
lat_change = math.sin(math.pi*car_heading/180);
|
||||||
|
lon_change = -math.cos(math.pi*car_heading/180);
|
||||||
|
lat = props.getNode("/position/latitude-deg",1).getValue()+0.0001*math.cos(math.pi*car_heading/180);
|
||||||
|
lon = props.getNode("/position/longitude-deg",1).getValue()+0.0001*math.sin(math.pi*car_heading/180);
|
||||||
|
var other_position_info = geodinfo(position_change(lat,i*lat_change),position_change(lon,i*lon_change));
|
||||||
|
var other_names = other_position_info[1].names;
|
||||||
|
if((other_names[0]=="Freeway") or (other_names[0]=="Road"))
|
||||||
|
left_range+=1;
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#if(left_range>right_range)
|
||||||
|
#{
|
||||||
|
# setprop("/controls/flight/rudder",-(right_range-left_range)*(right_range-left_range)/10000);
|
||||||
|
# print("right ",right_range);
|
||||||
|
#}
|
||||||
|
#else if(left_range<right_range)
|
||||||
|
#{
|
||||||
|
# setprop("/controls/flight/rudder",(right_range-left_range)*(right_range-left_range)/10000);
|
||||||
|
# print("left ",left_range);
|
||||||
|
#}
|
||||||
|
#else
|
||||||
|
# setprop("/controls/flight/rudder",0);
|
||||||
|
props.getNode("/controls/flight/rudder",1).setValue((right_range-left_range)/200);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var road_check_timer = maketimer(0.1,road_check_func);
|
||||||
|
var toggle_auto_pilot = func(){
|
||||||
|
if(!road_check_timer.isRunning)
|
||||||
|
{
|
||||||
|
road_check_timer.start();
|
||||||
|
props.getNode("/sim/messages/copilot",1).setValue("ze dong sheng teaan see tong yee tse yung. Auto Sheng Teaan System Activated!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
road_check_timer.stop();
|
||||||
|
props.getNode("/sim/messages/copilot",1).setValue("ze dong sheng teaan see tong yee guan bee. Auto Sheng Teaan System is off.");
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
id[0] and id[1];
|
||||||
|
1 or 2;
|
||||||
|
"str" ==1;
|
||||||
|
1*1/1+1;
|
||||||
|
2*3*4/1-2+3;
|
||||||
|
1-1+20-2*10;
|
||||||
|
1+s1*(s2+s3[0])-1;
|
||||||
|
var e=1+s1*(s2+s3[0])-1;
|
||||||
|
id;
|
||||||
|
"str";
|
||||||
|
id(id);
|
||||||
|
id("str",1,1);
|
||||||
|
var e=1;
|
||||||
|
var x=10*2-20;
|
||||||
|
var id;
|
||||||
|
var id=[1,2,3,4];
|
||||||
|
var id={id:"str"};
|
||||||
|
id();
|
||||||
|
id.id();
|
||||||
|
id.id.id();
|
||||||
|
id[0].id.id(id,"str",1,2,3,4).id[10];
|
||||||
|
id(0)[1].id;
|
||||||
|
var hash={
|
||||||
|
h:"hello",
|
||||||
|
parent:[id],
|
||||||
|
};
|
||||||
|
function_test([1,2,3,4,55],1,2,3,{str:"str"});
|
||||||
|
var (i,j,k,l,m,n) =[1,2,3,4,5,6];
|
||||||
|
(var i,j,k)=[1,2,3];
|
||||||
|
e=e[1:][0];
|
|
@ -0,0 +1,38 @@
|
||||||
|
if(this_token.type==__if)
|
||||||
|
{
|
||||||
|
parse.push(this_token);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
elsif(this_token.type==__elsif)
|
||||||
|
{
|
||||||
|
parse.push(this_token);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if(this_token.type!=__else)
|
||||||
|
{
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
elsif(this_token.type==__elsif)
|
||||||
|
{
|
||||||
|
parse.push(this_token);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
elsif(this_token.type==__elsif)
|
||||||
|
{
|
||||||
|
parse.push(this_token);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if(this==(1+2+3*1))
|
||||||
|
{
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
parse.push(this_token);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!id)
|
||||||
|
{
|
||||||
|
exit(0);
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
print("hello world!\n");
|
||||||
|
print("This is the first program for nasal--\n");
|
||||||
|
var cnt=0;
|
||||||
|
for(var i=1;i<101;i+=1)
|
||||||
|
cnt+=i;
|
||||||
|
print(cnt);
|
|
@ -0,0 +1,10 @@
|
||||||
|
var f=func(n,m,dynamic...)
|
||||||
|
{
|
||||||
|
print(n+m," ",dynamic);
|
||||||
|
n=dynamic;
|
||||||
|
m=dynamic;
|
||||||
|
n+=m;
|
||||||
|
return dynamic;
|
||||||
|
};
|
||||||
|
print(f(1,1,0,0,0,0,0,(1+2+3+(1+2+3+4)))[3]);
|
||||||
|
function([0,1,2,3],{str:"str"});
|
|
@ -0,0 +1,38 @@
|
||||||
|
while(n==1 )
|
||||||
|
{
|
||||||
|
i=i+1;
|
||||||
|
f(i);
|
||||||
|
print("str");
|
||||||
|
}
|
||||||
|
|
||||||
|
while(n==1 and "str"==str)
|
||||||
|
{
|
||||||
|
print("str");
|
||||||
|
}
|
||||||
|
|
||||||
|
i+=i1;
|
||||||
|
i+=i.i[0];
|
||||||
|
i=i.i[0].i(0);
|
||||||
|
var hash={
|
||||||
|
f:func {var e=1;return 0;},
|
||||||
|
};
|
||||||
|
for(var i=0;i<1024;i+=1)
|
||||||
|
{
|
||||||
|
print(i);
|
||||||
|
}
|
||||||
|
for(var i=0;(2*512)>=i;i+=1)
|
||||||
|
{
|
||||||
|
print(i);
|
||||||
|
}
|
||||||
|
foreach(var i;[1+(1+1),2,3,4])
|
||||||
|
{
|
||||||
|
print(i);
|
||||||
|
}
|
||||||
|
forindex(var i=list;[1,2,3,4])
|
||||||
|
{
|
||||||
|
print(i[0]);
|
||||||
|
}
|
||||||
|
while(!id)
|
||||||
|
{
|
||||||
|
print("yes");
|
||||||
|
}
|
Loading…
Reference in New Issue