0,]']ą>Sī}W˙Íu§đp8ˇd(…uĨęPî,}ō˙ÎÎ˙˙˙”°ÂVl†333ãž33ëī.âūī.îūÎ3Ėė>3Ėė233#233#>3ĖėÎ3Ėėī.îūĐŨĐÍÜŨĐĖĖÜĖĖĖĖÍĖĖĖŨĖĖĖĐĖĖÜŨŨŨŨŨ ĖĖÜĖĖĖ ĖĖĖÜĖĖĖÜĖĖĖÜĖÜÜ ŨŨ ĐŨĐĐÍÜÍĐĖĖĖĖĖĖĖÍĖĖĖŨĖÜĖĐÜÍĖŨŨŨŨŨŨĖŨĖ ĖÜĖÜĖĖĖÜĖĖĖ ĖĖÜĖĖŨŨŨ ĐŨĐŨĖ ÍÜĖÜÍĖĖÜÍĖĖÜÍĖĖÜĐĖÜ Ũ īîâūÎĖ3ėÎĖ3ã233#233#ÎĖ3ãÎĖ3ėīîâūī.âūž33ë>33ã233#ž;ŗëž;ŗëž;ŗëī.âū '0@0@0@0@0@0@0@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@?@?@?@?@?@?@?@wwwwwwwwwwggggWWW '7GGGWgwwwwGG7((((((((((((((((((((((((((((((              S R P PPPPPPPPPS UVX[]^___________000000000000000000000000000000‚đP PPPPPPPPP P P P P PPPPPPPPPPPPPPPPđĀ?ģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÛŨŨŨŨŨģģģģģģģģģģģģģģģģģģģģģģģģÛŨģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÛŨģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģŨĖĖĖÜÍŊģģģģģģģģģģģģģģģģģģģģģģÛÍĖŊģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÛÍĖŊģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÍĖĖĖÍĖŨģģģģģģģģģģģģģģģģģģģģģģÍĖĖÜģģģģģģģģģģģģģģģģģģģģģģģģģģîģģģîģîîģîîģëîģģģģģģģģÍĖĖÜģģģģģģģģģģģģģģģģģģģģģģģÛŨŨŨŨŨģģģģģÛĖĖĖĖĖĖÜģģģģģģģģģģģģîžîģģģëžģëÎĖėîžģîžģģģģģģģëîžëîžëîģîîģëîģîŨŨíîŨŊëŪģëžîëžģģģģģģģÍĖĖÜģģģģģģģģģģģģģģģģģģģģģģÛÍÍĖÍĖĖŊģģģģÍĖĖĖĖĖĖĖģģģģģģģģģģģëžģģģîîëîžëÎĖĖÜîëžģģģģģģģģîžģîžģîģžîģžîëžÛÍĖîėŨėîĖíîģîžžģģģģģģģÍĖĖÜģģģģģģģģģģģģģģģģģģģģģģÍĖĖĖĖĖĖŨģģģģÍĖÍĖĖĖĖŊģģģģģģģģģģģîîžîëîģëžëģÍĖÍîžëîžģģģģģģģģîžîžģîģžîģģîžģîĖĖîîÎîÍĖîģģîģžģģģģģģģÍĖÍÜģģģģģģģģģģģģģģģģģģģģģģÍĖĖĖĖĖĖÜģģģģÛĖŨĖÜÍÜŊģģģģģģģģģģģëžģîģëîëžëëŪĖížģëžëģģģģģģģîîģëîžëîģîģģëîģîĖĖĖėĖîîÎîîžëîģģģģģģģģÛĖŨŊģģģģģģģģģģģģģģģģģģģģģģÍĖĖĖĖĖĖĖģģģģģŨŨŨŊŨŊģģģģģģģģģģģģëžģîëîžëžëëžŨíîîģîžģģģģģģģģģģģģģģģģģģģģģÛĖĖĖĖĖĖĖĖĖÜģģģģģģģģģģģģģŨŊģģģģģģģģģģģģģģģģģģģģģģģÛĖĖĖÍĖĖŊģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÛŨģģģģģģģģģģģģģģģģÛĖÜĖĖĖĖÜËÍÜģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÍĖĖŨÍÜŊģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÛÍĖģģģģģģģģģģģģģģģģģÍÜÍĖŨĖŨËŨŊģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÛŨŨģŨŊģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÍĖĖģģģģģģģģģģģģģģģģģÛŨŨŨÛŨģÛŊģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÍĖĖģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÍĖĖģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÍĖÍģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÛĖŨģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģŨŊģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģ!ļģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģÖbBŌÔ˛ģû˙˙ģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģ`amd"ô˙ß˙ŋģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģāđ˙˙˙˙˙ŨũŋģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģßŨŨŨŨŨŨŨ˙ģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģßŨŨŨŨŨŨũŋģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģģ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™īŨŨŨŨŨíū™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™īîíŪîŪî˙™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™˙˙˙˙˙˙˙Ÿ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™đ˙˙˙˙˙˙™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™˙˙˙˙˙™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ų ˙™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™𙙙™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ų🙙™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ų˙Ÿ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ųĀ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ː™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ÉĖ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ Ā™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™œ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ˆˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DD3DDD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DD3DDD™™™™™™™™™ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™3DDDD3™D™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™3DDDD3™D™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDĒDDD™3™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDĒDDD™3™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDDDDDDD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆˆ™™™™™™™™™™™™™™™™ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDDDDDDD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™3DDD33DD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™3DDD33DD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDDDDD™3™™™™™™™™ˆˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDDDDD™3™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™DDDD3D™D™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDDD3D™D™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™D3DDDD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™D3DDDD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™3“™™™™™™™™™™IDD4CD”™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™“93™™™™™™™™™™IDD4CD”™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™132™™™™™™™™I”9CDDD4“™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™33™™™™™™™™I”9CDDD4“™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‘™™™™™™™™9“IDD¤JD”™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‘™™™™™™™™9“IDD¤JD”™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ˆˆˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™IDDDDDDD”™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™Ė™™Ė™™Ė™™™™™É™™™Éœ™™™™™™™™™™™™™™™™™™™Ė™™™™™™™Éœ™™™™™™™™™™Ė˜™™œĖ™œ™™™™™™™™™™™™™™™IDDDDDDD”™™™™™™™™™™™™™™™™™™™™‰ˆˆ˜™™™™™™ĖĖ™™ˆĖĖ™Ėœ™™œ™ĖĖɘ™ĖœÉ™É™™™ĖĖ™ĖœÉ˜ÉĖĖɘ™ĖœÉœ™É˜™™™™™™™Ė™™É™Ė™œ™™™™™™™™™™™™™™™ID43CDD4“™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™Ė™œĖəĖÉœĖ™É™ÉĖ™ÉœÉɜÉÉÉə™ÉĖ™ÉœÉÉœÉ™Ė™ÉœÉɜÉɜ™Ėœ™™™ĖŒ˜™ÉœŲŨœ™ÉĖ™™™™™™™™™™™™™™™™ID43CDD4“™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™Ė™œĖəĖÉĖ™™œ™™ÉĖɜÉɜÉÉĖĖ™™ÉĖ™ÉœÉÉœÉ™Ė™Éœ™ÉœÉɜ™™Ėœ™™™™™™Ė)™Í™Ė™œ™™™™™™™™™™™™™™™9“IDDDDD”™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™Ė™œĖ™ĖĖ™ĖœÉ™™ÉĖœÉœÉ™ĖœÉœĖ™™™ĖĖ™ĖœÉœÉ™ÉĖɜ™™Ėœ™ĖœĖĖ™™™™™™™ĖĖÜė™Ė™œ™™™™™™™™™™™™™)"9“IDDDDD”™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™)ŌŨ™™™™™™™™™™™™™™™™)™"B”I4CDDD”™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™))"’™™™™™™™™™™™™™™™™i"2B”I4CDDD„ˆˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™)™™™™™™™™™™™™™™™™™i&"’™IDDD4C”™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆˆ™™™™™™™‰ˆ˜™™™™™™™™™™™™™™™™™™™™™™™iif–™IDDD4C”™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ˆˆˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™i™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ī.âū™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ž33ë™ĖəÉ˙˙œÉĖ™™™É˙˙œĖĖ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ˆˆ˜DD3DDD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™>33ã™ĖĖœĖ™œĖ™œĖɜ™™œÉœĖ™œĖ™œ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DD3DDD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™233#™œœœĖ™œÉĖ™Ėœ™™™ĖĖœĖ™œĖ™œ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆ™™™™™™™™™™™™3DDDD3™D‰ˆˆ˜™™™™™™™™™™™™™™™™™™™™™™™ž;ŗë™œœœÉĖ™™œ™ÉĖ™™™™ÉœÉ˙˙œ™™™™™™™™™™™™™™™™™™™ˆˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™3DDDD3™D™™™™™™™™™™™‰ˆ™™™™™™™™™™™™™™ž;ŗë™™™™™™™™™™™™™™™ÉĖ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDĒDDD™3™™™™™™™™™™™™™™™™™™™™™™™™™™™ž;ŗë™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDĒDDD™3™™™™™™™™™™™™™™™™™™™™™™™™™™™ī.âū™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDDDDDDD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDDDDDDD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™3DDD33DD™™™™™™™™™™™™™™™™™™™™™™™™™™™ī.âū™™™™Ė™™™™™™™™Éœ™™™œ™™™Ė™™™Éœ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™3DDD33DD™™™™™™™™™™™™™™™™™™™™™™™™™™™ž;ŗë™É˜ĖĖ™ÉĖ™ÉĖ™Ė˜™É™É˜™ÉĖœÉœÉ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDDDDD™3™™™™™™™™™™™™™™™™™™™™™™™™™™™ž;ŗë™Ėœ‰Ė™œĖ™œĖ™œÉœ™™œ™Ėœ™ĖɜÉɘ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDDDDD™3™™™™™™™™™™™™™™™™™™™™™™™™™™™ž;ŗë™™ĖœĖ™œĖ™œĖ™œÉœ™É™™™ĖœĖɜÉɜə™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDDD3D™D™™™™D4D™™™™™™™™™™™™™™™™™™™™233#™Ė˙˙œÉĖ™ÉĖ™™ĖŒŒˆ™ĖĖ™ĖɜÉɜə™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDDD3D™D™™™”CD4™™™™™™™™™™™™™™™™™™™™>33㈘™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™D3DDDD™™™™™“D¤D™™™™™™™™™™™™™™™™™™™™ž33뙙™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™D3DDDD™™™™™DDDD™™™™™™™™™™™™™™™™™™™™ī.âū™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™D3D4™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™“DDD™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™”4DD™™™™™™™™™™™™™™™™™™™™ī.îū™īîâū™Ė™™™™™É˙˙™™É™™™Éœ™™™Ė™™Éœ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™DDC™™™™™™™™™™™™™™™™™™™™Î3Ėė™ÎĖ3ė™Ė™™Ėœ™Ė™ÉĖĖ™™œÉ˜™™ÉĖ™ĖĖ™Ė˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™>3Ėė™ÎĖ3ã™Ė™ÉœĖÉĖ˙˙™É™ÉœÉɜœÉœĖ™œÉŒˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™233#™233#™ĖˆČĖ™™Ė™™Ė™™œ™Éœ™ÉœĖĖœĖ™œÉœ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™233#™233#™ÉĖ™Ėœ™Ė™™ÉĖə™Éœ™Éœ™ÉœĖ™œ™Ėœ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™>3Ėė™ÎĖ3㙙™™™™™™™™™™™™™™™™™™ÉĖ™™™™™™™™™™™™™™ˆ˜™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™Î3Ėė™ÎĖ3ė™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ī.îū™īîâū™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ˆˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™‰ˆˆ™™™™™™™™™™™+*-- title: fishing game -- author: Archargelod -- desc: fish for hi-score -- site: - -- license: MIT License -- version: 1.2.1 -- script: lua score=0 scorebox={} showcontrols=true w=240 h=450 camy=0 --ship shipx=0 shipy=20 shipspr=5 pile={} pilecol={2,1,6,13,4,0} --gun gundir=0 gunangle=0 gunstate=0 --path path={} --spear spearpos={x=0,y=0} spearvel={x=0,y=0} spearacc={x=0,y=0} spearang={x=0,y=0} spearsprite=9 spearbox={} t=0 timer=0 --fish fish={} fishnum=120 fishbox={} fishdistribution={100,100,100,60,60,20} function fillfishbox() for i,val in ipairs(fishdistribution) do table.insert(fishbox,i) end end fillfishbox() --sfx beept=0 --clouds clouds={} cloudtypes={ {sprite=145,size=2}, {sprite=147,size=2}, {sprite=149,size=1}} cldt=0 for i=0,4 do local rx=math.random(1,100)*i local ry=math.random(0,10) local rt=2 table.insert(clouds,{x=rx,y=ry,t=rt}) end --trash trash={} for i=0,200 do local rx=math.random(w) local ry=math.random(50,h) local rs=math.random(3,6) table.insert(trash,{x=rx,y=ry,size=rs}) end --fishtypes ftype={ {sp=32,spd=0.7,size=1,scr=120}, --1 {sp=48,spd=1.1,size=1,scr=120}, --2 {sp=64,spd=0.9,size=1,scr=120}, --3 {sp=80,spd=1.2,size=1,scr=100}, --4 {sp=96,spd=0.5,size=2,scr=300}, --5 {sp=112,spd=0.3,size=1,scr=1000}} --6 for i=1,fishnum do local px=math.random(0,240) local py=math.random(50,h) local rdir=math.random(0,1) local rtype=fishbox[math.random(1,#fishbox)] --type 6 is at the bottom if rtype==6 then py=math.random(400,h) end --type 4 is at the center if rtype==4 then py=math.random(200,300) end local rspd=ftype[rtype].spd-math.random(1,100)/100 local rsize=ftype[rtype].size table.insert(fish,{sprite=ftype[rtype].sp,pos={x=px,y=py},dir=rdir,spd=rspd,type=rtype,size=rsize}) end function TIC() bg() drawclouds() drawtrash() drawpath() drawgun() drawspear() drawship() drawpile() drawfish() drawscore() ui() dbg() moveclouds() movefish() moveship() movegun() movespear() end function dbg() --showcontrols=false --print(#fish,12,12,0) end function colshift(targetcol,col,shiftr,shiftg,shiftb) local olr=peek(0x3FC0+col*3) local olg=peek(0x3FC0+col*3+1) local olb=peek(0x3FC0+col*3+2) local nr=olr+shiftr; if nr<0 then nr=0 end; if nr>255 then nr=255 end; poke(0x3fc0+targetcol*3, nr) local ng=olg+shiftg; if ng<0 then ng=0 end; if ng>255 then ng=255 end; poke(0x3fc0+targetcol*3+1,ng) local nb=olb+shiftb; if nb<0 then nb=0 end; if nb>255 then nb=255 end; poke(0x3fc0+targetcol*3+2,nb) end function ui() print("score:",4,4,14) print(score,6*6+4,4,14) print("fish:",w-6*8,4,14) print(#pile,w-4*6+3,4,14) if btn(4) then showcontrols=false end if btn(5) then showcontrols=true end if showcontrols then print("hide/show controls - Z/X",2,136-8*4-8,12) spr(176,4,136-8*3-6) print("move gun",6+8,136-8*3-6,12) spr(128,4,136-8*2-4) print("shoot/sink",6+8,136-8*2-4,12) spr(144,4,136-8-2) spr(160,6+8,136-8-2) print("left/right",8+8*2,136-8-2,12) end end function bg() cls(9) rect(0,0-camy,240,30,11) rect(0,h-camy,240,50,0) --make water darker with depth local depthshift=-math.floor(camy/2) colshift(9,10,depthshift,depthshift,depthshift) --make trash lighter with depth colshift(8,9,30,30,30) end function drawclouds() for i,val in ipairs(clouds) do spr(cloudtypes[val.t].sprite,val.x,val.y-camy,0,1,0,2,cloudtypes[val.t].size,1) end end function drawtrash() for i,val in ipairs(trash) do val.x=val.x+math.random()-0.5 for j=1,val.size do pix(val.x+j,val.y-camy,8) end end end function moveclouds() cldt=cldt+1 if #clouds<7 and cldt>50 and math.random(100)%100==0 then cldt=0 local rx=-20 local ry=math.random(0,10) local rt=math.random(1,3) table.insert(clouds,{x=rx,y=ry,t=rt}) end if #clouds>0 then for i=#clouds,1,-1 do clouds[i].x=clouds[i].x+math.random(1,3)/10 if clouds[i].x>w then table.remove(clouds,i) end end end end function drawship() spr(40,shipx,shipy-camy,6,1,0,0,3,2) end function drawpile() local row=0 local col=0 local pilex=shipx+2 local piley=shipy+6 for i,val in ipairs(pile) do col=col+1 if col>10 then col=0 row=row-1 end pix(pilex+col,piley+row-camy,pilecol[val]) end end function moveship() if gunstate==0 and btn(2) then shipx=shipx-1 end if gunstate==0 and btn(3) then shipx=shipx+1 end if gunstate==0 and btn(0) then gunstate=1 end end function movefish() if #fishw then fish[i].dir=1 end if fish[i].pos.x<0 then fish[i].dir=0 end if fish[i].pos.y>h-8 then fish[i].pos.y=h-8 end if fish[i].pos.y<40 then fish[i].pos.y=40 end --type 1 can randomly change swim up/down if fish[i].type<3 then if math.random(1,50)%50==0 then fish[i].pos.y=fish[i].pos.y+2 else if math.random(1,45)%45==0 then fish[i].pos.y=fish[i].pos.y-2 end end end --type 2 can change size if fish[i].type==5 then if math.random(1,300)%300==0 and fish[i].size==2 then fish[i].size=1 end if math.random(1,300)%300==0 and fish[i].size==1 then fish[i].size=2 end end --type 4 can speedup/slowdown if fish[i].type==4 then if math.random(1,50)%50==0 then fish[i].spd=1.4 end if math.random(1,49)%49==0 then fish[i].spd=0.2 end end end end function drawfish() for i=1,#fish do spr(fish[i].sprite,fish[i].pos.x-4,fish[i].pos.y-4-camy,0,fish[i].size,fish[i].dir) end end function drawgun() originx=shipx+5 originy=shipy+12 local width=10 local height=16 x1=0-width/2 y1=0 x2=width/2 y2=0 x3=0-width/2 y3=height x4=width/2 y4=height local angle=gunangle p1=matrix(x1,y1,angle) p2=matrix(x2,y2,angle) p3=matrix(x3,y3,angle) p4=matrix(x4,y4,angle) x1=p1[1]+originx y1=p1[2]+originy-camy x2=p2[1]+originx y2=p2[2]+originy-camy x3=p3[1]+originx y3=p3[2]+originy-camy x4=p4[1]+originx y4=p4[2]+originy-camy local sprite=72 local ux1=(sprite%16)*8+1 local uy1=math.floor(sprite/16)*8 local ux2=ux1+width local uy2=uy1 local ux3=ux1 local uy3=uy1+height local ux4=ux1+width local uy4=uy1+height -- print(ux4,50,50,6) -- circ(ux4,uy4,2,6) -- line(ux1,uy1,ux2,uy2,0) -- line(ux2,uy2,ux3,uy3,0) -- line(ux3,uy3,ux4,uy4,0) -- line(ux4,uy4,ux1,uy1,0) textri(x1,y1,x2,y2,x3,y3,ux1,uy1,ux2,uy2,ux3,uy3) textri(x2,y2,x4,y4,x3,y3,ux2,uy2,ux4,uy4,ux3,uy3) end function movegun() if gunstate==1 then gunangle=(gunangle+0.03) end if gunstate==2 then gunangle=(gunangle-0.03) end if gunstate<3 and gunangle>1.2 then gunstate=2 end if gunstate<3 and gunangle<-1 then gunstate=1 end if gunstate<3 and btnp(1,10,30) then gunstate=3 sfx(17,12*2+2) end if gunstate==3 and beept%20==0 then sfx(18,9,21,2) end if gunstate==4 and beept%20==0 then sfx(18,7,21,2) end beept=beept+1 end function matrix(mx,my,ang) local cos=math.cos(ang) local sin=math.sin(ang) local x=mx*cos-my*sin local y=my*cos+mx*sin return {x,y} end function drawspear() --circ(spearpos.x,spearpos.y,1,6) if gunstate>2 then spr(spearsprite,spearpos.x-4,spearpos.y-camy,0,1,0,0) end if #spearbox>1 then for ind,val in ipairs(spearbox) do spr(ftype[val].sp,spearpos.x,spearpos.y+ind-1-camy,0) end end gholex,gholey=middle(x3,y3,x4,y4) --(x3,y3,1,4) --circ(x4,y4,1,5) --circ(gholex,gholey,1,6) end function drawpath() if gunstate==3 then table.insert(path,spearpos) end local i=0 for ind,val in ipairs(path) do i=i+1 if i%3==0 then pix(val.x,val.y-camy,12) end end end function movespear() if gunstate==3 then t=t+1 else t=0 end --print(#fish,0,0,12) local speedx=0 local speedy=0 local speed=0.005 if btn(2) then speedx=-0.1 speedy=0.01 end if btn(3) then speedx=0.1 speedy=0.01 end if btn(1) then speedy=0.2 end if t>0 and t<15 then --init acceleration spearacc={x=(gholex-originx)*speed,y=(gholey-originy)*speed} else --normal acceleration spearacc={x=speedx,y=0.01+speedy} end --physics spearvel={x=spearacc.x+spearvel.x,y=spearacc.y+spearvel.y} spearpos={x=spearpos.x+spearvel.x,y=spearpos.y+spearvel.y} spearvel={x=spearvel.x*0.95,y=spearvel.y*0.95} --before shot if gunstate<3 then spearpos={x=gholex,y=gholey}; spearvel={x=0,y=0} end --collsion with fish on way down if gunstate==3 then for ind,val in ipairs(fish) do if collision(spearpos.x,spearpos.y,val.pos.x,val.pos.y,val.size,0) then table.insert(spearbox,val.type) spearsprite=val.sprite table.remove(fish,ind) local scr=ftype[val.type].scr score=score+scr addscore(scr) sfx(2,12*5+8) gunstate=4 end end end --when hit fish check for more fish if gunstate==4 then for ind,val in ipairs(fish) do if collision(spearpos.x,spearpos.y,val.pos.x,val.pos.y,val.size,2) then table.insert(spearbox,val.type) table.remove(fish,ind) local scr=ftype[val.type].scr+#spearbox*20 score=score+scr addscore(scr) sfx(2,11*5+math.random(1,9)) end end --backtrace to boat if #path>1 then table.remove(path) spearpos=table.remove(path) else gunstate=0 spearsprite=9 for i=#spearbox,0,-1 do table.insert(pile,table.remove(spearbox,i)) sfx(16,12*5+8,30) end end end --if hit bottom if spearpos.y>h-8 then gunstate=0 path={} camy=0 else if spearpos.y>100 then camy=spearpos.y-100 else camy=0 end end end function middle(x1,y1,x2,y2) local hx,lx=hightolow(x1,x2) local hy,ly=hightolow(y1,y2) local mx=lx+(hx-lx)/2 local my=ly+(hy-ly)/2 return mx,my end function hightolow(a,b) local c=0 local d=0 if a0 then print(scorebox[i].msg,scorebox[i].x+spearpos.x,scorebox[i].y+spearpos.y-camy,col,false,1,true) end scorebox[i].t=scorebox[i].t-1 if scorebox[i].t<0 then table.remove(scorebox,i) end end end function addscore(number) table.insert(scorebox,{t=20,msg=number,x=math.random(-4,4),y=math.random(-4,4)}) end