UUUUUUUUUUUUUUWUUuuUUUUUUUUUUUUUUUUUUUuUUUWWUUUUUUUUUVUUeeUUUUUUUUUUUURUU%$UUuRUUWUUUWUUUUUUUUUU ``3f033030UUUUU5SUU533U5#"U5SUU5SUU5cfUeVUUUUUU5SU33SU"2SUU5SUU5SUf6SUUeVUwwwwwwwwwGtwwDDwGtGtGwwtwwwwwwwwwwwwwGtwwDDwGtGtGwwtwwwwwwwwwwwwwGtwwDDwGtGtGwwtwwwwwwwwwwwwwwwwwDDwGtGtGwwtwwwwwwwwwwwwwwwwwGtwGtGtGwwtwwwwwwwwwwwwwwwwwGtwwDDwGwwtwwwwwwwwwwwwwwwwwGtwwDDwGtGtwwwwwwwwwwwwwwwwwGtwwDDwGtGtGwwtwwwwwwwwwwwwwGtwwDDwGtGtGwwtwwwwUUUUUUUUUUUUZUUWUUUuUUUuUUUUUUUUUU5SUU533U5#"U5SUU5SUU5cfU5SUUUUUU5SU3333"2#"U5SUU5SUf6cfUeVUUUUUU5SU33SU"2SUU5SUU5SUf6SUU5SUU]UUUU]]fmf3#3#3#3#3#3#3#3#3#3#3#3#UUUUU5SUU5SUU5SUU5SUU5SUU5SUU5SUU5SUU5SUU5SUU5SUU5SUU5SUU5SUUeVUwwwwwwwwGwwtGtGtwDDwwGtwwwwwwwwwwwwwwwwwwwwwGwwtGtGtwDDwwGtwwwwwwwwwwwwwwwwwwwwwGwwtGtGtwDDwwGtwwGtwwwwwwwwwwwwwwwwwGwwtGtGtwDDwwDDwwGtwwwwwwwwwwwwwwwwwGwwtGtGtGtGtwDDwwGtwwwwwwwwwwwwwwwwwGwwtGwwtGtGtwDDwwGtwwwwwwwwwwwwwwwwwwwwwGwwtGtGtwDDwwGtwwwwwwwwwwwwwU5SUU5SUU5SUU5SUU5SUU5SUU5SUU5SUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5SUU5SUU5SUU5SUU5SUU5SUU5SUU5SUffff33333333""""&""b33333333233#)""933933:33:332:332:332*""2:332:332:33233233233"""233233933wwwwwwDwwGtwwDwwwDwwwGtwwwDwwwwwwwwwwGtwwDwwGtwwGtwwwDwwwGtwwwwwwwwwwDwwGtwwDwwwDwwwGtwwwDwwwwwwwwwwGtwwDwwwtwwGtwwGDwwwGtwwwwwwwwwwDwwwtwwGwwwDwwwDtwwGDwwwwwwwwwwwtwwGwwwDwwGtwwGtwwwDtwwGwwwwwwwwwwwDwwGtwwDwwwDwwwGtwwwDwwwwwwwwwwGtwwDwwGtwwGtwwwDwwwGtwwwwUUUUUUUUUwvUuwwVuvwWUwwUUUUUUUUUU5SUU5SUU533U5#"U5SUU5SUU5cfUeVUUUUUU5SU3333"2#"U5SUU5SUf6cfUeVUU5SUU5SU33SU"2SUU5SUU5SUf6SUUeVU*"":33:33:33*"":33:33:33*"":33#:33#:33#*""":33#:33#*""3#33#33#33#33#33#3wwwwwDwwwGtwwwDwwwDwwGtwwDwwwwwwwwwwwGtwwwDwwwGtwwGtwwDwwGtwwwwwwwwwwwDwwwGtwwwDwwwDwwGtwwDwwwwwwwwwwwGtwwwDtwwGtwwGwwwDwwGtwwwwwwwwwwwDtwwGDwwwDwwwtwwGwwwDwwwwwwwwtwwGDwwwGtwwGtwwDwwwtwwGwwwwwwwwDwwwGtwwwDwwwDwwGtwwDwwwwwwwwwwwGtwwwDwwwGtwwGtwwDwwGtwwwwwwUUUUUUUUU33U5""S%""RUUUUUUUUUU5UUS2UU#2UU#2UU#2UU#2UU#2UU#2UU#%"""3333UUUUUUUUUUUUUUUU3333%"""""""3333UUUUUUUUUUUUUUUU3333"""""""R3333UUUUUUUUUUUUUUUU3333"""R2UU#SUU5UUUUUUUUUUUUUUUUSUU52UU#UUUUUUUUU",U%""\%,"RU""UU]UU\U2UU#2UU#2UU#2UU#2UU#2UU#2UU#2UU#%"""23332UUU2UUU2UUU2UUU2UU52UU#"""R333#UUU#UUU#UUU#UUU#SUU#2UU#""""3333UUUUUUUUUUUUUUUUSUU52UU#2UU#SUU#UUU#UUU#UUU#UUU#SUU#2UU#UUUUUUUUUUUUUUUU%",R"""""RU]UUUUUU",U%""\%,"RU""UU]UU\UU\UUUUUUUUUUU\YUUU]UU\U2UU#2UU#2UU#2UU#2UU#2UU#2UU#5UUS2UU#2UU52UUU2UUU2UUU2UUU2333%"""2UU#SUU#UUU#UUU#UUU#UUU#333#"""R2UU#2UU52UUU2UUU2UUU2UUU2UU52UU#2UU#SUU5UUUUUUUUUUUUUUUU3333""""UUUUUUUUUUUUUUUUYřYU]UUU\YUUU]UU\UU\UU\UUUUUUUUUU33U5""S%""RUUUUUUUUUUUUUUUUUU5S%RUUUUUUUUUU        }444444!#444!#444!#!$$$$$$$#!#!444#!"""""#!#!8(#3A4444444#!#!`444#!""""""#!#!(8#!Q4444444#!$$$#444#!P$$#!"""""""#!"#!#!(#!Q4444444#!444#$$$$$$$$%$$$$$%$$444#!44#!""""#!"#!8#!8#!BCCCE8888#!444#44444444544444544444#!PPP#!""""""""#!"#!#!(88#!Q3!p(#44444444544444544444#!#!""""""#122222222223!#!(#!Q#!p#p#!#!""""#!#!88(#1Q#!p#!pp"#12222222222222231222222223!(((((((#122222223!a#12222223!p#1222222223!#122222222222222223!#1222232222222222222!#!`88`p#!8$$$$#!#!4444#!P#!p#!00#!4444#!#!p#!0001222!`4444#!P``((#!0`#!"00"""#!`4444#!#!p#!0"002223!p4444#!88PP`P#!BCCDp#!00!!000A4444#!#12222222222223!00!!PpQ4444#!pP#122223!$$Q#!#!44BCCeCCCD#12222222222222312222222222223 0000  0@ =========>????????????????????s 0@0@P`pp| 0@P|p@ 0p0q ====?=p=p=p=p>p????????????????????  0000000000  {77;???????????????????????????s@ppppppppppppppppqq q q q qqqqqq q q q qq rqq q q qqqqqq q r q qrq q q q q q q q qq q q q q q q r q q q q q q q q q q q q q q q q q qpppppppppppppppppppQQQQQQQQQQQ Q Q QQQRQ Q Q Q Q QQ Q QQQ Q Q QQQQQQQQ QQQQQQ1pppppppppppppppp1Ar        ?UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUURUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU%$UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuRUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeeUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU\\\UUU\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUlflffffflfff\UfflUlUlffflflfffUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUfffffl\UlllllUlUlllfffUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUffffflUUllllUlUlflfffUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUfffffffflUUlllllllllffffUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUlfffflflUUfflfflfflfffflffUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU\UU\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUURUUUUUUUUUUUUUUUUUUUUUUUUUUUuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU%$UUUUUUUUUUUUUUUUUUUUUUUUUUUWWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuRUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeeUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUU\UUUUUU\UU\UUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeVUUUUUUUwwww\UwwUUUUUUUUfUUUUUUUUUUUUUUUUUUUUUeeUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUf3UUUUUUU|w|wwww|w|ww\U|ww|w\UUUUUU5cVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU3SUUUUUUww|w||w\U|w|w|ww|w\UUUUUU3SUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU53UUUUUU|ww|w|w\U|||w||||w\UUUUU53UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU3SUUUUU|w|www|U|w\Uwwww|||wUUUUUU3SUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5SUUUUUUUU\UUUUUUU3UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU\UUUUU\UUUUUUUUU\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUwwww|\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU||www|ww|w||ww|ww|www|wUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU||||ww|||||ww|wwwUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU||||ww||||ww|wwwUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUww|||w|w|Uwww|w||wwwwUUUUUUUUUUUUUUUUuuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU\\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuUUU\UUU\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWWU|w|w\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUwwwwww|www\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUww|w|||||w\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUww|w|||||w\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeeUUU|wwwwww|||w\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUw\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU\UUUUUUU\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU|w\\|ww\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUwww|w|w|wwww\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUwww||ww|w\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUwww|ww|w\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU|ww\|w|ww|w|w\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuUUUUUUUUUUUUUUUUUUUUUUUUUUU\U\\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeeUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuUUUUUUUUUUUUUUURUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWWUUUUUUUUUUUUU%$UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuRUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeeUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUURUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU%$UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuRUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU\UUUUUUUUUUUUUUUUUUUUUUU\UUUUUUUUUUUU\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUw||\UwUU|w\U|\U|wUU|UwUU|wUU|www\UUUUUUUUUUUUUUUUUUUUUUUUUww|w|w|wU|w\Uw||\U|ww|||www\Uww|w\U|U||ww|||\U||ww|ww\U|||\UUUUUUUUUUUUUUUUUUUUUUUUUww||w|Uw||\U|w\U|||||||||w\U|ww||||\U|U|||w|||ww\U|||w|||w\U|ww\UUUUUUUUUUUUUUUUUUUUUUUUU||wUw||\U|ww||\U||||||||w\Uw|||\U||||w|||||\U|||w||w\Uw||\UUUUUUUUUUUUUUUUUUUUUUUUU|w|w|w\Uw||\Uw\U||ww|U|w\Uw\w|UUU|wwwwww|||\U|www|UwUU|ww\UUUUUUUUUUUUUUUUUUUUUUUUU\U\UUUUUUU\UUU\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU(-- title: Carrot Collector -- author: Altrix Studios -- desc: Collect the carrots within a limited number of moves! -- script: lua -- saveid: carrot_collector_ld58 states={ intro=1, menu=2, playing=3 } levels={ {x=0,y=0,par=13}, {x=30,y=0,par=13}, {x=60,y=0,par=12}, {x=120,y=0,par=26}, {x=90,y=0,par=11}, {x=150,y=0,par=19}, {x=210,y=0,par=16}, {x=180,y=0,par=36}, {x=0,y=17,par=4}, {x=30,y=17,par=23}, {x=60,y=17,par=27}, {x=90,y=17,par=35} } function BOOT() --disable cursor poke(0x7FC3F,1,1) sfx(15) ic=0 state=states.intro options={} for i=1,3 do table.insert(options,pmem(i)) end end function TIC() if state==states.playing then gameCtrl() gameDraw() shiftCheck() conveyorTimer=conveyorTimer+1 elseif state==states.menu then menuCtrl() menuDraw() elseif state==states.intro then logo() end end function gameCtrl() if rabbit.timer==nil then if btnp(0) then tryMove(0) elseif btnp(1) then tryMove(1) elseif btnp(2) then rabbit.dir=1 tryMove(2) elseif btnp(3) then rabbit.dir=0 tryMove(3) end end if btnp(4) then if gameClear then goToMenu() elseif levelClear then setLevel(curLevel+1) end end if btnp(5) and not levelClear then setLevel(curLevel) end end function gameDraw() cls(5) map(offset.x,offset.y,30,17,0,0,0,1,remap) local rabbitSprite=4 if rabbit.stuck~=nil and rabbit.stuck then rabbitSprite=113 end spr(rabbitSprite,offsetX(rabbit),offsetY(rabbit), 0,1,rabbit.dir) for k,v in pairs(carrots) do if not v.col then spr(5,offsetX(v),offsetY(v),0) end end rect(0,0,47,8,12) rect(0,0,46,7,7) print("Level "..curLevel,1,1,12) rect(189,0,51,8,12) rect(190,0,50,7,7) print("Moves: "..par,191,1,12) if gameClear then printCenter("THAT'S ALL, FOLKS!",50,12,7) printCenter("Thank you for playing!",58,12,7) printCenter("Z: Back to Menu",70,12,7) elseif levelClear then printCenter("CARROTS COLLECTED",56,12,7) printCenter("Z: Next Level",66,12,7) elseif not alive then printCenter("OUT OF MOVES",56,12,2) printCenter("X: Try Again",66,12,7) end end function tryMove(dir) if levelClear or not alive then return end --check if we can move out of a tunnel/hole local curTile=mget(rabbit.x,rabbit.y) if fget(curTile,5) or (dir==0 and fget(curTile,1)) or (dir==1 and fget(curTile,0)) or (dir==2 and fget(curTile,3)) or (dir==3 and fget(curTile,2)) then playSound(2) return end local target={x=rabbit.x,y=rabbit.y} if dir==0 then --up target.y=target.y-1 elseif dir==1 then --down target.y=target.y+1 elseif dir==2 then --left target.x=target.x-1 elseif dir==3 then --right target.x=target.x+1 end local targetTile=mget(target.x,target.y) if fget(targetTile,dir) then --obstacle playSound(2) else rabbit.last=dir sfx(1) par=par-1 if curTile==48 then playSound(7,2) mset(rabbit.x,rabbit.y,64) end if dir==0 then rabbit.vy=-0.08 rabbit.timer=10 rabbit.next={vy=-0.02,timer=10} elseif dir==1 then rabbit.vy=0.02 rabbit.timer=10 rabbit.next={vy=0.08,timer=10} elseif dir==2 then rabbit.vx=-0.05 rabbit.vy=-0.02 rabbit.timer=10 rabbit.next={vx=-0.05,vy=0.02,timer=10} elseif dir==3 then rabbit.vx=0.05 rabbit.vy=-0.02 rabbit.timer=10 rabbit.next={vx=0.05,vy=0.02,timer=10} end end end function checkCurrentTile(tile) if tile==8 then rabbit.last=0 rabbit.vy=-0.033 rabbit.timer=30 playSound(3) elseif tile==24 then rabbit.last=1 rabbit.vy=0.033 rabbit.timer=30 playSound(3) elseif tile==40 then rabbit.last=2 rabbit.dir=1 rabbit.vx=-0.033 rabbit.timer=30 playSound(3) elseif tile==56 then rabbit.last=3 rabbit.dir=0 rabbit.vx=0.033 rabbit.timer=30 playSound(3) elseif tile==80 then playSound(4) shroomAnim={x=rabbit.x,y=rabbit.y,f=16} if rabbit.last==0 then rabbit.vy=-0.08 rabbit.timer=20 rabbit.next={vy=-0.02,timer=20} elseif rabbit.last==1 then rabbit.vy=0.02 rabbit.timer=20 rabbit.next={vy=0.08,timer=20} elseif rabbit.last==2 then rabbit.vx=-0.05 rabbit.vy=-0.02 rabbit.timer=20 rabbit.next={vx=-0.05,vy=0.02,timer=20} elseif rabbit.last==3 then rabbit.vx=0.05 rabbit.vy=-0.02 rabbit.timer=20 rabbit.next={vx=0.05,vy=0.02,timer=20} end elseif tile==96 then playSound(5) shroomAnim={x=rabbit.x,y=rabbit.y,f=16} if rabbit.last==0 then rabbit.vy=-0.16 rabbit.timer=20 rabbit.next={vy=-0.04,timer=20} elseif rabbit.last==1 then rabbit.vy=0.04 rabbit.timer=20 rabbit.next={vy=0.16,timer=20} elseif rabbit.last==2 then rabbit.vx=-0.1 rabbit.vy=-0.04 rabbit.timer=20 rabbit.next={vx=-0.1,vy=0.04,timer=20} elseif rabbit.last==3 then rabbit.vx=0.1 rabbit.vy=-0.04 rabbit.timer=20 rabbit.next={vx=0.1,vy=0.04,timer=20} end elseif tile==112 or tile==64 then playSound(6) rabbit.stuck=true end for k,v in pairs(carrots) do if v.x==rabbit.x and v.y==rabbit.y and v.col==false then v.col=true playSound(0,2) checkAllCollected() end end end function shiftCheck() if rabbit.timer~=nil then rabbit.timer=rabbit.timer-1 if rabbit.vx~=nil then rabbit.x=rabbit.x+rabbit.vx end if rabbit.vy~=nil then rabbit.y=rabbit.y+rabbit.vy end end if rabbit.timer==0 then if rabbit.next~=nil then rabbit.timer=rabbit.next.timer rabbit.vx=rabbit.next.vx rabbit.vy=rabbit.next.vy rabbit.next=nil else rabbit.x=round(rabbit.x) rabbit.y=round(rabbit.y) rabbit.timer=nil rabbit.vx=nil rabbit.vy=nil checkCurrentTile(mget(rabbit.x,rabbit.y)) if par==0 and not levelClear and rabbit.timer==nil then alive=false end end end end function setLevel(id) local level=levels[id] curLevel=id offset={x=level.x,y=level.y} carrots={} par=level.par alive=true levelClear=false conveyorTimer=0 for x=level.x,level.x+29 do for y=level.y,level.y+16 do local tile=mget(x,y) if tile==4 then rabbit={x=x,y=y} elseif tile==5 then table.insert(carrots,{ x=x,y=y,col=false }) elseif tile==64 then mset(x,y,48) end end end end function checkAllCollected() for k,v in pairs(carrots) do if not v.col then return end end if curLevel==#levels then gameClear=true else levelClear=true end end function menuCtrl() if menuScr==0 then if btnp(0) and menuSel>0 then menuSel=menuSel-1 playSound(1) elseif btnp(1) and menuSel<3 then menuSel=menuSel+1 playSound(1) end if btnp(4) then if menuSel==0 then startGame() else menuScr=menuSel playSound(0) if menuSel==2 then subSel=1 end end end elseif menuScr==1 then if btnp(5) then menuScr=0 playSound(2) end elseif menuScr==2 then if btnp(0) and subSel>1 then subSel=subSel-1 playSound(1) elseif btnp(1) and subSel<#options then subSel=subSel+1 playSound(1) end if btnp(2) or btnp(3) then if options[subSel]==1 then options[subSel]=0 playSound(0) if subSel==1 then playMusic(0) end elseif options[subSel]==0 then options[subSel]=1 playSound(0) if subSel==1 then music() end end end if btnp(5) then menuScr=0 playSound(2) for i=1,3 do pmem(i,options[i]) end end elseif menuScr==3 then if btnp(5) then menuScr=0 playSound(2) end end end function menuDraw() cls(5) map(0,119,30,17,0,0,0) if menuScr==0 then printCenter("CARROT COLLECTOR",32,12,6) printCenter("Start Game",62,12,7) printCenter("Instructions",72,12,7) printCenter("Options",82,12,7) printCenter("Credits",92,12,7) spr(5,72,61+(menuSel*10),0,1,1) spr(5,159,61+(menuSel*10),0) printBorder("Made in 48 hours for Ludum Dare 58",2,129,12,7) elseif menuScr==1 then printCenter("INSTRUCTIONS",32,12,6) printBorder("Collect every carrot in the level to win!",2,57,12,7) printBorder("You only have a limited number of moves.",2,65,12,7) printBorder("Some obstacles can be used to your",2,73,12,7) printBorder("advantage, but others will hinder you.",2,81,12,7) printBorder("Good luck!",2,97,12,7) printBorder("X: Back to Main Menu",2,129,12,7) elseif menuScr==2 then printCenter("OPTIONS",32,12,6) printBorder("Music",90,65,12,7) if options[1]==0 then printBorder("On",135,65,12,7) else printBorder("Off",135,65,12,7) end printBorder("SFX",99,75,12,7) if options[2]==0 then printBorder("On",135,75,12,7) else printBorder("Off",135,75,12,7) end spr(5,125,55+(subSel*10),0,1,1) spr(5,154,55+(subSel*10),0) printBorder("X: Back to Main Menu",2,129,12,7) elseif menuScr==3 then printCenter("CREDITS",32,12,6) printCenter("Code/Art/SFX/Music",65,12,6) printCenter("Genevieve Nurse",73,12,7) printCenter("Game Engine",89,12,6) printCenter("TIC-80 by Nesbox",97,12,7) printBorder("X: Back to Main Menu",2,129,12,7) end end function offsetX(obj) return (obj.x-offset.x)*8 end function offsetY(obj) return (obj.y-offset.y)*8 end function remap(tile,x,y) if shroomAnim~=nil and shroomAnim.x==x and shroomAnim.y==y then if shroomAnim.f==0 then shroomAnim=nil return tile end shroomAnim.f=shroomAnim.f-1 if shroomAnim.f>8 then return tile+6 else return tile+7 end end if tile==4 or tile==5 then return 34 elseif tile==8 or tile==24 or tile==40 or tile==56 then return tile+math.floor((conveyorTimer%48)/6) else return tile end end function printCenter(txt,y,c1,c2) local width=print(txt,0,-9) printBorder(txt,(240-width)/2,y,c1,c2) end function printBorder(txt,x,y,c1,c2) for ex=-1,1 do for ey=-1,1 do print(txt,x+ex,y+ey,c1) end end print(txt,x,y,c2) end function round(i) return math.floor(i+0.5) end function playSound(id,c) c=c or 3 if options[2]==0 then sfx(id,nil,-1,c) end end function playMusic(id) if options[1]==0 then music(id) end end function goToMenu() state=states.menu menuScr=0 menuSel=0 end function startGame() state=states.playing gameClear=false setLevel(1) end function logo() cls(0) ic=ic+1 local l=0 if (ic>=10 and ic<20) or (ic>=220 and ic<230) then l=204 elseif (ic>=20 and ic<30) or (ic>=210 and ic<220) then l=200 elseif (ic>=30 and ic<40) or (ic>=200 and ic<210) then l=196 elseif ic>=40 and ic<200 then l=192 end if ic==270 then playMusic(0) goToMenu() end if l>0 then spr(l,104,50,0,1,0,0,4,4) end end