to Start
   wave "carStart
   ShowRace3
   MainMenu
end

to MainMenu
   showtitle "Ϸ
   ( showmenu "\ \ \ \ ʼ "ѡ "\ \ \ \  )
   Make "OnItemClick "Proc1
end

to SubMenu
   showtitle "ѡ
   ( showmenu "һ " "\ \  )
   Make "OnItemClick "Proc2
end

to Proc1 :i
   if :i= 1 then NewGame
   if :i= 2 then SubMenu return
   if :i= 3 then wave "brake bye
end

to Proc2 :i
   if :i= 1 then ShowRace3
   if :i= 2 then ShowRace3
   if :i= 3 then MainMenu
end

to ShowRace1
   draw
   tell "road
   setpc rgb 196 196 196
   roadup
   fd 350
   lt 90
   roaddown
   leftdraw "tree1.x 1
   RightDraw "tree2.x 1
   repeat 5 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 12 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 12 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 12 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 6 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   fd 40
   setpc 0
   fd 10
   repeat 3600 [ROTATECLOCK 1/10]
end

to ShowRace3
   draw
   FSize 2000 2000
   tell "road
   setpc rgb 196 196 196
   roadWidth 200
   roadup
   fd 1250
   lt 90
   roaddown
   leftdraw "tree1.x 1
   RightDraw "tree2.x 1
   repeat 12 [fd 100 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 24 [fd 100 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 24 [fd 100 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 24 [fd 100 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 11 [fd 100 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   fd 90
   setpc 0
   fd 10
   ;repeat 3600 [ROTATECLOCK 1/10]
end


to ShowRace2
   draw
   tell "road
   setpc rgb 196 196 196
   roadup
   fd 350
   lt 90
   roaddown
   leftdraw "tree1.x 1
   RightDraw "tree2.x 1
   repeat 5 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree2.x 1 ]
   repeat 1 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree2.x 1 ]
   repeat 7 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [rt 10 fd 10 LeftDraw "tree1.x 1 ]
   repeat 1 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [rt 10 fd 10 LeftDraw "tree1.x 1 ]
   repeat 7 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 1 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 12 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 11 [fd 48 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 1 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   repeat 9 [lt 10 fd 10 RightDraw "tree1.x 1 ]
   repeat 6 [fd 50 leftdraw "tree1.x 1 RightDraw "tree2.x 1 ]
   fd 40
   setpc 0
   fd 10
   repeat 3600 [ROTATECLOCK 1/10]
end

to NewGame
   ShowTitle "
   HideMenu
   tell "Camera
   setz 50
   up 5
   bk 200
   tell 0
   setshape "car
   camera 0
   setz 5
   fd 1450
   lt 90
   make "mark1 1
   make "timer1 0
   make "speed 0
   make "OnKeyUp "CarFd
   make "OnKeyDown "CarStop
   make "OnKeyLeft "CarLeft
   make "OnKeyRight "CarRight
   make "OnKeyButton1 "CarHorn
   make "OnKeyButton2 "CarHorn
   make "OnIdle "IdleMove
end

to AutoMove1
   repeat 30 [fd 10]
   repeat 18 [lt 5 fd 10]
   repeat 60 [fd 10]
   repeat 18 [lt 5 fd 10]
   repeat 60 [fd 10]
   repeat 18 [lt 5 fd 10]
   repeat 60 [fd 10]
   repeat 18 [lt 5 fd 10]
   repeat 30 [fd 10]
end

to AutoMove11
   tell 0
   repeat 300 [fd 1]
   repeat 180 [lt 1/2 fd 1]
   repeat 600 [fd 1]
   repeat 180 [lt 1/2 fd 1]
   repeat 600 [fd 1]
   repeat 180 [lt 1/2 fd 1]
   repeat 600 [fd 1]
   repeat 180 [lt 1/2 fd 1]
   repeat 300 [fd 1]
end

to AutoMove2
   repeat 30 [fd 10]
   repeat 18 [lt 5 fd 10]
   repeat 5 [fd 10]
   repeat 18 [lt 5 fd 10]
   repeat 35 [fd 10]
   repeat 18 [rt 5 fd 10]
   repeat 5 [fd 10]
   repeat 18 [rt 5 fd 10]
   repeat 35 [fd 10]
   repeat 18 [lt 5 fd 10]
   repeat 18 [lt 5 fd 10]
   repeat 60 [fd 10]
   repeat 18 [lt 5 fd 10]
   repeat 55 [fd 10]
   repeat 18 [lt 5 fd 10]
   repeat 30 [fd 10]
end

to test
   face [[0 0 0] [0 100 100] [100 100 100]]
end

to CarFD
   if :Speed<= 1 then wave "carStart
   Lock 3
   make "speed :speed+ 1
   if :speed> 30 then make "speed 30
   UnLock 3
   showtitle :speed
end

to CarStop
   Lock 3
   if :speed> 1 then wave "brake make "speed 1
   UnLock 3
   showtitle :speed
end

to CarLeft
   lt 2
end

to CarRight
   rt 2
end

to CarHorn
   wave "Horn1
end

to IdleMove
   if :speed> 0 then fd :speed Lock 3 make "speed :speed - 1/10 UnLock 3
   ;make "timer1 :timer1 + :mark1
   ;if :timer1> 10 then SetZ 7 make "mark1 0 - :mark1 
   ;if :timer1< -10 then SetZ 5 make "mark1 0 - :mark1 
end