0,*? 9Oöֽ㊙uwbqNI_’’’ōōō”°ĀVl†3=------->==---------->=------------> ,. lmmmmommmmmmmmmmmmmmmm7}}}}}m_mmmmmmmmm  lmK]]]Lmmmmmn lmmmmmmmmmmmmmmmn \Ln \]]L \L7}}}}}}}8mm_mmmI]]]K^ lmommmmm7}}~   lmm9~     l =}}}}}}}}}}}>  lmommmmmmmmmI]]Lmm;}}.|}}}}:mmmmmK^   lmK]]LmmM]]]]L;~  |}};~  |}M  K^  \LmommmmI]]]]]]]]]]]]]Hn  |mmmmmmn lmmmmmmm ,>M  mK]]]Lmmmmmm_mmmmmmK^    lmo m;}M   mmm;}}:;}}:mmmmmmm;}}}}:9}<mK^  |:m mmm;~ |  mOmn |~ lmmmmmmmm;}~  |~ lmoK^   |<  mm9~ lm;}:mmmmmmmmOmmmm  ,->=. mmmn \Lm;}}}:m7~   lmmmn   l  mmn  lmm7~ |=->=->=->=->=->=->}=.  mmmmmn lmmmmmmm;~ \LG]^   \]Lmmmmmmmmm ,----.,-.,-.,-.,-.,-.,-.,.|}     M^   \]^ K^  \Lmn mn  \]]]Lm;~ mK]]]]]]^ lmm;}}~ mmmmmmmmn  |}}~ mmmmmmmmn     mmmm;}}}~  m;}}~   ;~ \]]^  =~ \LmmK^     \Lmmmmn      \LmmmmmK^   \LmmmmmmmK^ M NM N Ķ 5]#^___’   ‚HŲIMMÓJHKŠJNOOOOOOOOOOOOOOOOOOOOO€ JLNOO  OOOOOOOOOOOOOOOOOOOO @ DGKOOOOOOOOOOOOOOOOOOOOOOOOOO    ƒ€     c€€Ą?wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgw‡v‡v‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡vˆv‡v‡vwxwx‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆ‡ˆ…ˆxxwxww‡…XUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUXXUUX…wwwgw‡UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUˆgw‡vXUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUˆvwˆUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU…wxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDtDtDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…wwgwXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUU…wg‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…wwgwXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDETDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDTDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDUU…wg‡UUDDDDDDDDDDDETDEDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDTTTDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDTTTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…wwgwXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDUU…wg‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDETDEDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDTTTDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDETDEDDDDDDDDDDDDDDTDTDDDDDDDDDDDTTTDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDTTTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…wwgwXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDTTTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDTDETDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUU…wg‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDEEEDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDEEEDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDU…wwgwXUDDDDDDDDDDDDDTTDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDTDETDDDDDDDDDDDDDDDDDDDDDDDDDDAATDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDEEEDDDDDDDDDDDDDDDDDDDDDDDDDDADDEDEDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEDDDDDDDDDDDDDDDDDDDDDDDDDDADDADDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDUU…wg‡UUDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDADADATDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDADADADEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…wwgwXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDADADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDADADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDADADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUU…wg‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDADADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDAADDDDDDDDDEDEDDDDDDDDDADDDDDADDDDDDADDDDDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDTDDDDDDDDDDDDDDDDDDDfADDDDDTDTDDDDDDDDDADDDDDDADDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDETDEDDDDDDDDDDDDDDDDDDDd66ADDDDDDDDDDDDDDDDADDDADDDDDDDDDADDDDDDDADDDADDDDDDDDDDDDDDDDDDDU…wwgwXUDDDDTTTDDDDDDDDDDDDDADDDDDADDDTd66ADDDDDDDDDDDDDDDDADDDADDDDDDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDTTTDDDDDDDDDDDDDDDDDDDDDffADDDDDEDEDDDDDDDDADDDADADDDDDDDDDDADDDDADDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDDDDDDDADDDDDDˆADDDDDTDTDDDDDDDDADDDADADDADDDDDDDDDADADDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDADADDDDDDDqDDDDDDDDDDDDDDDDDADDDAADDDDDDDDDADDADDDDDDDDDDDDDDDDEDEDDUU…wg‡UUDDDDDDDDDDDDDDDDDDDADDDADDDDDqDDDDDDDDDDDDDDDDDADDDAAADDDDADDDDDDDDDADDDDDDDDDDDDDDDTDTDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDADDDDDADDDDADDDDADDDAAADDDDADDDDADDADDDADDDDDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDDDDDDDDDADDDDDADDADDADDDAAADDDAADDDDADDADDDADDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDADDDDDADDDDADDDDDDDADDDDDADDDAADDDDADDADDDDDDDDDDDDDDDDDDEDEDDU…wwgwXUDDDDDDDDDDDDDDDDDDDADDDDDDADADDDDDAADDDDDADDDDDDDDDADDDADDDDDDDADDDDDDDDDDDDDDDDDDTDTDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDAADDDDDDDDADADDDDDDDDDDDDADDDDADDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDDDDDDDADDDDDDDADDDDDDADDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDDADDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDADDDDDDDADDDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDDADDDDDDDDDDDDDDDDDDDDDDDDUU…wg‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDADDDDDDDDDDDDDDADDDDADDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDAADDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDADDDDDDDDDDDADDADDDDDDDDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDDDDDDADDDDDDDDDDDDDADDDDDDDDDDDADDADDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDADDADDDDDDDADDDDDDDDDDDDDADDDDDDDDDDDADDDDDADDDDDDDDDDDDDDDDDDDDU…wwgwXUDDDDDDDDDADADADDADDDDDDDADDDDDDDDDDDDDADDDDDDDDDDDDDDDDDADDADDDDDDDDUUhw‡†UUDDDDDDDDDADDDADADDADADDADDDDDDDDDDDDDDADDDDDDDDDDDDDDDADDADDDDDDDDDUUˆvwXUUDDDDDDDDADDDDDDDAADDADADDADADDADDDDDDDDDDDDDADDADDDDDDDDADDADADADDDDDDDADDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDAADDDDDDDDDDDADDDDDDDDDDADDDDDDDDDDDDDDDDDDDDDDDDADDDDDDDUU…wg‡UUDDDDDDDDDDDDDDDDAADADDDDDADADDDDDAADDDDDADDDDADDDDDADDDDDDDDDDDDDDDDDDDDDADDDDDDDDDDADDDDDDDUUhw‡†UUDDDDDDDDADDDDDDDAAADDDDDADDDDADDDDDADDADDDDDADDDDDDDDDDDDDDDDDDDDDDADDDDDDDADDDDDDDU…‡vwxXUDDDDDDDDDADDDADDADDDDDDDDDDDDADDDDDDDDDDDUUxxw‡UUDDDDDDDDDADDDADDDDDADDDDADDDDADDDDADDDADDDDDADDDDDADDDDDDDDU…wwgwXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDTTDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDETDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDUU…wg‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDEDDDDDDDDDDDDDU…wwgwXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDUU…wg‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDTTDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDETDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…wwgwXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTTTDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDTTTDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDETDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDTTTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUU…wg‡UUDDDDDDDDTTTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDADDDEDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDˆTDETDDDDDDDDDDDDDDDDDDDDDDU…wwgwXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDˆxAEEEDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDhwwAEEEDDDDDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDwwwADDDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDqwwADDDDDDDDDDDDDDDDDDDDDDDDDUU…wg‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDxADDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDU…‡vwxXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDU…wwgwXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDUU…wg‡UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDEDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDU…wwgwXUDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDTDETDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUˆvwXUUDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDEEEDDDEDEDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDUUxxw‡UUDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDTDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDUU…wg‡UUDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUhw‡†UUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU…‡vwxXUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUxxwwXUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU…wwg‡UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUhw‡vˆUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUˆ‡vwxwX…UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……UU……xwxwww‡xXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxXˆxxwwwgwgwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwg‡gwgwgw‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡v‡vwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxž<-- title: Seed TIC -- author: XeonBrix -- desc: Retro demake inspired by Seed In. Built in TIC-80 in under 7 days -- site: https://youtube.com/@XeonBrix -- license: MIT License (change this to your license of choice) -- version: 0.1 -- script: lua -- This is the original game that has been turned into a demake -- https://store.steampowered.com/app/2242240/Seed_in/ -- Note: -- This game was made in about six to seven days, so please don’t give it an unfair rating. -- math min = math.min max = math.max cos = math.cos sin = math.sin sqrt = math.sqrt floor = math.floor rnd = math.random atan2 = math.atan2 abs = math.abs -- table abb = table.insert del = table.remove function next_init() next = {l=10,x=120,y=68,r=0,ok=false,level=true} end function init() pl = { x=23*8, y=132*8, m=0,ids = "ide", vy=0,vx=0, h=8,w=8, move=false, id = 256, hp_move=15, dx = 0,dy = 0 } cam = { x = 0 , y = 0 } text_menu = {"Play Game","Exit"} -- map level level = 1 -- intro GameStat = "Intro" Game = false angle = 0.88 sp = 0.2 max_sp = 2 pixs = {} bg_pixs = {} ROOM_W = 240 ROOM_H = 136 room_x = 0 room_y = 0 cam = { x = 0, y = 123*9, tx = 0, ty = 0 } -- { -- x=?,y=? -- id=304 -- mode = "?" -- id_mode = "ide" -- } en = {}--{x=30,y=30,h=8,w=8,l=15,id=304,m=0,mode="sher",id_mode="ide"}} en_new = { x=30,y=30, h=8,w=8, l=15, id=304, m=0, mode="sher", id_mode="ide" } abb(en,{ x=114*8,y=25*8, h=8,w=8, l=15, id=304, m=0, mode="sher", id_mode="ide" }) abb(en,{ x=92*8,y=18*8, h=8,w=8, l=15, id=304, m=0, mode="sher", id_mode="ide" }) abb(en,{ x=93*8,y=3*8, h=8,w=8, l=15, id=304, m=0, mode="sher", id_mode="ide" }) for i=1,3 do abb(en,{ x=(142+rnd(-2,2))*8,y=(13+rnd(-2,2))*8, h=8,w=8, l=15, id=304, m=0, mode="sher", id_mode="ide" }) end abb(en,{ x=144*8,y=21*8, h=8,w=8, l=15, id=304, m=0, mode="sher", id_mode="ide" }) gr = 0.5 t = 1 end function init_player() pl.x = 3*8 pl.y = 13*8 end function intro() cls(4) rectb(0,0,240,136,1) spr(456,20,30,9,2,0,0,4,4) print("XeonBrix",119,68,1,true,2,false) print("XeonBrix",120,69,1,true,2,false) print("XeonBrix",120,67,1,true,2,false) print("XeonBrix",121,68,1,true,2,false) print("XeonBrix",120,68,4,true,2,false) if t%120 == 0 then GameStat = "Menu" end end function hitbox_aabb(x,y,h,w) return pl.x < x+h and pl.x+pl.h > x and pl.y < y+w and pl.y+pl.w > y end function upd_camera(player) if player.x > (room_x+1)*ROOM_W then room_x = room_x + 1 cam.tx = room_x * ROOM_W end if player.x < room_x*ROOM_W then room_x = room_x - 1 cam.tx = room_x * ROOM_W end if player.y > (room_y+1)*ROOM_H then room_y = room_y + 1 cam.ty = room_y * ROOM_H end if player.y < room_y*ROOM_H then room_y = room_y - 1 cam.ty = room_y * ROOM_H end -- سلاسة بسيطة cam.x = cam.x + (cam.tx - cam.x) * 0.06 cam.y = cam.y + (cam.ty - cam.y) * 0.06 map(0,0,240,136, -(cam.x), -(cam.y)) end function level_up() level = level + 1 if level == 2 then pl.x = 34*8 pl.y = 2*8 end end next_init() init() function cam_sh() local sh = rnd(-1,1) cam.x = cam.x + sh cam.y = cam.y + sh return end function TIC() cls() upd_camera(pl) if t%300 == 0 then new_bg_pixs() end upd_bg_pixs() if GameStat == "Game" or GameStat == "Menu" then upd_GameLoop() if GameStat == "Menu" then upd_menu() end end if GameStat == "Intro" then intro() elseif GameStat == "Game" or GameStat == "Over" or GameStat == "Menu" then draw_GameLoop() if GameStat == "Menu" then draw_menu() if Game then if Next(2) then GameStat = "Game" end end end if GameStat == "Over" then if Next(1) then if Game then GameStat = "Game" else GameStat = "Menu" end end end end draw_bg_pixs() dev_mode() t = t + 1 end function upd_menu() if hitbox_aabb(2*8,126*8,56,16) then Game = true elseif hitbox_aabb(66,1055,32,12) then exit() end end function draw_menu() local y = 120.5*8 -cam.y+sin(t/10)*2 local x = 30+cos(-t/20)*3 spr(352,x,y,9,1,0,0,12,4) spr(412,x-18,y+22,9,1,0,0,2,1) spr(412,x+12*8+1,y+22,9,1,0,0,2,1) draw_btn() -- print("Code",15*8+1-cam.x,134*8-cam.y,10,true,1,true) print("Code",15*8-1-cam.x,134*8-cam.y,10,true,1,true) print("Code",15*8-cam.x,134*8+1-cam.y,10,true,1,true) print("Code",15*8-cam.x,134*8-1-cam.y,10,true,1,true) -- print("Code",15*8-cam.x,134*8-cam.y,11,true,1,true) spr(492,23*8+2-cam.x,133*8+1-cam.y,9,1,0,0,2,2) -- print("Xeon",19*8+3-cam.x,133*8+1-1-cam.y,10) print("Xeon",19*8+3-cam.x,133*8+1+1-cam.y,10) print("Xeon",19*8+3+1-cam.x,133*8+1-cam.y,10) print("Xeon",19*8+3-1-cam.x,133*8+1-cam.y,10) -- print("Xeon",19*8+3-cam.x,133*8+1-cam.y,11) -- print("Brix",20*8+5-cam.x,134*8+1+1-cam.y,15) print("Brix",20*8+5-cam.x,134*8+1-1-cam.y,15) print("Brix",20*8+5+1-cam.x,134*8+1-cam.y,15) print("Brix",20*8+5-1-cam.x,134*8+1-cam.y,15) -- print("Brix",20*8+5-cam.x,134*8+1-cam.y,10) spr(494,17*8-cam.x,133*8+1-cam.y,9,1,0,0,2,2) -- print("Art",25*8+3-cam.x,134*8+1-1-cam.y,15,true,1,true) print("Art",25*8+3-cam.x,134*8+1+1-cam.y,15,true,1,true) print("Art",25*8+3-1-cam.x,134*8+1-cam.y,15,true,1,true) print("Art",25*8+3+1-cam.x,134*8+1-cam.y,15,true,1,true) -- print("Art",25*8+3-cam.x,134*8+1-cam.y,10,true,1,true) for i=1,#text_menu do local m = text_menu[i] print(m,(-30+i*50)+1-cam.x,((122*8)+i*40)-cam.y,1) print(m,(-30+i*50)-1-cam.x,((122*8)+i*40)-cam.y,1) print(m,(-30+i*50)-cam.x,((122*8)+i*40)+1-cam.y,1) print(m,(-30+i*50)-cam.x,((122*8)+i*40)-1-cam.y,1) print(m,(-30+i*50)-cam.x,((122*8)+i*40)-cam.y,4) --uo end end function draw_btn() local x = 22*8 - cam.x local y = 129*8 - cam.y if btn(0) then spr(240,x,y) else spr(224,x,y) end if btn(1) then spr(241,x,y+10) else spr(225,x,y+10) end if btn(2) then spr(242,x-10,y+10) else spr(226,x-10,y+10) end if btn(3) then spr(243,x+10,y+10) else spr(227,x+10,y+10) end -- easd -- -- -- -- if key(23) then spr(208,x+35,y) else spr(192,x+35,y) end if key(19) then spr(209,x+35,y+10) else spr(193,x+35,y+10) end if key(1) then spr(210,x-10+35,y+10) else spr(194,x-10+35,y+10) end if key(4) then spr(211,x+10+35,y+10) else spr(195,x+10+35,y+10) end print("Move",x+10,y,5) -- wsda -- spr() -- spr() -- spr() -- spr() end function Next(level_) level_ = level_ or 1 if next.l > 0 then next.l = next.l - 1 end if next.l < 1 then if next.r < 250 and not next.ok then next.r = next.r + 4 if next.r >= 250 then next.ok = true end end if next.r > 0 and next.ok then next.r = next.r - 3 if next.r < 1 then next_init() return true end end if level_ == 1 then if next.r > 245 and next.r < 248 then init() GameStat = "Over" end elseif level_ == 2 then if next.r > 245 and next.r < 248 then init_player() GameStat = "Over" end end circ(next.x,next.y,next.r,8) end end function upd_GameLoop() upd_player() upd_en() end function draw_GameLoop() draw_player() draw_en() print("By: XeonBrix",32*8-cam.x,27*8-cam.y,8,true,1,true) local y = 21*8 - cam.y+sin(t/10)*2 local x = (40*8)- cam.x+cos(t/20)*3 spr(352,x,y,9,1,0,0,12,4) spr(412,x-18,y+22,9,1,0,0,2,1) spr(412,x+12*8+1,y+22,9,1,0,0,2,1) print("Thank you for playing this game.\nThis is the demake of the game Seed In,\nand I hope you go wishlist it.",156*8-cam.x,20*8-cam.y,6,true,1,true) print("Note:\nThis game was made in about 6 to 7 days,\nso please don't give it an unfair rating.",156*8-cam.x,10*8-cam.y,6,true,1,true) end function collide(x,y,h,w,dir ,flag) local x1,x2,y1,y2=0,0,0,0 if dir=="left" then x1=x x2=x+1 y1=y+2 y2=y+w-2 elseif dir=="right" then x1=x+h-1 x2=x+h-1 y1=y+2 y2=y+w-2 elseif dir=="down" then x1=x+2 x2=x+h-2 y1=y+w-1 y2=y+w-1 elseif dir=="up" then x1=x+2 x2=x+h-2 y1=y y2=y end x1=math.floor(x1/8) y1=math.floor(y1/8) x2=math.floor(x2/8) y2=math.floor(y2/8) return fget(mget(x1,y1),flag) or fget(mget(x1,y2),flag) or fget(mget(x2,y1),flag) or fget(mget(x2,y2),flag) end function upd_en() for i=#en,1,-1 do local e = en[i] local dx = pl.x - e.x local dy = pl.y - e.y local di = sqrt(dx*dx+dy*dy) local newx,newy = e.x + dx/di,e.y + dy/di -- mode if e.mode == "del" then e.l = e.l - 1 if e.l < 1 then del(en,i) end end --collide if dx > 0 then if collide(newx,e.y,e.h,e.w,"right",0) then dx = 0 end elseif dx < 0 then if collide(newx,e.y,e.h,e.w,"left",0) then dx = 0 end end if dy > 0 then if collide(e.x,newy,e.h,e.w,"down",0) then dy = 0 end elseif dy < 0 then if collide(e.x,newy,e.h,e.w,"up",0) then dy = 0 end end --- if dx > 0 then if collide(newx,e.y,e.h,e.w,"right",1) then dx = 0 end elseif dx < 0 then if collide(newx,e.y,e.h,e.w,"left",1) then dx = 0 end end if dy > 0 then if collide(e.x,newy,e.h,e.w,"down",1) then dy = 0 end elseif dy < 0 then if collide(e.x,newy,e.h,e.w,"up",1) then dy = 0 end end -- if dx > 0 then if collide(newx,e.y,e.h,e.w,"right",3) then e.mode = "del" end elseif dx < 0 then if collide(newx,e.y,e.h,e.w,"left",3) then e.mode = "del" end end if dy > 0 then if collide(e.x,newy,e.h,e.w,"down",3) then e.mode = "del" end elseif dy < 0 then if collide(e.x,newy,e.h,e.w,"up",3) then e.mode = "del" end end --move if e.mode ~= "del" then if di < 10 then GameStat = "Over" elseif di < 55 then e.id_mode = "run" e.x = e.x + dx/di e.y = e.y + dy/di if e.x > pl.x then e.m = 1 else e.m = 0 end else e.id_mode = "ide" end end end end function draw_en() for i=#en,1,-1 do local e = en[i] if e.id_mode == "ide" then e.id = e.id + 0.05 if e.id >= 306 then e.id = 304 end elseif e.id_mode == "run" then e.id = e.id + 0.08 if e.id >= 324 then e.id = 320 elseif e.id < 320 then e.id = 320 end end if e.mode ~= "del" then spr(e.id,e.x-cam.x,e.y-cam.y,9,1,e.m) else spr(306,e.x+cos(t/10)*5-cam.x,e.y-cam.y,9,1,e.m) end end end function upd_player() hp_move_player() player_move() collide_player() end function hp_move_player() if GameStat ~= "Menu" then if pl.move then pl.hp_move = pl.hp_move - 0.1 else pl.hp_move = pl.hp_move + 0.1 end end if pl.hp_move < 1 then GameStat = "Over" end pl.hp_move = max(-1,min(pl.hp_move,10)) end function draw_hp_move() local h_hp = pl.hp_move*2 if pl.move or pl.hp_move < 10 then rect(pl.x+4-h_hp/2-cam.x,pl.y-4-cam.y,h_hp,3,4) rectb(pl.x+4-h_hp/2-cam.x,pl.y-4-cam.y,h_hp,3,1) end end function collide_player() local newx,newy = pl.x+pl.vx,pl.y+pl.vy if collide(newx-1,newy+1,pl.h-1,pl.w-1,pl.dir,0) then pl.move = true elseif not collide(newx,newy,pl.h,pl.w,pl.dir,0) then pl.move = false end if collide(newx,newy,pl.h,pl.w,pl.dir,3) then GameStat = "Over" end if pl.vx > 0 then if collide(newx,pl.y,pl.h,pl.w,"right",1) then pl.vx = 0 end elseif pl.vx < 0 then if collide(newx,pl.y,pl.h,pl.w,"left",1) then pl.vx = 0 end end if pl.vy > 0 then if collide(pl.x,newy,pl.h,pl.w,"down",1) then pl.vy = 0 end elseif pl.vy < 0 then if collide(pl.x,newy,pl.h,pl.w,"up",1) then pl.vy = 0 end end -- pl.x = pl.x + pl.vx pl.y = pl.y + pl.vy end function player_move() local move = false local dx,dy = 0,0 -- btn bro if key(23) or btn(0) then pl.vy=pl.vy-sp pl.dir = "up" move = true dy = -1 end if key(19) or btn(1) then pl.vy=pl.vy+sp pl.dir = "down" move = true dy = 1 end if key(1) or btn(2) then pl.vx=pl.vx-sp pl.dir = "left" move = true dx = -1 pl.m = 1 end if key(4) or btn(3) then pl.vx=pl.vx+sp pl.dir = "right" move = true dx = 1 pl.m = 0 end if pl.move then local a = {"A","B"} if t%12 == 0 then cam_sh() sfx(2,a[rnd(#a)].."-"..rnd(1,2),15,0,10) end sp = 0.08 elseif not pl.move then sp = 0.2 end -- max speed pl.vx = max(-max_sp,min(pl.vx,max_sp)) pl.vy = max(-max_sp,min(pl.vy,max_sp)) -- move if move then if not pl.move then if t%15 == 0 then sfx(1,"G-2",5,0,8) end end pl.vx = pl.vx * angle pl.vy = pl.vy * angle pl.ids = "run" else pl.vx = pl.vx * 0.55 pl.vy = pl.vy * 0.55 pl.ids = "ide" end -- move play if abs(pl.vx) < 0.01 then pl.vx = 0 elseif abs(pl.vy) < 0.01 then pl.vy = 0 end -- pl.x end function new_bg_pixs() for i=1,rnd(1,10) do local new = { x=rnd(240), y=rnd(-10,1), c=6, id=464,max_id=468, d = rnd(0,1)*2-1, mode = rnd(1,3) } abb(bg_pixs,new) end end function upd_bg_pixs() for i=#bg_pixs,1,-1 do local p = bg_pixs[i] p.x = p.x +cos(t/30)*rnd(1,3)*p.d p.y = p.y + rnd()/2 + sin(t/30)*p.d if p.y > 138 then del(bg_pixs,i) end end end function draw_bg_pixs() for i=#bg_pixs,1,-1 do local p = bg_pixs[i] p.id = p.id + rnd()/rnd(5,10) if p.id >= p.max_id+1 then p.id = 464 end if p.mode == 1 then spr(p.id,p.x,p.y,9,1) elseif p.mode == 2 then pix(p.x,p.y,p.c) elseif p.mode == 3 then rect(p.x,p.y,2,2,p.c) end end end function draw_player() if GameStat == "Game" or GameStat == "Menu" then player_id() if pl.move then new_pix() elseif not pl.move then elli(pl.x+3-cam.x,pl.y+pl.w-1-cam.y,5,1,5) spr(pl.id,pl.x-cam.x,pl.y-cam.y,9,1,pl.m) end draw_pix() draw_hp_move() elseif GameStat == "Over" then if not pl.move then spr(258,pl.x-cam.x,pl.y-cam.y,9,1,pl.m) end end end function new_pix() local mode_s = nil local dx,dy = 0,0 if pl.dir == "right" then dx = -0.1 else dx = 0.1 end if pl.dir == "up" then dy = 0.1 else dy = -0.1 end for i=1,rnd(2,4) do if rnd() < 0.2 then mode_s = "rect" elseif rnd() <0.5 then mode_s = "pix" elseif rnd() <0.8 then mode_s = "circ" end local color if rnd()<0.2 then color = 7 else color = 8 end local new = { x=pl.x+4+rnd(-2,2),y=pl.y+4+rnd(-1,1), l=rnd(2,5), c=color, r=rnd(1,2), sp_r = 0.12, mode = mode_s, dx=dx,dy=dy } abb(pixs,new) end end function draw_pix() for i=#pixs,1,-1 do local p = pixs[i] p.l = p.l - p.sp_r if p.mode == "pix" then p.x = p.x + p.dx p.x = p.x + p.dy pix(p.x-cam.x,p.y-cam.y,p.c) elseif p.mode == "circ" then p.x = p.x + p.dx/2 p.y = p.y + p.dy/2 circ(p.x-cam.x,p.y-cam.y,p.r,p.c) elseif p.mode == "rect" then p.x = p.x + p.dx p.x = p.x + p.dy rect(p.x-cam.x,p.y-cam.y,p.r,p.r,p.c) end if p.l < 0 then del(pixs,i) end end end function player_id() if pl.ids == "ide" then pl.id = pl.id + rnd()/10 if pl.id >= 258 then pl.id = 256 end elseif pl.ids == "run" then pl.id = pl.id + 0.15 if pl.id >= 276 then pl.id = 272 elseif pl.id < 272 then pl.id = 272 end end end function dev_mode() -- print("X: "..(pl.x).." : ".."Y: "..(pl.y),0,0,11) end