rendered paste bodydomains
Vid,Color,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Rasp,Count=integer
MoshMin,MoshMax=integer
MassaMin,MassaMax=integer
SpeedMin,SpeedMax=integer
EkipMin,EkipMax=integer
GoodsMin,GoodsMax=integer
PassMin,PassMax=integer
RaspMin,RaspMax=integer
Color1 = symbol
database - transpbase
transp(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp,Count)
predicates
rpt
menu
go(integer)
go1(Vid)
go2(Vid,Class)
go3(Vid,Class,Mosh)
go4(Vid,Class,Mosh,Massa)
go5(Vid,Class,Mosh,Massa,Speed)
go6(Vid,Class,Mosh,Massa,Speed,Ekip)
go7(Vid,Class,Mosh,Massa,Speed,Ekip,Goods)
go8(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass)
go9(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color)
go10(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp)
gogo(Vid)
pk6(integer,integer)%6 строк
pk5(integer,integer,integer)%5 строк
pk8(integer,integer,integer,Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp)%8 строк. Кнопка, курсор, атрибут, маляжи
GC(Color,Color1)
Add(integer)
Del(integer)
saves(integer)
clearmaindb
Find1(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp)
Find2(Vid,Class,MoshMin,MoshMax,Massa,Speed,Ekip,Goods,Pass,Color,Rasp)
Find3(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,Speed,Ekip,Goods,Pass,Color,Rasp)
Find4(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,Ekip,Goods,Pass,Color,Rasp)
Find5(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,Goods,Pass,Color,Rasp)
Find6(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,Pass,Color,Rasp)
Find7(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,Rasp)
Find8(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,RaspMin,RaspMax)
clauses
rpt.
rpt:-!,rpt.
clearmaindb:- retract(transp(_,_,_,_,_,_,_,_,_,_,_)),fail;true.
GC(1,"Red").
GC(2,"Orange").
GC(3,"Yellow").
GC(4,"Green").
GC(5,"Azure").
GC(6,"Blue").
GC(7,"Pink").
go(6):- saves(1).
go(1):- makewindow(2,30,110,"Vid_transport",1,1,7,20),
clearwindow,
write("Fly"),nl,write("Auto"),nl,write("Water"),nl,write("Return"),nl,write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk5(Key,Y,0),
fail.
go(2):- makewindow(2,30,110,"Vid_transport",1,1,7,20),
clearwindow,
write("Fly"),nl,write("Auto"),nl,write("Water"),nl,write("Return"),nl,write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk5(Key,Y,1),
fail.
go(3):- makewindow(2,30,110,"New Element",1,1,20,21),
clearwindow,
write("Fly"),nl,write("Auto"),nl,write("Water"),nl,write("Return"),nl,write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk5(Key,Y,2),
fail.
go(4):- makewindow(2,30,110,"Del Element",1,1,20,21),
clearwindow,
write("Fly"),nl,write("Auto"),nl,write("Water"),nl,write("Return"),nl,write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk5(Key,Y,3),
fail.
go(5):- saves(0),
makewindow(2,60,90,"Saves",1,1,3,14),
clearwindow,
write("Base SAVED!"),
cursor(0,0),
readchar(_),
removewindow,
menu.
Del(5):- saves(1).
Del(4):- removewindow,menu.
Del(A):- cursor(5,0),
write("Enter Class: "), readint(B),%Класс
write("Enter Mosh: "), readint(C),%Мощьность
write("Enter Massa: "), readint(D),%Масса
write("Enter Speed: "), readint(E),%Скорость
write("Enter Ekip: "), readint(F),%Экипаж
write("Enter Goods: "), readint(G),%Грузоподьемность
write("Enter Pass: "), readint(H),%Пассажиры
write("Enter Color(red,Orange,Yellow,Green,Azure,Blue,Pink): "), readint(J),%Цвет
write("Enter Rasp: "), readint(K),%Распространённость
write("Enter Price: "), readint(L),%Стоймость
retract(transp(A,B,C,D,E,F,G,H,J,K,L)),
saves(0),
removewindow,
menu.
Add(5):- saves(1).
Add(4):- removewindow,menu.
Add(A):- cursor(5,0),
write("Enter Class: "), readint(B),%Класс
write("Enter Mosh: "), readint(C),%Мощьность
write("Enter Massa: "), readint(D),%Масса
write("Enter Speed: "), readint(E),%Скорость
write("Enter Ekip: "), readint(F),%Экипаж
write("Enter Goods: "), readint(G),%Грузоподьемность
write("Enter Pass: "), readint(H),%Пассажиры
write("Enter Color(red,Orange,Yellow,Green,Azure,Blue,Pink): "), readint(J),%Цвет
write("Enter Rasp: "), readint(K),%Распространённость
write("Enter Price: "), readint(L),%Стоймость
assertz(transp(A,B,C,D,E,F,G,H,J,K,L)),
saves(0),
removewindow,
menu.
saves(1):- save("trdb.dat",transpbase),clearmaindb,exit.
saves(0):- save("trdb.dat",transpbase),clearmaindb,consult("trdb.dat",transpbase).
gogo(5):- saves(1).
gogo(4):- removewindow,
menu.
gogo(A):-
removewindow,
makewindow(12,48,110,"",12,0,38,80),
write("#"),
write("|Vid T|"),
write("Class|"),
write("Mosh_Dvig|"),
write("Massa|"),
write("Speed|"),
write("Ekipaj|"),
write("Goods|"),
write("Passeg|"),
write(" Color |"),
write("Rasp|"),
write("Cost |"),
Find1(A,6,6,6,6,6,6,6,8,6).
go1(5):- saves(1).
go1(4):- removewindow,
menu.
go1(A):- makewindow(3,30,110,"Class_Nadejnost",1,11,10,20),
clearwindow,
write("'1'"),nl,write("'2'"),nl,write("'3'"),nl,write("'4'"),nl,write("'5'"),nl,write("Any"),nl, write("Return"),nl, write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,0,A,0,0,0,0,0,0,0,0,0),
fail.
go2(_,8):- saves(1).
go2(A,7):- removewindow,
go(1).
go2(1,B):- makewindow(4,30,110,"Mosh_Dvigatel",1,21,10,20),
clearwindow,
write("900...1400"),nl,
write("1400...1900"),nl,
write("1900...2400"),nl,
write("2400...2900"),nl,
write("2900...3400"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,1,1,B,0,0,0,0,0,0,0,0),
fail.
go2(2,B):- makewindow(4,30,110,"Mosh_Dvigatel",1,21,10,20),
clearwindow,
write("50...240"),nl,
write("240...430"),nl,
write("430...620"),nl,
write("620...810"),nl,
write("810...1000"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,1,2,B,0,0,0,0,0,0,0,0),
fail.
go2(3,B):- makewindow(4,30,110,"Mosh_Dvigatel",1,21,10,20),
clearwindow,
write("200...500"),nl,
write("500...800"),nl,
write("800...1100"),nl,
write("1100...1400"),nl,
write("1400...1700"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,1,3,B,0,0,0,0,0,0,0,0),
fail.
go3(_,_,8):- saves(1).
go3(A,_,7):- removewindow,
go1(A).
go3(1,B,C):- makewindow(5,30,110,"Massa_Fly",1,31,10,20),
clearwindow,
write("100...160"),nl,
write("160...220"),nl,
write("220...280"),nl,
write("280...340"),nl,
write("340...400"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,2,1,B,C,0,0,0,0,0,0,0),
fail.
go3(2,B,C):- makewindow(5,30,110,"Massa_Auto",1,31,10,20),
clearwindow,
write("9...12"),nl,
write("12...15"),nl,
write("15...18"),nl,
write("18...21"),nl,
write("21...24"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,2,2,B,C,0,0,0,0,0,0,0),
fail.
go3(3,B,C):- makewindow(5,30,110,"Massa_Water",1,31,10,20),
clearwindow,
write("100...700"),nl,
write("700...1300"),nl,
write("1300...1900"),nl,
write("1900...2500"),nl,
write("2500...3100"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,2,3,B,C,0,0,0,0,0,0,0),
fail.
go4(_,_,_,8):- saves(1).
go4(A,B,_,7):- removewindow,
go2(A,B).
go4(1,B,C,D):- makewindow(6,30,110,"Speed_Fly",1,41,10,20),
clearwindow,
write("300...600"),nl,
write("600...900"),nl,
write("900...1200"),nl,
write("1200...1500"),nl,
write("1500...1800"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,3,1,B,C,D,0,0,0,0,0,0),
fail.
go4(2,B,C,D):- makewindow(6,30,110,"Speed_Auto",1,41,10,20),
clearwindow,
write("100...180"),nl,
write("180...260"),nl,
write("260...340"),nl,
write("340...420"),nl,
write("420...500"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,3,2,B,C,D,0,0,0,0,0,0),
fail.
go4(3,B,C,D):- makewindow(6,30,110,"Speed_Water",1,41,10,20),
clearwindow,
write("60...128"),nl,
write("128...196"),nl,
write("196...264"),nl,
write("264...322"),nl,
write("322...400"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,3,3,B,C,D,0,0,0,0,0,0),
fail.
go5(_,_,_,_,8):- saves(1).
go5(A,B,C,_,7):- removewindow,
go3(A,B,C).
go5(1,B,C,D,E):- makewindow(7,30,110,"Ekipaj_Fly",1,51,10,20),
clearwindow,
write("2...3"),nl,
write("3...4"),nl,
write("4...6"),nl,
write("6...8"),nl,
write("8...10"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,4,1,B,C,D,E,0,0,0,0,0),
fail.
go5(2,B,C,D,E):- makewindow(7,30,110,"Ekipaj_Auto",1,51,10,20),
clearwindow,
write("1...1"),nl,
write("1...2"),nl,
write("2...2"),nl,
write("2...3"),nl,
write("3...4"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,4,2,B,C,D,E,0,0,0,0,0),
fail.
go5(3,B,C,D,E):- makewindow(7,30,110,"Ekipaj_Water",1,51,10,20),
clearwindow,
write("6...7"),nl,
write("7...8"),nl,
write("8...10"),nl,
write("10...12"),nl,
write("12...14"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,4,3,B,C,D,E,0,0,0,0,0),
fail.
go6(_,_,_,_,_,8):- saves(1).
go6(A,B,C,D,_,7):- removewindow,
go4(A,B,C,D).
go6(1,B,C,D,E,F):- makewindow(8,30,110,"Zagruz_Fly",11,0,10,20),
clearwindow,
write("100...360"),nl,
write("360...620"),nl,
write("620...880"),nl,
write("880...1140"),nl,
write("1140...1400"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,5,1,B,C,D,E,F,0,0,0,0),
fail.
go6(2,B,C,D,E,F):- makewindow(8,30,110,"Zagruz_Auto",11,0,10,20),
clearwindow,
write("10...30"),nl,
write("30...50"),nl,
write("50...70"),nl,
write("70...90"),nl,
write("90...110"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,5,2,B,C,D,E,F,0,0,0,0),
fail.
go6(3,B,C,D,E,F):- makewindow(8,30,110,"Zagruz_Water",11,0,10,20),
clearwindow,
write("1000...4200"),nl,
write("4200...7400"),nl,
write("7400...10600"),nl,
write("10600...13800"),nl,
write("13800...17000"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,5,3,B,C,D,E,F,0,0,0,0),
fail.
go7(_,_,_,_,_,_,8):- saves(1).
go7(A,B,C,D,E,_,7):- removewindow,
go5(A,B,C,D,E).
go7(1,B,C,D,E,F,G):- makewindow(9,30,110,"Num_Passage_Fly",11,10,10,20),
clearwindow,
write("500...610"),nl,
write("610...720"),nl,
write("720...830"),nl,
write("830...940"),nl,
write("940...1050"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,6,1,B,C,D,E,F,G,0,0,0),
fail.
go7(2,B,C,D,E,F,G):- makewindow(9,30,110,"Num_Passage_Auto",11,10,10,20),
clearwindow,
write("3...3"),nl,
write("3...4"),nl,
write("4...4"),nl,
write("4...5"),nl,
write("5...6"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,6,2,B,C,D,E,F,G,0,0,0),
fail.
go7(3,B,C,D,E,F,G):- makewindow(9,30,110,"Num_Passage_Water",11,10,10,20),
clearwindow,
write("50...340"),nl,
write("340...630"),nl,
write("630...920"),nl,
write("920...1210"),nl,
write("1210...1500"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,6,3,B,C,D,E,F,G,0,0,0),
fail.
go8(_,_,_,_,_,_,_,8):- saves(1).
go8(A,B,C,D,E,F,_,7):- removewindow,
go6(A,B,C,D,E,F).
go8(A,B,C,D,E,F,G,H):- makewindow(10,30,110,"Color",11,20,12,20),
clearwindow,
write("Red"),nl,
write("Orange"),nl,
write("Yellow"),nl,
write("Green"),nl,
write("Azure"),nl,
write("Blue"),nl,
write("Pink"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,7,A,B,C,D,E,F,G,H,0,0),
fail.
go9(_,_,_,_,_,_,_,_,10):- saves(1).
go9(A,B,C,D,E,F,G,_,9):- removewindow,
go7(A,B,C,D,E,F,G).
go9(1,B,C,D,E,F,G,H,J):- makewindow(11,30,110,"Rasprostran_Fly",11,30,10,20),
clearwindow,
write("10...20"),nl,
write("20...30"),nl,
write("30...40"),nl,
write("40...50"),nl,
write("50...60"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,8,1,B,C,D,E,F,G,H,J,0),
fail.
go9(2,B,C,D,E,F,G,H,J):- makewindow(11,30,110,"Rasprostran_Auto",11,30,10,20),
clearwindow,
write("10...26"),nl,
write("26...42"),nl,
write("42...58"),nl,
write("58...74"),nl,
write("74...90"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,8,2,B,C,D,E,F,G,H,J,0),
fail.
go9(3,B,C,D,E,F,G,H,J):- makewindow(11,30,110,"Rasprostran_Water",11,30,10,20),
clearwindow,
write("10...18"),nl,
write("18...26"),nl,
write("26...34"),nl,
write("34...42"),nl,
write("42...50"),nl,
write("Any"),nl,
write("Return"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk8(Key,Y,8,3,B,C,D,E,F,G,H,J,0),
fail.
go10(_,_,_,_,_,_,_,_,_,8):- saves(1).
go10(A,B,C,D,E,F,G,H,_,7):- removewindow,
go8(A,B,C,D,E,F,G,H).
go10(A,B,C,D,E,F,G,H,J,K):-
makewindow(12,48,110,"",12,0,38,80),
write("#"),
write("|Vid T|"),
write("Class|"),
write("Mosh_Dvig|"),
write("Massa|"),
write("Speed|"),
write("Ekipaj|"),
write("Goods|"),
write("Passeg|"),
write(" Color |"),
write("Rasp|"),
write("Cost |"),
Find1(A,B,C,D,E,F,G,H,J,K).
%==================================
Find1(1,Class,1,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(1,Class,900,1400,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(1,Class,2,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(1,Class,1400,1900,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(1,Class,3,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(1,Class,1900,2400,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(1,Class,4,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(1,Class,2400,2900,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(1,Class,5,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(1,Class,2900,3400,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(2,Class,1,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(2,Class,50,240,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(2,Class,2,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(2,Class,240,430,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(2,Class,3,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(2,Class,430,620,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(2,Class,4,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(2,Class,620,810,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(2,Class,5,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(2,Class,810,1000,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(3,Class,1,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(3,Class,200,500,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(3,Class,2,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(3,Class,500,800,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(3,Class,3,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(3,Class,800,1100,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(3,Class,4,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(3,Class,1100,1400,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(3,Class,5,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(3,Class,1400,1700,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
Find1(X,Class,Z,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find2(X,Class,0,20000,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
%==================================
Find2(1,Class,MoshMin,MoshMax,1,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(1,Class,MoshMin,MoshMax,100,160,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(1,Class,MoshMin,MoshMax,2,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(1,Class,MoshMin,MoshMax,160,220,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(1,Class,MoshMin,MoshMax,3,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(1,Class,MoshMin,MoshMax,220,280,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(1,Class,MoshMin,MoshMax,4,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(1,Class,MoshMin,MoshMax,280,340,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(1,Class,MoshMin,MoshMax,5,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(1,Class,MoshMin,MoshMax,340,400,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(2,Class,MoshMin,MoshMax,1,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(2,Class,MoshMin,MoshMax,9,12,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(2,Class,MoshMin,MoshMax,2,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(2,Class,MoshMin,MoshMax,12,15,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(2,Class,MoshMin,MoshMax,3,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(2,Class,MoshMin,MoshMax,15,18,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(2,Class,MoshMin,MoshMax,4,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(2,Class,MoshMin,MoshMax,18,21,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(2,Class,MoshMin,MoshMax,5,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(2,Class,MoshMin,MoshMax,21,24,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(3,Class,MoshMin,MoshMax,1,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(3,Class,MoshMin,MoshMax,100,700,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(3,Class,MoshMin,MoshMax,2,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(3,Class,MoshMin,MoshMax,700,1300,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(3,Class,MoshMin,MoshMax,3,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(3,Class,MoshMin,MoshMax,1300,1900,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(3,Class,MoshMin,MoshMax,4,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(3,Class,MoshMin,MoshMax,1900,2500,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(3,Class,MoshMin,MoshMax,5,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(3,Class,MoshMin,MoshMax,2500,3100,Speed,Ekip,Goods,Pass,Color,Rasp).
Find2(X,Class,MoshMin,MoshMax,Z,Speed,Ekip,Goods,Pass,Color,Rasp):-
Find3(X,Class,MoshMin,MoshMax,0,20000,Speed,Ekip,Goods,Pass,Color,Rasp).
%==================================
Find3(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,1,Ekip,Goods,Pass,Color,Rasp):-
Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,300,600,Ekip,Goods,Pass,Color,Rasp).
Find3(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,2,Ekip,Goods,Pass,Color,Rasp):-
Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,600,900,Ekip,Goods,Pass,Color,Rasp).
Find3(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,3,Ekip,Goods,Pass,Color,Rasp):-
Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,900,1200,Ekip,Goods,Pass,Color,Rasp).
Find3(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,4,Ekip,Goods,Pass,Color,Rasp):-
Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,1200,1500,Ekip,Goods,Pass,Color,Rasp).
Find3(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,5,Ekip,Goods,Pass,Color,Rasp):-
Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,1500,1800,Ekip,Goods,Pass,Color,Rasp).
Find3(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,1,Ekip,Goods,Pass,Color,Rasp):-
Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,100,180,Ekip,Goods,Pass,Color,Rasp).
Find3(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,2,Ekip,Goods,Pass,Color,Rasp):-
Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,180,260,Ekip,Goods,Pass,Color,Rasp).
Find3(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,3,Ekip,Goods,Pass,Color,Rasp):-
Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,260,340,Ekip,Goods,Pass,Color,Rasp).
Find3(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,4,Ekip,Goods,Pass,Color,Rasp):-
Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,340,420,Ekip,Goods,Pass,Color,Rasp).
Find3(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,5,Ekip,Goods,Pass,Color,Rasp):-
Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,420,500,Ekip,Goods,Pass,Color,Rasp).
Find3(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,1,Ekip,Goods,Pass,Color,Rasp):-
Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,60,128,Ekip,Goods,Pass,Color,Rasp).
Find3(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,2,Ekip,Goods,Pass,Color,Rasp):-
Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,128,196,Ekip,Goods,Pass,Color,Rasp).
Find3(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,3,Ekip,Goods,Pass,Color,Rasp):-
Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,196,264,Ekip,Goods,Pass,Color,Rasp).
Find3(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,4,Ekip,Goods,Pass,Color,Rasp):-
Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,264,322,Ekip,Goods,Pass,Color,Rasp).
Find3(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,5,Ekip,Goods,Pass,Color,Rasp):-
Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,322,400,Ekip,Goods,Pass,Color,Rasp).
Find3(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,Z,Ekip,Goods,Pass,Color,Rasp):-
Find4(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,0,20000,Ekip,Goods,Pass,Color,Rasp).
%==================================
Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,1,Goods,Pass,Color,Rasp):-
Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,3,Goods,Pass,Color,Rasp).
Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,Goods,Pass,Color,Rasp):-
Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,3,4,Goods,Pass,Color,Rasp).
Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,3,Goods,Pass,Color,Rasp):-
Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,4,6,Goods,Pass,Color,Rasp).
Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,4,Goods,Pass,Color,Rasp):-
Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,6,8,Goods,Pass,Color,Rasp).
Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,5,Goods,Pass,Color,Rasp):-
Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,8,10,Goods,Pass,Color,Rasp).
Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,1,Goods,Pass,Color,Rasp):-
Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,1,1,Goods,Pass,Color,Rasp).
Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,Goods,Pass,Color,Rasp):-
Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,1,2,Goods,Pass,Color,Rasp).
Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,3,Goods,Pass,Color,Rasp):-
Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,2,Goods,Pass,Color,Rasp).
Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,4,Goods,Pass,Color,Rasp):-
Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,3,Goods,Pass,Color,Rasp).
Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,5,Goods,Pass,Color,Rasp):-
Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,3,4,Goods,Pass,Color,Rasp).
Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,1,Goods,Pass,Color,Rasp):-
Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,6,7,Goods,Pass,Color,Rasp).
Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,Goods,Pass,Color,Rasp):-
Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,7,8,Goods,Pass,Color,Rasp).
Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,3,Goods,Pass,Color,Rasp):-
Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,8,10,Goods,Pass,Color,Rasp).
Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,4,Goods,Pass,Color,Rasp):-
Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,10,12,Goods,Pass,Color,Rasp).
Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,5,Goods,Pass,Color,Rasp):-
Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,12,14,Goods,Pass,Color,Rasp).
Find4(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,Z,Goods,Pass,Color,Rasp):-
Find5(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,0,20000,Goods,Pass,Color,Rasp).
%==================================
Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,1,Pass,Color,Rasp):-
Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,100,360,Pass,Color,Rasp).
Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,2,Pass,Color,Rasp):-
Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,360,620,Pass,Color,Rasp).
Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,3,Pass,Color,Rasp):-
Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,620,880,Pass,Color,Rasp).
Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,4,Pass,Color,Rasp):-
Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,880,1140,Pass,Color,Rasp).
Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,5,Pass,Color,Rasp):-
Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,1140,1400,Pass,Color,Rasp).
Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,1,Pass,Color,Rasp):-
Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,10,30,Pass,Color,Rasp).
Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,2,Pass,Color,Rasp):-
Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,30,50,Pass,Color,Rasp).
Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,3,Pass,Color,Rasp):-
Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,50,70,Pass,Color,Rasp).
Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,4,Pass,Color,Rasp):-
Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,70,90,Pass,Color,Rasp).
Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,5,Pass,Color,Rasp):-
Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,90,110,Pass,Color,Rasp).
Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,1,Pass,Color,Rasp):-
Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,1000,4200,Pass,Color,Rasp).
Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,2,Pass,Color,Rasp):-
Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,4200,7400,Pass,Color,Rasp).
Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,3,Pass,Color,Rasp):-
Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,7400,10600,Pass,Color,Rasp).
Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,4,Pass,Color,Rasp):-
Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,10600,13800,Pass,Color,Rasp).
Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,5,Pass,Color,Rasp):-
Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,13800,17000,Pass,Color,Rasp).
Find5(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,Z,Pass,Color,Rasp):-
Find6(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,0,20000,Pass,Color,Rasp).
%==================================
Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,1,Color,Rasp):-
Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,500,610,Color,Rasp).
Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,2,Color,Rasp):-
Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,610,720,Color,Rasp).
Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,3,Color,Rasp):-
Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,720,830,Color,Rasp).
Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,4,Color,Rasp):-
Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,830,940,Color,Rasp).
Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,5,Color,Rasp):-
Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,940,1050,Color,Rasp).
Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,1,Color,Rasp):-
Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,3,3,Color,Rasp).
Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,2,Color,Rasp):-
Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,3,4,Color,Rasp).
Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,3,Color,Rasp):-
Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,4,4,Color,Rasp).
Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,4,Color,Rasp):-
Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,4,5,Color,Rasp).
Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,5,Color,Rasp):-
Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,5,6,Color,Rasp).
Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,1,Color,Rasp):-
Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,50,340,Color,Rasp).
Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,2,Color,Rasp):-
Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,340,630,Color,Rasp).
Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,3,Color,Rasp):-
Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,630,920,Color,Rasp).
Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,4,Color,Rasp):-
Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,920,1210,Color,Rasp).
Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,5,Color,Rasp):-
Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,1210,1500,Color,Rasp).
Find6(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,Z,Color,Rasp):-
Find7(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,0,20000,Color,Rasp).
%==================================
Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,1):-
Find8(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,10,20).
Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,2):-
Find8(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,20,30).
Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,3):-
Find8(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,30,40).
Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,4):-
Find8(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,40,50).
Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,5):-
Find8(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,50,60).
Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,1):-
Find8(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,10,26).
Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,2):-
Find8(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,26,42).
Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,3):-
Find8(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,42,58).
Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,4):-
Find8(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,58,74).
Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,5):-
Find8(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,74,90).
Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,1):-
Find8(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,10,18).
Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,2):-
Find8(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,18,26).
Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,3):-
Find8(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,26,34).
Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,4):-
Find8(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,34,42).
Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,5):-
Find8(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,42,50).
Find7(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,Z):-
Find8(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,0,20000).
%==================================
Find8(1,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
transp(1,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Fly",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
Find8(1,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
transp(1,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Fly",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
Find8(1,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
transp(1,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Fly",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
Find8(1,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
transp(1,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Fly",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
%==================================
Find8(2,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
transp(2,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Auto",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
Find8(2,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
transp(2,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Auto",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
Find8(2,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
transp(2,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Auto",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
Find8(2,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
transp(2,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Auto",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
%==================================
Find8(3,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
transp(3,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Water",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
Find8(3,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
transp(3,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Water",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
Find8(3,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
transp(3,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Water",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
Find8(3,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
transp(3,B,C,D,E,F,G,H,J,K,L),
C>=CMin,C<=CMax,
D>=DMin,D<=DMax,
E>=EMin,E<=EMax,
F>=FMin,F<=FMax,
G>=GMin,G<=GMax,
H>=HMin,H<=HMax,
K>=KMin,K<=KMax,
GC(J,Z),
writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Water",B,C,D,E,F,G,H,Z,K,L),fail;true,
readchar(_),
removewindow,
menu.
%==================================
pk6(0,A):-inkey(Key),pk6(Key,A).
pk6(72,A):-field_attr(A,0,18,30),
A>0,!,
Z=A-1,
cursor(Z,0)
;
cursor(5,0).
pk6(80,A):-field_attr(A,0,18,30),
A<5,!,
Z=A+1,
cursor(Z,0)
;
cursor(0,0).
pk6(13,A):-Z=A+1,go(Z).
pk5(0,A,B):-inkey(Key),pk5(Key,A,B).
pk5(72,A,_):-field_attr(A,0,18,30),
A>0,!,
Z=A-1,
cursor(Z,0)
;
cursor(4,0).
pk5(80,A,_):-field_attr(A,0,18,30),
A<4,!,
Z=A+1,
cursor(Z,0)
;
cursor(0,0).
pk5(13,A,B):-B=0,Z=A+1,go1(Z);
B=1,Z=A+1,gogo(Z);
B=2,Z=A+1,Add(Z);
B=3,Z=A+1,Del(Z).
pk8(0,A,B,Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-inkey(Key),pk8(Key,A,B,Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
pk8(72,A,7,_,_,_,_,_,_,_,_,_,_):-field_attr(A,0,18,30),
A>0,!,
Z=A-1,
cursor(Z,0)
;
cursor(9,0).
pk8(72,A,_,_,_,_,_,_,_,_,_,_,_):-field_attr(A,0,18,30),
A>0,!,
Z=A-1,
cursor(Z,0)
;
cursor(7,0).
pk8(80,A,7,_,_,_,_,_,_,_,_,_,_):-field_attr(A,0,18,30),
A<9,!,
Z=A+1,
cursor(Z,0)
;
cursor(0,0).
pk8(80,A,_,_,_,_,_,_,_,_,_,_,_):-field_attr(A,0,18,30),
A<7,!,
Z=A+1,
cursor(Z,0)
;
cursor(0,0).
pk8(13,A,B,Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
B=0,Z=A+1,go2(Vid,Z);
B=1,Z=A+1,go3(Vid,Class,Z);
B=2,Z=A+1,go4(Vid,Class,Mosh,Z);
B=3,Z=A+1,go5(Vid,Class,Mosh,Massa,Z);
B=4,Z=A+1,go6(Vid,Class,Mosh,Massa,Speed,Z);
B=5,Z=A+1,go7(Vid,Class,Mosh,Massa,Speed,Ekip,Z);
B=6,Z=A+1,go8(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Z);
B=7,Z=A+1,go9(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Z);
B=8,Z=A+1,go10(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Z).
menu :- makewindow(1,30,110,"Menu",0,0,8,20),
clearwindow,
write("Find in db"),nl,
write("Show db"),nl,
write("Add to Base"),nl,
write("Del in Base"),nl,
write("Save Base"),nl,
write("Exit"),
cursor(0,0),
rpt,
cursor(Y,_),
field_attr(Y,0,18,112),
inkey(Key),pk6(Key,Y),
fail.
goal
consult("trdb.dat",transpbase),menu.