                                                                               ̐        ̙̫̜̜        ̙̪̪                                                                            ̫ʫʫګ                                                                                                                                                                                                                   ̪̪̝ܜ̪͜ݪ̪̙                                                                                                                                                                                                                                                                                                                   3330DDD0DDd0DDV CDV 0Dd  CD  033333DDDDfDDDUFDDUFDDfDDDDDDD33333333DDDDDDDDDDDDDDDDDDDDDDDD33333333DDDDDDDDDDDDDDDDDDDDDDDD33333333DDDDDDDDDDDDDDDDDDDDDDDD333333 DD4 DD4 DD4 DD4 DD4 DD4 33                                                                                                                                                                                                                                                                                                                                                     ̙        ̛̜̩        ̙        ̜̩̜        ̙̪ɪ                                                                                                                                                                                                                                                                                                            ̩̙̪̹̩̩̜̪̜̜̜̹̜̪̚ə                                                                                                                                                                                                                                                                                                0333CDDDCDDDCDDDCDDDCDDDCDDD03333333DDDDDDDDDDDDDDDDDDDDDDDD33333333DDDDDDDDDDDDDDDDDDDDDDDD33333333DDDDDDDDDDDDDDDDDDDDDDDD33333333DDDDDDDDDDDDDDDDDDDDDDDD33333333DDDDDDDDDDDDDDDDDDDDDDDD3333333DDD4DDD4DDD4DDD4DDD4DDD4333                                                                                                                                                                                                                                                                                                              "" 233 33323332333            """"3333333333333333            """"3333333333333333            """"3333333333333333            """"3333333333333333            "" 33# 333333#333#                                                                                                                                                                                                                                                                                                                                233#233"23#"23#"23#"23#"23#"23#""""""""""""""""""!!"!!"!"!"!!"""""""""""""""""!"!!"!"!!"""""""""""""""""!""!""!"!"!"""""""""""""""""!"!""!"!333#233#"33#"33#"33#"33#"33#"33#    ̽̽̽ܽͽ̽̽                                                                                                                                                                                                                                                                            23#"23#"23#"233"233#233323SS 3SS"!!""""""""""""""""3#""U3""U3"""!"""""""""""""""""""""""""""""!"""""""""""""""""""""""""""""!""""""""""""""""""23""35""35"33#"333"33323333333333353335333#3#33""333333333333"""333#35U#35U#                                                                                                                                                                                                                                                                 233  ""                        3#""""""                        """"""""                        """"""""                        ""23""""                        3333""""                        3333""""                        333#"""	>                                                              ? ݎ숈ݎ숈ݎ숈ݎ<333333숈ݎ3DDDDD4̙숈ݎCDDDDDDݩ숈ݎ3DDDDD4̙숈ݎ<333333숈̪ݎ숈̻ݎ숈̻ݎ숈""""""̻ݎ숈""""""""""̻ݎ<333333숈""""""""""̻ݎ3DDDDD4̪숈""""""""""̻ݎCDDDDDDݺ숈""""""""""̻ݎ3DDDDD4̪숈""""""""""̻ݞ<333333왙""""""""""̻ݮ쪚""""""""""̪ݮ̞"""ݮ잪ݮݮ*"""""""""""""""""""	ݮ2333333333#3333333333#*	ݮ*3333333333#33333333333"	ݮ23333333333#33333333333#	ݮ23333333333#33333333333#	ݮ233#"""""""""""""""333#	+""ݮ233""""""""""""""""233#̽	!+""""ݮ23#"""""""""""""""""33#̽	""""""""""ݮ23#"""""""""""""""""33#̽	""""""""""ݮ23#""!!""!"!"33#ܽ	""""""""""ݮ23#""!!"!""!""!"33#ͽ	""""""""""ݮ23#""!"!""!"!""!"33#̽	""""""""""ݮ23#""!!"!"!"!"33#̽	""""""""""ݮ23#""!!""!"!"33#ܻ	""""̪ݮ23#"""""""""""""""""33#ݝ	"!"̻ݮ23#"""""""""""""""""33##̜	""̻ݮ233""""""""""""""""233#3#̜	̻ݮ233#"""""""""""""""333#33"""""	̻̬ݮ23333#"""""""""""23333#3333333#	̻̺ݮ23SSU3"""""""""""35533#333335U#	̻̺ݮ*3SSU3"""""""""""35533#333335U#	̻̺ݮ2333#"""""""""""23333#3333333#	̻̬ݮ*"""""""""""""""""""""""""""	+̻ݮ""""̪ݮ잪!"""""ݮ̞""""""ݞ왙""""""ݎ숈""""""ݎ숈""""""ݎ!"""""숈+""ݎ!"""""숈+""ݎ숈+"+ݎ숈333*"+ݎ숈333DDD"|wݎ3숈83DDDDDD|vݎ<D4숈3CDDDDDDD|wݎ=D4숈3DDDDDDDDD}wݎ<D4숈3DDDDDD3333}vݎ3숈8DDDD333DDDD}wݎ숈CDD33DDDDDDD""ݎ숈3D43DDDDDDDDD""!"̪ݎ숈C3CDDDDDDDDDD""""""̻ݎވ84DDDDDD433333""""""""""̻=3ݎވ3CDD3333CDDDDD""""""""""̻=4ݎ݈CD33DDDDDDDDDD""""""""""̻=3ݎ݈833DDDDDDDDDDDD"+""""̻ݎ݈8CDDDDDDDDDDDDD"+""""̻ݎ݈8DDDDDDDDDDDDDD"+"+"""̻ݎ݈8CDDDDDDDDDDDDD+"+""̻833DDDDDDDDDDDD+"+̻쎈^UfffffffUCD33DDDDDDDDDD̪숈^U%""""bVU3CDD3333CDDDDD̎^U%3333bUU84DDDDDD433333숈^U%3333"RUC3CDDDDDDDDDD̎^U%33""3RU3D43DDDDDDDDD̎^U%33b&3RUCDD33DDDDDDD숈nU%33b%3RU8DDDD333DDDD숈nV%33""3Re3DDDDDD3333""""숈nf%3333"Rf3DDDDDDDDD""""""""""툈nf&3333Ref3CDDDDDDD""""""""""숈nf&33""Rff83DDDDDD""""""""""숈nf&33RUeff333DDD""""""""""숈nf&""RUfff333""""""""""숈nfffVUefff""""""""""숈^ffffUffff""""""""""숈^efffffffV""""""숈^Uf&"""bfU숈^Ue&333bVU3"̬̪^U%"333"RUC2̪ˈ̺^U%33""3RU3"̬ˈ̪^U%33b&3RU̪ˈ^U%33b&3RU̺ˈnU%33b%3RU̺ˈnV%33R%3Re̺ˈnf%33""3Rf̪ˈnf&"333"bf̬ˈnff%333Rff̪ˈnff&"""bff̬nfffUUUfff숈nfffVUefff숈ffffUffff숈&""""bfV3333bfU̙̜̜̜̙̙̙333bVU̙̩̩̩̜̜̩3"bUU̙̩̜̜̩̜̩bVUU̙ܩ̜̜̩ݝ̩UUUȻ̙̙̜̜̩̜̩ͩUUȻ̜̙̩̜̜̩̜͜UȻ̩ə̜̹̩̜̙̙Ȼ̜̜̜̙̎Ȼ̜숈Ȼ̜ݎȻ̜̜̎:333333333333333333333ˈ333333333333333333333333333333333333333333333333̜CDDDDDDDDDDDDDDDDDDDDD8DDDDDDDDDDDDDDDDDDDDDDDDDDD<DDDDDDDDDDDDDDDDDDDDD4CDDfFDDDDDDDDDDDDDDDDD>DDDDDDDDDDDDDDDDDDDDDDDDDDD>DDDDDDDDDDDDDDDDDdfDD4CDdUeDDDDDDDDDDDDDDDDD=DDDDDDDDDDDDDDDDDDDDDDDDDDD=DDDDDDDDDDDDDDDDDVUFD4=DdUeDDDDDDDDDDDDDDDDD=DDDDDDDDDDDDDDDDDDDDDDDDDDD=DDDDDDDDDDDDDDDDDVUFDCDfFDDDDDDDDDDDDDDDDD=DDDDDDDDDDDDDDDDDDDDDDDDDDD=DDDDDDDDDDDDDDDDDdfD4=DDDDDDDDDDDDDDDDDDDD=DDDDDDDDDDDDDDDDDDDDDDDDDDD=DDDDDDDDDDDDDDDDDDDD3333333333333333333333333333333333333333333333333333333333333333333숈nU%333RU숈nV%""3Re숈nf%R%3RfȻ숈nf&R%"bfȻ̪nffUUUffȻ̬ˈnffUUeffȻ̺ˈnffUUfffȻ̬ˈnf&""bff̬ˈ^f&33bff̬ˈ^e&33bfV̬ˈ^U&3"bfU" -- title: city - 2 : year 3021
-- author: potato imaginator
-- desc: Enjoy Animation
-- script: lua

tx=240 -- Train x
ly=45 -- Lift y
ldy=-1 -- Lift dy
lt=0 -- Lift Timer
lf=true -- Lift Flag

col1=12
col2=13
col3=14
tx2=-15 -- truck x
col_map1=
{0,1,2,3,6,[10]=9,[11]=10,[12]=13,
 [13]=14}

v1=7 -- Train y offset Variable
t1=0 -- Time 1
st1=1 -- state 1
v21=20 -- YEAR
v22=90 -- 3021
v31,v32=1,0 -- Lift Light Variables
t2=0 -- Timer 2
t3=0 -- 'OK' Text Timer

st2=1 -- Balloon state
bx=0 -- Balloon x - position 

a2=
{'P','O','T','A','T','O',' ',
 'I','M','A','G','I','N','A','T','O',
 'R'}

v4=0 --'Potato Imaginator' Text y-pos

cls()

print('Y',0,0,12,false,2)
print('E',0,16,12,false,2)
print('A',0,32,12,false,2)
print('R',0,48,12,false,2)

a11={} -- YEAR data array
for i=0,11 do
 a11[i]={}
 for j=0,59 do
  a11[i][j]=pix(i,j)
 end
end

cls()

print('3',0,0,12,false,2)
print('0',0,16,12,false,2)
print('2',0,32,12,false,2)
print('1',0,48,12,false,2)

a12={} -- 3021 data array
for i=0,11 do
 a12[i]={}
 for j=0,59 do
  a12[i][j]=pix(i,j)
 end
end

function draw_train()
 spr(6,40+tx,92+v1,0,1,0,0,1,2)
 spr(6,119-21+tx,92+v1,0,1,0,0,1,2)
 spr(0,-1+tx,92+v1,0,1,0,0,6,3)
 spr(48,70-23+tx,92+v1,0,1,0,0,7,3)
 spr(0,128-25+tx,92+v1,0,1,1,0,6,3)
end

function upd_lift()
 ly=ly+ldy
 
 if ly<-20 then
  ly=-20
  ldy=0
  lf=true
  lt=0
 elseif ly>45 then
  ly=45
  ldy=0
  lf=true
  lt=0
 end
 
 if ldy<0 then
  v31=1
  v32=0
 elseif ldy>0 then
  v31=0
  v32=1
 elseif ldy==0 then
  v31=0
  v32=0
 end
 
 if lf then
  lt=lt+1
 end
 
 if lt>=90 then
  lt=0
  lf=false
 end
 
 if lf==false then
  lf=true
  if ly==-20 then
   ldy=1
  elseif ly==45 then
   ldy=-1
  end
 end
end

function draw_building1()
 rect(0,0,40+10,136,col2)
 rect(0,0,20+10,136,col1)
 circ(20+10,64,5,col2)
 rect(15+10,-2,5,64,col2)
 rect(0,80,50+10,136,col1)
 circ(50-11+10,80,10,col1)
 rect(0,70,40+10,11,col1)
 line(25,0,25,66,col3)
 line(26,67,26+3,67+3,col3)
 line(29,70,52,70,col3)
 line(53,71,54,71,col3)
 line(55,72,58,75,col3)
 pix(58,76,col3)
 line(59,77,59,136,col3)
 rect(37,0,3,58,col3)
 circ(38,60+2,4,col3)
 circ(38,60+2,2,col2)
 elli(38,ly,7,9,col1)
 ellib(38,ly,7,9,col3)
 line(38-5,ly-5,38-3,ly+2-5,col2)
 line(38+5,ly-5,38+3,ly+2-5,col2)
 rect(38-4,ly-2,9,5,11)
 pix(38-4,ly-2,col1)
 pix(38-4,ly+2,col1)
 pix(38-4+8,ly-2,col1)
 pix(38-4+8,ly+2,col1)
 line(38-4,ly-1,38-4,ly+1,10)
 line(38+4,ly-1,38+4,ly+1,10)
 line(38-3,ly-2,38+3,ly-2,10)
 line(38-3,ly+2,38+3,ly+2,10)
 for i=0,2 do
  rect(0,8+27*i,9,11,10)
  circ(9,4+9+27*i,5,10)
 end
 for i=0,2 do
  rect(0,9+27*i,9,9,11)
  circ(9,4+9+27*i,4,11)
 end
 line(40,80,58,80,col2)
 line(40,80,40-10,80+10,col2)
 line(0,90,30,90,col2)
 rect(10,89,3,3,2+t1%2)
 pix(11,90,3+t1%2)
 rect(20,89,3,3,3-(t1//1)%2)
 pix(21,90,4-(t1//1)%2)
 
 rect(45,89,15,11,10)
 circ(45,94,5,10)
 rect(45,90,15,9,11)
 circ(45,94,4,11)
 line(59,90,59,98,12)
 
 for i=1,2 do
	 rect(45-15,89+20*i,15+15,11,10)
	 circ(45-15,94+20*i,5,10)
	 rect(45-15,90+20*i,15+15,9,11)
	 circ(45-15,94+20*i,4,11)
	 line(59,90+20*i,59,98+20*i,12) 
 end
 
 circ(12,113,5,9)
 rect(8-1,113,11,136,9)
 circ(12,113,4,10)
 rect(8,113,9,136,10)
 
 rect(45,58,3,3,7-v31)
 pix(46,59,6-v31)
 rect(45,64,3,3,2+v32)
 pix(46,65,3+v32)
 line(50,0,50,70,14)
end

function draw_building2()
 rect(240-40,0,240,136,13)
 rect(220,88,16,136,12)
 rect(200,97,30,136,12)
 circ(220,88,8,13)
 circ(200,97+8,8,12)
 rect(192,97+8,16,136,12)
 rect(240-40,7,21,82,14)
 clip(200,8,20,80)
 rect(240-40,8,40-20,80,1)
 for i=5,-2,-1 do
  circ(210,48,8*(i+t2),1+i%2)
 end
 if st1==1 then
  for i=0,11 do
   for j=0,59 do
    if a11[i][j]==12 then
     pix
     (i+205+v21,j+18,
      9+pix(i+205+v21,j+18))
    end
   end
  end
 elseif st1==2 then
  for i=0,11 do
   for j=0,59 do
    if a12[i][j]==12 then
     pix
     (205+i,j+18+v22,
      9+pix(205+i,j+18+v22))
    end
   end
  end
 end
 clip()
 rect(229,0,240,136,12)
 line(228,0,228,90,14)
 line(227,91,227,92,14)
 line(226,93,225,94,14)
 line(223,95,224,95,14)
 line(222,96,198,96,14)
 line(197,97,196,97,14)
 line(195,98,193,100,14)
 line(192,101,192,102,14)
 line(191,103,191,136,14)
 
 for i=0,1 do
  rect(191,106+20*i,24+12*i,9,10)
  circ
  (191+24+12*i,110+20*i,4,10)
 end
 
 for i=0,1 do
  rect(191,107+20*i,24+12*i,7,11)
  circ
  (191+24+12*i,110+20*i,3,11)
  line(191,107+20*i,191,113+20*i,12)
 end
 
 line(234,30,234,55,13)
 line(234,30,240,24,13)
 line(234,40,229,40,13)
 rect(233,54,3,3,6+(t1//1)%2)
 pix(234,55,5+(t1//1)%2)
end

function upd_text1()
 if st1==1 then
  v21=v21-1/2
  if v21<=-20 then
   v21=-20
   v22=90
   st1=2
  end
 elseif st1==2 then
  v22=v22-1/2
  if v22<=-68 then
   v21=20
   v22=-68
   st1=1
  end
 end
 
 t2=t2+1/20
 if t2>=2 then
  t2=0
 end
end

function draw_vehicle()
 rect(0,16,240,32,10)
 rect(120,16,40,32,9)
 rectb(0,16,240,32,9)
 spr(96,tx2,18,0,1,0,0,8,4)
 for i=0,240,24 do
  for j=0,29 do
   pix
   (i-5,17+j,col_map1[pix(i-8,17+j)])
  end
 end
end

function draw_building31()
 rect(120,0,40,136,12)
end

function draw_building32()
 circ(124,16,4,12)
 circ(124,48,4,12)
 circ(155,16,4,12)
 circ(155,48,4,12)
 rect(124,16,30,5,12)
 rect(124,48-4,30,5,12)
 rect(90,90,40,136,12)
 circ(90,100,10,12)
 rect(80,100,20,136,12)
 tri(120,90,120-7,90,120,90-7,12)
 pix(120-7,89,12)
 pix(119,90-7,12)
 line(120,0,120,17,14)
 line(121,18,121,19,14)
 pix(122,19,14)
 line(123,20,156,20,14)
 line(157,19,158,19,14)
 pix(158,18,14)
 line(159,0,159,17,14)
 line(123,44,156,44,14)
 line(121,45,122,45,14)
 line(157,45,158,45,14)
 pix(121,46,14)
 pix(158,46,14)
 line(159,47,159,136,14)
 line(120,47,120,82,14)
 pix(119,83,14)
 line(119,84,119-5,84+5,14)
 pix(119-6,89,14)
 line(112,90,112-25,90,14)
 pix(112-26,91,14)
 line(112-27,91,112-27-4,91+4,14)
 pix(112-31,96,14)
 line(80,97,80,136,14)
 
 line(128,5,148,5,13)
 line(128,14,148,14,13)
 
 for j=0,1 do
	 for i=0,10 do
	  circ(128+i,5+9*j,2,3)
	 end
	 for i=0,10 do
	  circ(128+i,5+9*j,1,4)
	 end
	end
	
 rect(148,4,3,3,10-(t1//1)%2)
 pix(149,5,11-(t1//1)%2)
 
 rect(148,4+9,3,3,9+(t1//1)%2)
 pix(149,5+9,10+(t1//1)%2)
 rect(140,65,20,136,13)
 rect(135,70,10,136,13)
 circ(140,70,5,13)
 rect(140,70,20,136,6)
 clip(140,70,20,136)
 for i=-2,9 do
  for j=0,7 do
	  line
	  (140,70+8*(i+t2)+j,
	   140+10,70+10+8*(i+t2)+j,
	   5+i%2)
			line
			(141+10,70+10+8*(i+t2)+j,
			 159,72+8*(i+t2)+j,
				5+i%2)
			end
 end
 for i=1,#a2 do
  for j=-1,1 do
   for k=-1,1 do
		  print
		  (a2[i],146+j,136+15*i+v4+k,
				 2,false,2)
			end
		end
 end
 for i=1,#a2 do
  print
  (a2[i],146,136+15*i+v4,3,false,2)
 end
 clip()
 line(140,70,140+19,70,14)
 line(140,70,140,136,14)
 line(135,70-2,135,136,14)
 line(135,68,135+3,68-3,14)
 line(138,65,138+21,65,14)
 line(159,65,159-2,65,13)
 line(159,65-2,159,65,13)
 pix(158,64,14)
 pix(157,64,14)
 pix(158,63,14)
 line(121,57,145,57,13)
 line(145,57,145+7,57+7,13)
 line(127,57,127,90,13)
 line(127,90,127+7,90+7,13)
 rect(126,89,3,3,10)
 pix(127,90,11)
 rect(125,55,5,5,3)
 rect(126,56,3,3,4)
 for i=0,1 do
  for j=0,1 do
		 pix(125+4*i,55+4*j,12)
		end
	end
	line(145,57,145,50,13)
	for i=0,10 do
	 circ(143+i,50,1,1)
	 circ(143+i,51,1,1)
	end
 rect(143,50,11,2,2)
 rect(80,99,20,13,10)
 tri(100,99+7,100,99,107,99+7,10)
 rect(100,99+7,8,6,10)
 line(80,99,80,111,11)
 line(80,99,100,99,9)
 line(100,99,100+7,99+7,9)
 line(107,106,107,106+5,9)
 line(80,111,107,111,9)
 rect(80,126,40,9,9)
 circ(119,130,4,9)
 rect(80,127,40,7,10)
 circ(119,130,3,10)
 
 line(127-2,90+2,127-11,90+11,13)
 line(116,101,116,108,13)
 rect(115,108,3,3,6)
 pix(116,109,5)
 
 if (t3//1)%2==0 then
  for i=0,34,2 do
   clip(0,64+i,240,1)
   print('OK',80,64,11,false,3)
   clip()
  end
 else
  for i=-11,34,2 do
   clip(0,64+i,240,1)
   print('OK',80,64,10,false,3)
   clip()
  end
 end
 rect(118,62,2,19,13)
 line(80,127,80,133,11)
end

function upd_text2()
 v4=v4-1/2
 if v4<=-340 then
  v4=0
 end
end

function draw_balloon1()
 spr(8,bx-7,83,0,1,1,0,2,2)
 elli(bx,68,30,15,3)
 ellib(bx,68,30,15,2)
 for i=0,2 do
  ellib(bx,68,30,15*i/3,2)
 end
end

function draw_balloon2()
 spr(8,bx-7,83,0,1,0,0,2,2)
 elli(bx,68,30,15,4)
 ellib(bx,68,30,15,3)
 for i=0,2 do
  ellib(bx,68,30,15*i/3,3)
 end
end

function upd_balloon()
 if st2==1 then
  bx=bx+1/3
  if bx>240 then
   st2=2
  end
 elseif st2==2 then
  bx=bx-1/3
  if bx<0 then
   st2=1
  end
 end
end

function TIC()
 cls(8)
 
 upd_balloon()
 
 upd_text2()
 
 if st2==1 then
  draw_balloon1()
 end
 
 draw_building31()

 draw_vehicle()
 
 draw_building32()
 
 if st2==2 then
  draw_balloon2()
 end
 
 upd_lift()
 
 draw_building1()
 
 upd_text1()
 
 draw_building2()
 
 for i=1,9,5 do
  rect(21*(i-1)+45+24,110+v1,4,30,14)
 end
 rect(0,110+v1,240,6,13)
 rect(0,116+v1,240,2,14)
 for i=0,9 do
  rectb(24*i,110+v1,24,6,14)
 end
 
 draw_train() 

 tx=tx-2
 if tx<-480 then
  tx=240
 end
 
 tx2=tx2+1
 if tx2>360 then
  tx2=-15
 end
 
 t1=t1+1/30
 t3=t3+1/20
end
