From 3351490a184b068ff258606d64bd15a7d698d488 Mon Sep 17 00:00:00 2001 From: Bao Zhiyuan <71200607+bzy-debug@users.noreply.github.com> Date: Thu, 21 Nov 2024 10:55:03 +0800 Subject: [PATCH] Revert "Upload the resource code --Roach" --- MoonBit-Code-JAM-2024 | 1 - teams/Roach/Gacha.wasm | Bin 29853 -> 29711 bytes teams/Roach/resource/src/.gitignore | 2 - teams/Roach/resource/src/Gacha.html | 73 --- teams/Roach/resource/src/build.mts | 560 ------------------ teams/Roach/resource/src/coin.png | Bin 146 -> 0 bytes teams/Roach/resource/src/src/anime.mbt | 53 -- teams/Roach/resource/src/src/draw.mbt | 136 ----- teams/Roach/resource/src/src/event.mbt | 79 --- teams/Roach/resource/src/src/game.mbt | 108 ---- teams/Roach/resource/src/src/lib/hello.mbt | 3 - .../Roach/resource/src/src/lib/hello_test.mbt | 5 - .../Roach/resource/src/src/lib/moon.pkg.json | 1 - teams/Roach/resource/src/src/moon.pkg.json | 18 - teams/Roach/resource/src/src/sprite.mbt | 41 -- teams/Roach/resource/src/src/top.mbt | 22 - teams/Roach/resource/src/src/voice.mbt | 24 - teams/Roach/resource/src/w4png/Moon.aseprite | Bin 398 -> 0 bytes teams/Roach/resource/src/w4png/Moon.png | Bin 206 -> 0 bytes teams/Roach/resource/src/w4png/OIP-C.jpg | Bin 17361 -> 0 bytes teams/Roach/resource/src/w4png/Sun.aseprite | Bin 424 -> 0 bytes teams/Roach/resource/src/w4png/Sun.png | Bin 192 -> 0 bytes teams/Roach/resource/src/w4png/hex.png | Bin 714 -> 0 bytes teams/Roach/resource/src/w4png/hexcircle.jpg | Bin 19031 -> 0 bytes 24 files changed, 1126 deletions(-) delete mode 160000 MoonBit-Code-JAM-2024 delete mode 100644 teams/Roach/resource/src/.gitignore delete mode 100644 teams/Roach/resource/src/Gacha.html delete mode 100644 teams/Roach/resource/src/build.mts delete mode 100644 teams/Roach/resource/src/coin.png delete mode 100644 teams/Roach/resource/src/src/anime.mbt delete mode 100644 teams/Roach/resource/src/src/draw.mbt delete mode 100644 teams/Roach/resource/src/src/event.mbt delete mode 100644 teams/Roach/resource/src/src/game.mbt delete mode 100644 teams/Roach/resource/src/src/lib/hello.mbt delete mode 100644 teams/Roach/resource/src/src/lib/hello_test.mbt delete mode 100644 teams/Roach/resource/src/src/lib/moon.pkg.json delete mode 100644 teams/Roach/resource/src/src/moon.pkg.json delete mode 100644 teams/Roach/resource/src/src/sprite.mbt delete mode 100644 teams/Roach/resource/src/src/top.mbt delete mode 100644 teams/Roach/resource/src/src/voice.mbt delete mode 100644 teams/Roach/resource/src/w4png/Moon.aseprite delete mode 100644 teams/Roach/resource/src/w4png/Moon.png delete mode 100644 teams/Roach/resource/src/w4png/OIP-C.jpg delete mode 100644 teams/Roach/resource/src/w4png/Sun.aseprite delete mode 100644 teams/Roach/resource/src/w4png/Sun.png delete mode 100644 teams/Roach/resource/src/w4png/hex.png delete mode 100644 teams/Roach/resource/src/w4png/hexcircle.jpg diff --git a/MoonBit-Code-JAM-2024 b/MoonBit-Code-JAM-2024 deleted file mode 160000 index d5c8425..0000000 --- a/MoonBit-Code-JAM-2024 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d5c8425d13af688ffbd9baa945fefbdb1b87a8b5 diff --git a/teams/Roach/Gacha.wasm b/teams/Roach/Gacha.wasm index 0d052bb5562d30fb3d5c829c52b23ffbfd2ffda4..eaf40c879be7d09330129f2acb418379572d49a7 100644 GIT binary patch delta 469 zcmbRHlCl2<%Jc*jgAB83dXqi&@zzyf8CkkWpY#U^HV;P+;Po#l*;0FVM!Q$POYn z1llH-Sa}GvGAc3(ykt;h5&-IC0qQ(sWykcwY%-5^G2?>C4b~EjHj`&rH;76(Hkb=M zWZ>ptaGU{VurUa9ZoWfbmXWL4%+X3tV&RA5kG^kk_Q=$$;@R*bEOk<}4s(r#N< z^%rIWf-DX|9?%FWRs{yf3+5mJfr*S@-VO+F!e(_lBO%7go1+3E8G+Q6KoB*VFIbWB z&SZmNebH%*QVI+L%0N67&YH5hBv==uY*9!*TR)?cj=-eN=ApNk**h4exLE}{H_JqB zX9oIc^VOIZe#SYIqjHqx=fZW*hO=fdN(sya^JZ+Gle3zUaq(o2JPm_|j8e+H0?I(V z0L0Q@kWgZ9WbgsHeLm29sMI{TqUoC#0w85S_X2qrsP#js-D9#ryIWmZDZGc}W^tdIeEI5JMI!f(p8cR*h9$Ndl&| zeza+Otsk+`XRB^RT-=4?-kpoC(~a(01%H7H?~5ginK|d&Gc(L>tYd2f=YAW@7|#Eh zls9py_YvB+Z(O=~>oTlhjJ=b)*mkqMhM~%_l^`>Nn5c>&0rVFadOkHsF?wn z+!aOu#9i(L5Yr_dK%BdBf1#9E59lX2F%Y$^2C|(yi&HX_KWtB-2Q(?~=0|y$4PYl{ z90TB-IZdXQ(KLEJQHs&DT+1J$`{*HUfX7I8n!5AQ@F)wja$+tH-M!01`CCn<=8-v)nZ{B2ODVlF~6tmAqS4f%__}qDrv*F%O2A*i{u%!gr0tI zU``>gc(8FSg|OEB@|R z-3d!w^irFf9ri*cu6{s#E5DBSA6Uke?~ - - - - - - - WASM-4 Game - - - - - - - - diff --git a/teams/Roach/resource/src/build.mts b/teams/Roach/resource/src/build.mts deleted file mode 100644 index 7eed615..0000000 --- a/teams/Roach/resource/src/build.mts +++ /dev/null @@ -1,560 +0,0 @@ -import fs from 'node:fs' -import querystring from 'node:querystring' -import markdownit from 'markdown-it' -import * as octokit from 'octokit' - -const ghClient = new octokit.Octokit({ - auth: process.env.GITHUB_TOKEN, -}) - -const md = markdownit({ - html: true, - linkify: true, - typographer: true, -}) - -function githubBtn( - authorName: string, - repoName: string, - option: { large: boolean }, -): string { - const { large } = option - return `` -} - -async function getPRInfo(prNumber: number) { - return ( - await ghClient.request('GET /repos/{owner}/{repo}/pulls/{pull_number}', { - owner: 'moonbitlang', - repo: 'MoonBit-Code-JAM-2024', - pull_number: prNumber, - headers: { - 'X-GitHub-Api-Version': '2022-11-28', - }, - }) - ).data -} - -type MetaInfo = { - title?: string - control?: string - readme?: string - cover: boolean - prInfo: Awaited> -} - -const metaInfos = new Map() - -async function getPulls(page: number) { - return await ghClient.request('GET /repos/{owner}/{repo}/pulls', { - state: 'closed', - owner: 'moonbitlang', - repo: 'MoonBit-Code-JAM-2024', - per_page: 100, - page, - headers: { - 'X-GitHub-Api-Version': '2022-11-28', - }, - }) -} - -async function allPulls() { - let pagesRemaining = true - const pulls: Awaited>['data'] = [] - let page = 1 - while (pagesRemaining) { - const res = await getPulls(page) - pulls.push(...res.data) - - const linkHeader = res.headers.link - pagesRemaining = linkHeader?.includes(`rel=\"next\"`) ?? false - page++ - } - return pulls -} - -async function collectMetaInfos(): Promise { - const pulls = await allPulls() - for (const pull of pulls) { - const pull_number = pull.number - const files = await ghClient.request( - 'GET /repos/{owner}/{repo}/pulls/{pull_number}/files', - { - owner: 'moonbitlang', - repo: 'MoonBit-Code-JAM-2024', - pull_number, - headers: { - 'X-GitHub-Api-Version': '2022-11-28', - }, - }, - ) - for (const file of files.data) { - const [teams, teamName, name] = file.filename.split('/', 3) - if (teams === 'teams' && name === 'game.wasm') { - if (metaInfos.has(teamName)) { - continue - } - if (!fs.existsSync(`teams/${teamName}`)) { - continue - } - const prInfo = await getPRInfo(pull_number) - const metaInfo: MetaInfo = { - prInfo, - cover: false, - } - - const files = fs - .readdirSync(`teams/${teamName}`, { withFileTypes: true }) - .filter(d => d.isFile()) - .map(d => d.name) - - for (const file of files) { - const read = (file: string): string => - fs.readFileSync(`teams/${teamName}/${file}`, 'utf8') - switch (file) { - case 'cover.png': { - metaInfo.cover = true - continue - } - case 'README.md': { - metaInfo.readme = read(file) - continue - } - case 'title': { - metaInfo.title = read(file) - continue - } - case 'control': { - metaInfo.control = read(file) - continue - } - } - } - - console.log(`metainfo of ${teamName}:`, metaInfo) - metaInfos.set(teamName, metaInfo) - } - } - } -} - -function renderGameCard(teamName: string, metaInfo: MetaInfo): string { - const coverPath = metaInfo.cover - ? `${querystring.escape(teamName)}/cover.png` - : 'default-cover.png' - - const teamPath = querystring.escape(teamName) - const authorName = metaInfo.prInfo.head.user.login - const repoName = metaInfo.prInfo.head.repo?.name - - if (repoName === undefined) { - throw new Error(`renderGameCard: repoName is undefined`) - } - - const footer = metaInfo.title - ? `

${metaInfo.title}

${teamName}

` - : `

${teamName}

` - - return /*html*/ ` - -`.trim() -} - -function indexHtml(): string { - const gameCards = [...metaInfos.entries()] - .map(e => renderGameCard(...e)) - .join('\n') - - return /*html*/ ` - - - - - - MoonBit Code JAM 2024 - - - -
-
-
-

MoonBit Code JAM 2024

-

选手提交作品展示

- -
-
- ${gameCards} -
-
-
- - -` -} - -function gameIndexHtml(teamName: string, metaInfo: MetaInfo): string { - const title = metaInfo.title ?? teamName - const control = metaInfo.control ?? '' - const readme = metaInfo.readme ? md.render(metaInfo.readme) : '' - const authorName = metaInfo.prInfo.head.user.login - const repoName = metaInfo.prInfo.head.repo?.name - const authorUrl = metaInfo.prInfo.head.user.html_url - const avatarUrl = metaInfo.prInfo.head.user.avatar_url - const updateTime = metaInfo.prInfo.merged_at - - if (repoName === undefined || updateTime === null) { - throw new Error( - JSON.stringify( - { - title, - control, - readme, - avatarUrl, - updateTime, - }, - null, - 2, - ), - ) - } - - const updateDate = new Date(updateTime).toLocaleDateString('zh-CN', { - year: 'numeric', - month: 'long', - day: 'numeric', - }) - - const avatar = /*html*/ ` -
- - - -
- -

${updateDate}

-
-
- ` - return /*html*/ ` - - - - - - ${title} - - - -
-
- -

${control}

-

${title}

-

Star 仓库,为 ta 投票 - ${githubBtn(authorName, repoName, { large: true })} -

- ${avatar} -
- ${readme} -
-
-
- - -` -} - -function copyWasm4(dist: string) { - const wasm4Files = fs.readdirSync('node_modules/wasm4/assets/runtime/slim') - for (const file of wasm4Files) { - fs.copyFileSync( - `node_modules/wasm4/assets/runtime/slim/${file}`, - `dist/${dist}/${file === 'index.html' ? 'game.html' : file}`, - ) - } -} - -fs.rmSync('dist', { recursive: true, force: true }) -fs.mkdirSync('dist') -await collectMetaInfos() -fs.writeFileSync('dist/index.html', indexHtml()) -fs.copyFileSync('assets/default-cover.png', 'dist/default-cover.png') -for (const [teamName, metaInfo] of metaInfos) { - const gameIndex = gameIndexHtml(teamName, metaInfo) - fs.mkdirSync(`dist/${teamName}`) - copyWasm4(teamName) - for (const dirent of fs.readdirSync(`teams/${teamName}`, { - withFileTypes: true, - })) { - if (dirent.isDirectory()) { - fs.cpSync( - `teams/${teamName}/${dirent.name}`, - `dist/${teamName}/${dirent.name}`, - { - recursive: true, - }, - ) - } else { - fs.copyFileSync( - `teams/${teamName}/${dirent.name}`, - `dist/${teamName}/${ - dirent.name === 'game.wasm' ? 'cart.wasm' : dirent.name - }`, - ) - } - } - fs.writeFileSync(`dist/${teamName}/index.html`, gameIndex) -} diff --git a/teams/Roach/resource/src/coin.png b/teams/Roach/resource/src/coin.png deleted file mode 100644 index 360d5a07ffc9d6024a30aa3829a92ee8b742b16e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|d^}woLnNjq zCnzvTB=*eoXa1+`y~H~|p+(za+MbHfj4>BYmUH*`oY{42z srV!0so^s8OS;XD1c-Mgw4m=DDDW7Ghr1?l40Gi9->FVdQ&MBb@08`T~g#Z8m diff --git a/teams/Roach/resource/src/src/anime.mbt b/teams/Roach/resource/src/src/anime.mbt deleted file mode 100644 index 53e77be..0000000 --- a/teams/Roach/resource/src/src/anime.mbt +++ /dev/null @@ -1,53 +0,0 @@ -pub fn animeBlock(self : Game) -> Unit { - if game.counter > 10 && game.counter < 29 && game.counter % 6 == 0 { - for i in [0,1,2]{ - self.block[i].changeColor_random() - } - } - if game.counter > 28 && game.counter < 41 && game.counter % 4 == 0 { - for i in [0,1,2]{ - self.block[i].changeColor_random() - } - } - if game.counter > 41 && game.counter < 51 && game.counter % 2 == 0 { - for i in [0,1,2]{ - self.block[i].changeColor_random() - } - } -} -pub fn animeBall(self : Game) -> Unit { - if game.counter > 50 && game.counter < 66 { - self.ball.x += 7 - } -} - -pub fn animeProgressBar(self : Game) -> Unit { - if self.pbar.width < 120 && self.coin > 0 { - if self.time % 5 == 0 { - self.pbar.width += 2 - } - } else { - self.pbar.width = 0 - } -} - -pub fn animeSprite(self : Game) -> Unit { - @wasm4.trace("anicounter\{self.counter} \{self.block[1].sprite_block.x}") - if self.counter >= 0 { - if true { - self.block[0].sprite_block.x = 20 - self.block[0].sprite_block.y = 30 - self.block[1].sprite_block.x = 20 - self.block[1].sprite_block.y = 30 - self.block[2].sprite_block.x = 20 - self.block[2].sprite_block.y = 30 - } - } else { - self.block[0].sprite_block.x = self.block[0].x - self.block[0].sprite_block.y = self.block[0].y - self.block[1].sprite_block.x = self.block[1].x - self.block[1].sprite_block.y = self.block[1].y - self.block[2].sprite_block.x = self.block[2].x - self.block[2].sprite_block.y = self.block[2].y - } -} diff --git a/teams/Roach/resource/src/src/draw.mbt b/teams/Roach/resource/src/src/draw.mbt deleted file mode 100644 index f6e5497..0000000 --- a/teams/Roach/resource/src/src/draw.mbt +++ /dev/null @@ -1,136 +0,0 @@ -struct Color { - mut palette : UInt -} - -pub fn Color::new() -> Color { - { palette: 2 } -} - -let randomer : @random.Rand = @random.Rand::new() - -fn draw(self : Game) -> Unit { - //drawBkg(self) - drawBlock(self) - drawBall(self) - drawCoin(self) - drawUI() - drawProgressBar(self) -} - -//fn drawBkg(self : Game) -> Unit { -// @wasm4.set_draw_colors(index=1, 2) -// @wasm4.set_draw_colors(index=2, 1) -// @wasm4.set_draw_colors(index=3, 4) -// @wasm4.set_draw_colors(index=4, 3) -// @wasm4.blit( -// hex, -// 0, -// 0, -// 160, -// 160, -// { one_bit_per_pixel: true, flip_x: false, flip_y: false, rotate: false }, -// ) -//} - -fn drawBlock(self : Game) -> Unit { - for i in [0, 1, 2] { - self.block[i].x = 20 + 45 * i - } - for i in [0, 1, 2] { - @wasm4.set_draw_colors(self.block[i].color.palette) - @wasm4.rect( - self.block[i].x, - self.block[i].y, - self.block[i].width, - self.block[i].height, - ) - if game.counterFlag == false { - drawSprite(self, i) - } - } -} - -fn drawSprite(self : Game, blockindex : Int) -> Unit { - @wasm4.set_draw_colors(1) - match self.block[blockindex].event_block { - "None" => return - "Sun" => { - self.block[blockindex].sprite_block = { - x: self.block[blockindex].x + 3, - y: 43, - sprite: sun_sprite, - } - @wasm4.blit( - self.block[blockindex].sprite_block.sprite, - self.block[blockindex].sprite_block.x, - self.block[blockindex].sprite_block.y, - SunWidth, - SunHeight, - { one_bit_per_pixel: true, flip_x: false, flip_y: false, rotate: false }, - ) - } - "Moon" => { - self.block[blockindex].sprite_block = { - x: self.block[blockindex].x + 3, - y: 43, - sprite: moon_sprite, - } - @wasm4.blit( - self.block[blockindex].sprite_block.sprite, - self.block[blockindex].sprite_block.x, - self.block[blockindex].sprite_block.y, - MoonWidth, - MoonHeight, - { one_bit_per_pixel: true, flip_x: false, flip_y: false, rotate: false }, - ) - } - _ => return - } -} - -fn drawBall(self : Game) -> Unit { - if game.gameOverFlag == false { - @wasm4.set_draw_colors(3) - @wasm4.rect(31, 108, 100, 5) - @wasm4.set_draw_colors(2) - @wasm4.oval(self.ball.x, self.ball.y, self.ball.width, self.ball.height) - } -} - -fn drawProgressBar(self : Game) -> Unit { - @wasm4.set_draw_colors(2) - @wasm4.rect(self.pbar.x, self.pbar.y, self.pbar.width, self.pbar.height) -} - -fn drawCoin(self : Game) -> Unit { - @wasm4.set_draw_colors(2) - @wasm4.text(":\{self.coin}", 74, 150) - coin_sprite.blit( - 64, - 150, - 8, - 8, - { one_bit_per_pixel: false, flip_x: false, flip_y: false, rotate: false }, - ) -} - -fn drawUI() -> Unit { - @wasm4.text("G a c h a", 44, 6) - @wasm4.text( - "Generator:\{(event.sunAmount-event.moonAmount).reinterpret_as_int()}", - 32, - 127, - ) -} - -pub fn changeColor(self : Block) -> Unit { - if self.color.palette < 4 { - self.color.palette += 1 - } else { - self.color.palette = 1 - } -} - -pub fn changeColor_random(self : Block) -> Unit { - self.color.palette = randomer.uint(limit=3) + 2 -} diff --git a/teams/Roach/resource/src/src/event.mbt b/teams/Roach/resource/src/src/event.mbt deleted file mode 100644 index c11bf00..0000000 --- a/teams/Roach/resource/src/src/event.mbt +++ /dev/null @@ -1,79 +0,0 @@ -let commonEventChance : UInt = 30 - -let rareEventChance : UInt = 10 - -let superRareEventChance : UInt = 1 - -pub let commonEvent = ["Sun", "Moon"] - -pub let rareEvent = ["Hurricane"] - -pub let superRareEvent = ["Win"] - -let commonEventAmount : UInt = commonEvent.length().reinterpret_as_uint() - -let rareEventAmount : UInt = rareEvent.length().reinterpret_as_uint() - -let superRareEventAmount : UInt = superRareEvent.length().reinterpret_as_uint() - -pub struct Event { - mut sunAmount : UInt - mut moonAmount : UInt -} - -let event : Event = { sunAmount: 0, moonAmount: 0 } - -pub fn runEvents() -> Unit { - - if game.time % 300 == 0 { - game.coin += event.sunAmount.reinterpret_as_int() - game.coin -= event.moonAmount.reinterpret_as_int() - } -} -fn getEvent() -> String { - let rand = (game.time + randomer.uint()) % 100 - if rand < commonEventChance { - getCommonEvent() - } else if rand < commonEventChance + rareEventChance { - getRareEvent() - } else if rand < commonEventChance + rareEventChance + superRareEventChance { - getSuperRareEvent() - } else { - "None" - } -} -fn getCommonEvent() -> String { - let rand = ((game.time + randomer.uint()) % commonEventAmount).reinterpret_as_int() - commonEvent[rand] -} - -fn getRareEvent() -> String { - let rand = ((game.time + randomer.uint()) % rareEventAmount).reinterpret_as_int() - rareEvent[rand] -} - -fn getSuperRareEvent() -> String { - let rand = ((game.time + randomer.uint()) % superRareEventAmount).reinterpret_as_int() - superRareEvent[rand] -} - -pub fn identifyEvent(eventName : String) -> String { - match eventName { - "None" => @wasm4.trace("None") - "Sun" => runSunEvent() - "Moon" => runMoonEvent() - _ => @wasm4.trace("Unknown event") - } - eventName -} - - -fn runSunEvent() -> Unit { - event.sunAmount += 1 - @wasm4.trace("Sun") -} - -fn runMoonEvent() -> Unit { - event.moonAmount += 1 - @wasm4.trace("Moon") -} diff --git a/teams/Roach/resource/src/src/game.mbt b/teams/Roach/resource/src/src/game.mbt deleted file mode 100644 index 61fc674..0000000 --- a/teams/Roach/resource/src/src/game.mbt +++ /dev/null @@ -1,108 +0,0 @@ -pub struct Block { - mut width : Int - mut height : Int - mut x : Int - mut y : Int - mut color : Color - mut event_block : String - mut sprite_block : MoveSprite -} - -pub fn Block::new() -> Block { - { width: 30, - height: 70, - x: 0, - y: 20, - color: Color::new(), - event_block : "None", - sprite_block : MoveSprite::new() - } -} - -pub struct Ball { - mut width : Int - mut height : Int - mut x : Int - mut y : Int - mut color : Color -} - -pub fn Ball::new() -> Ball { - { width: 25, height: 25, x: 19, y: 98, color: Color::new() } -} - -pub struct Game { - mut block : Array[Block] - mut ball : Ball - mut frame_count : Int - mut prev_gamepad : @wasm4.GamePad - mut coin : Int - mut time : UInt - mut delay : UInt - mut counter : UInt - mut counterFlag : Bool - mut pbar :Block - mut gameOverFlag:Bool -} - -pub fn Game::new() -> Game { - { - block: [Block::new(), Block::new(), Block::new()], - ball: Ball::new(), - frame_count: 0, - prev_gamepad: @wasm4.GamePad::default(), - coin: 0, - time: 0, - delay: 0, - counter: 65, - counterFlag: false, - pbar: Block::{width: 0, height: 10, x: 20, y: 138, color: Color::new(), event_block : "None", sprite_block : MoveSprite::new()} , - gameOverFlag: false - } -} - -pub fn input(self : Game) -> Unit { - let gamepad = @wasm4.get_gamepad() - if game.counterFlag { - game.counter -= 1 - animeBlock(self) - animeBall(self) - animeSprite(self) - } - if game.counter == 0 { - for i in [0, 1, 2] { - self.block[i].changeColor_random() - self.block[i].event_block = identifyEvent(getEvent()) - - @wasm4.trace("\{self.time}") - - } - - game.counter = 65 - game.counterFlag = false - game.ball.x = 19 - if game.block[0].color.palette == game.block[1].color.palette { - if game.block[1].color.palette == game.block[2].color.palette { - music() - } - } else { - nothing() - prize() - } - } - if gamepad != self.prev_gamepad { - if gamepad.button_1 && game.coin > 0 && game.counterFlag == false { - game.coin -= 1 - game.counterFlag = true - } - } - self.prev_gamepad = gamepad -} - -fn gameOver() -> Unit { - @wasm4.text("GAME OVER", 44, 105) - @wasm4.text("press R to restart", 8, 115) - game.time += 1 - game.coin = 0 - game.gameOverFlag = true -} diff --git a/teams/Roach/resource/src/src/lib/hello.mbt b/teams/Roach/resource/src/src/lib/hello.mbt deleted file mode 100644 index 9012592..0000000 --- a/teams/Roach/resource/src/src/lib/hello.mbt +++ /dev/null @@ -1,3 +0,0 @@ -pub fn hello() -> String { - "Hello, world!" -} diff --git a/teams/Roach/resource/src/src/lib/hello_test.mbt b/teams/Roach/resource/src/src/lib/hello_test.mbt deleted file mode 100644 index e0e3a7d..0000000 --- a/teams/Roach/resource/src/src/lib/hello_test.mbt +++ /dev/null @@ -1,5 +0,0 @@ -test "hello" { - if @lib.hello() != "Hello, world!" { - fail!("@lib.hello() != \"Hello, world!\"") - } -} diff --git a/teams/Roach/resource/src/src/lib/moon.pkg.json b/teams/Roach/resource/src/src/lib/moon.pkg.json deleted file mode 100644 index 9e26dfe..0000000 --- a/teams/Roach/resource/src/src/lib/moon.pkg.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/teams/Roach/resource/src/src/moon.pkg.json b/teams/Roach/resource/src/src/moon.pkg.json deleted file mode 100644 index 53782cd..0000000 --- a/teams/Roach/resource/src/src/moon.pkg.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "import": [ - "moonbitlang/wasm4" - ], - "link": { - "wasm": { - "exports": [ - "start", - "update" - ], - "import-memory": { - "module": "env", - "name": "memory" - }, - "heap-start-address": 6560 - } - } -} diff --git a/teams/Roach/resource/src/src/sprite.mbt b/teams/Roach/resource/src/src/sprite.mbt deleted file mode 100644 index 1e148b1..0000000 --- a/teams/Roach/resource/src/src/sprite.mbt +++ /dev/null @@ -1,41 +0,0 @@ -let new_sprite : @wasm4.Sprite = @wasm4.sprite(b"") - -let coin_sprite : @wasm4.Sprite = @wasm4.sprite( - b"\xaa\xaa\xa0\x0a\x80\x56\x81\x16\x84\x46\x85\x16\xa5\x5a\xaa\xaa", -) - - -// hex -const HexWidth = 160; -const HexFlags = 0; // BLIT_1BPP -let hex: @wasm4.Sprite = @wasm4.sprite(b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x7f\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xfe\x3f\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xfe\x3f\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xfc\x1f\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xf8\x1f\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xf8\x1f\xff\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\xf8\x0f\xff\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\xf0\x07\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\xf0\x07\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xe0\x03\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xc0\x01\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\xc0\x01\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8\x00\x00\x1f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8\x00\x00\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8\x00\x00\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8\x00\x00\x07\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x00\x00\x07\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x00\x00\x03\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\x00\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x3f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x1f\xff\xe0\x00\x3f\xff\x00\x00\x00\x00\x7f\xfe\x00\x03\xff\xfc\x00\x00\x00\x00\x1f\xff\xe0\x00\x7f\xff\x00\x00\x00\x00\x7f\xff\x00\x03\xff\xfc\x00\x00\x00\x00\x0f\xff\xf0\x00\xff\xfe\x00\x00\x00\x00\x7f\xff\x80\x07\xff\xf8\x00\x00\x00\x00\x0f\xff\xf0\x00\xff\xfe\x00\x00\x00\x00\x7f\xff\x80\x07\xff\xf8\x00\x00\x00\x00\x07\xff\xf8\x01\xff\xfe\x00\x00\x00\x00\x3f\xff\xc0\x0f\xff\xf0\x00\x00\x00\x00\x03\xff\xf8\x01\xff\xfc\x00\x00\x00\x00\x1f\xff\xc0\x0f\xff\xe0\x00\x00\x00\x00\x01\xff\xfc\x07\xff\xf8\x00\x00\x00\x00\x0f\xff\xf0\x1f\xff\xc0\x00\x00\x00\x00\x01\xff\xfc\x07\xff\xf8\x00\x00\x00\x00\x0f\xff\xf0\x1f\xff\xc0\x00\x00\x00\x00\x00\xff\xfe\x0f\xff\xf0\x00\x00\x00\x00\x07\xff\xf0\x3f\xff\x80\x00\x00\x00\x00\x00\xff\xfe\x0f\xff\xf0\x00\x00\x00\x00\x07\xff\xf0\x3f\xff\x00\x00\x00\x00\x00\x00\xff\xff\x0f\xff\xe0\x00\x00\x00\x00\x03\xff\xf8\x7f\xff\x00\x00\x00\x00\x00\x00\x7f\xff\x8f\xff\xc0\x00\x00\x00\x00\x01\xff\xf8\xff\xff\x00\x00\x00\x00\x00\x00\x7f\xff\x9f\xff\xc0\x00\x00\x00\x00\x01\xff\xfc\xff\xff\x00\x00\x00\x00\x00\x00\x3f\xff\xff\xff\x80\x00\x00\x00\x00\x01\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xff\x80\x00\x00\x00\x00\x00\xff\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xff\x80\x00\x00\x00\x00\x00\xff\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xff\x00\x00\x00\x00\x00\x00\x7f\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x07\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x3f\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x07\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x3f\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x03\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x03\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x01\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x07\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x01\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x07\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x03\xff\xff\x80\x00\x00\x00\x00\x00\x00\x00\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x03\xff\xff\x80\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xc0\x00\x00\x00\x00\x00\x00\x03\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\xc0\x00\x00\x00\x00\x00\x00\x01\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\xc0\x00\x00\x00\x00\x00\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xc0\x00\x00\x00\x00\x00\x00\x03\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x03\xff\xff\x80\x00\x00\x00\x00\x00\x00\x00\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x03\xff\xff\x80\x00\x00\x00\x00\x00\x00\x01\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x07\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x01\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x07\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x03\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x03\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x07\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x3f\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x07\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x3f\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xff\x00\x00\x00\x00\x00\x00\x7f\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xff\x80\x00\x00\x00\x00\x00\xff\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xff\x80\x00\x00\x00\x00\x00\xff\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x3f\xff\xff\xff\x80\x00\x00\x00\x00\x01\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x7f\xff\x9f\xff\xc0\x00\x00\x00\x00\x01\xff\xfc\xff\xff\x00\x00\x00\x00\x00\x00\x7f\xff\x8f\xff\xc0\x00\x00\x00\x00\x01\xff\xf8\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\x0f\xff\xe0\x00\x00\x00\x00\x03\xff\xf8\x7f\xff\x00\x00\x00\x00\x00\x00\xff\xfe\x0f\xff\xf0\x00\x00\x00\x00\x07\xff\xf0\x3f\xff\x00\x00\x00\x00\x00\x00\xff\xfe\x0f\xff\xf0\x00\x00\x00\x00\x07\xff\xf0\x3f\xff\x80\x00\x00\x00\x00\x01\xff\xfc\x07\xff\xf8\x00\x00\x00\x00\x0f\xff\xf0\x1f\xff\xc0\x00\x00\x00\x00\x03\xff\xf8\x03\xff\xfc\x00\x00\x00\x00\x1f\xff\xe0\x1f\xff\xe0\x00\x00\x00\x00\x03\xff\xf8\x01\xff\xfc\x00\x00\x00\x00\x1f\xff\xc0\x0f\xff\xe0\x00\x00\x00\x00\x07\xff\xf8\x01\xff\xfe\x00\x00\x00\x00\x3f\xff\xc0\x0f\xff\xf0\x00\x00\x00\x00\x0f\xff\xf0\x00\xff\xfe\x00\x00\x00\x00\x7f\xff\x80\x07\xff\xf8\x00\x00\x00\x00\x0f\xff\xf0\x00\xff\xfe\x00\x00\x00\x00\x7f\xff\x80\x07\xff\xf8\x00\x00\x00\x00\x1f\xff\xe0\x00\x7f\xff\x00\x00\x00\x00\x7f\xff\x00\x03\xff\xfc\x00\x00\x00\x00\x3f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x3f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x00\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x00\x00\x03\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\x00\x07\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x00\x00\x07\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x00\x00\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8\x00\x00\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\x80\x00\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\x80\x00\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\xc0\x01\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xc0\x01\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xe0\x03\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\xf0\x07\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\xf0\x07\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\xf8\x0f\xff\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xf8\x1f\xff\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xf8\x1f\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xfc\x1f\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xfe\x3f\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xfe\x3f\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x7f\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00") - -//Sun -const SunWidth = 24 - -const SunHeight = 24 - - - -const Sun = b"\xff\xff\xff\xff\xff\xff\xff\xe7\xff\xef\xe7\xf7\xf3\xff\xcf\xf3\xff\xcf\xff\xc3\xff\xff\x00\xff\xfe\x00\x7f\xfe\x00\x7f\xfc\x00\x3f\xcc\x00\x33\xcc\x00\x33\xfc\x00\x3f\xfe\x00\x7f\xfe\x00\x7f\xff\x00\xff\xff\xc3\xff\xf3\xff\xcf\xf3\xff\xcf\xef\xe7\xf7\xff\xff\xff\xff\xff" - -let sun_sprite : @wasm4.Sprite = @wasm4.sprite(Sun) - -//Moon -const MoonWidth = 24 - -const MoonHeight = 24 - -const Moon = b"\xff\xff\xff\xff\x00\xff\xfc\x00\x3f\xf8\x00\x1f\xf0\x03\xcf\xe0\x0f\xff\xc0\x1f\xff\xc0\x3f\xff\x80\x7f\xff\x80\x7f\xff\x80\xff\xff\x80\xff\xff\x80\xff\xff\x80\xff\xff\x80\xff\xff\x80\xff\xff\xc0\x7f\xff\xc0\x7f\xff\xe0\x3f\xff\xf0\x1f\xff\xf8\x0f\xff\xfc\x03\x7f\xff\x00\xff\xff\xff\xff" - -let moon_sprite : @wasm4.Sprite = @wasm4.sprite(Moon) - -struct MoveSprite { - mut x : Int - mut y : Int - sprite : @wasm4.Sprite -} - -pub fn MoveSprite::new() -> MoveSprite { - { x: 0, y: 0, sprite: new_sprite } -} diff --git a/teams/Roach/resource/src/src/top.mbt b/teams/Roach/resource/src/src/top.mbt deleted file mode 100644 index 5b3e844..0000000 --- a/teams/Roach/resource/src/src/top.mbt +++ /dev/null @@ -1,22 +0,0 @@ -pub fn start() -> Unit { - game.coin += 10 -} - -let game : Game = Game::new() - -pub fn update() -> Unit { - if game.gameOverFlag == false { - game.time += 1 - } - - runEvents() - animeProgressBar(game) - - if game.coin<=0 { - gameOver() - } - - draw(game) - - game.input() -} diff --git a/teams/Roach/resource/src/src/voice.mbt b/teams/Roach/resource/src/src/voice.mbt deleted file mode 100644 index fab1042..0000000 --- a/teams/Roach/resource/src/src/voice.mbt +++ /dev/null @@ -1,24 +0,0 @@ -pub fn prize() -> Unit { - @wasm4.tone_note_mode( - (@wasm4.Note::new(50, bend=0), None), - @wasm4.ADSR::new(60), - @wasm4.ADSRVolume::new(100), - @wasm4.ToneFlag::new(), - ) - @wasm4.trace("prize") -} - -pub fn nothing() -> Unit { - @wasm4.trace("nothing") -} - -pub fn music()-> Unit{ - game.coin +=10 - @wasm4.tone_note_mode( - (@wasm4.Note::new(69, bend=10), None), - @wasm4.ADSR::new(60), - @wasm4.ADSRVolume::new(100), - @wasm4.ToneFlag::new(), - ) -} -let x : @wasm4.ToneFlag =@wasm4.ToneFlag::new() \ No newline at end of file diff --git a/teams/Roach/resource/src/w4png/Moon.aseprite b/teams/Roach/resource/src/w4png/Moon.aseprite deleted file mode 100644 index 79f37dadf0b4fac7798bd7a4c7a903f626312119..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398 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�l9hqN3Tg?T*RAJH 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 M&gh3Hc|Z4m01+A(bpQYW diff --git a/teams/Roach/resource/src/w4png/Sun.aseprite b/teams/Roach/resource/src/w4png/Sun.aseprite deleted file mode 100644 index 7573f597628d224cbacb6aab75e042318b225d4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmZ3%$iVPmDI{ z7Ld&Xa-9N@p`>8qs$r96Y1kiTeZNrc=7O|$hiCo%WH$3@K-NA3^C@}WnfgKADn>Sz z_Vy(P2~E*?50hvAk3ak5^zA?Y|No!8c6&=*duCQvWLQv{Q`Z_JqnqK$*Q1^N8R;bm)I4jMhMocg|B*8SpW9l-A nbqXr}JyKmV4!w8mwlFX(VUFDzd^PDV&=m}xu6{1-oD!MPx#22e~?MgRZ*0094Zz&!H+0007XQchC<|67qFwEzGDWJyFpRCt{2+QD+eFbD)t z@&7;FOQtii0f8XwrnQcZSUsz;Wh-8*rAbdrOCz#~@L-56B0Lx(i_lppFd{q{B8vzQ zhR7m9gAt*@$hAEdm4d@4l*eLNKp2$*!Vp;u3IbzN02m^RLm9^qS+0WvF}I1p&5Sbg zV=)FsVYFdE7Ij$V|29t%|IY{t1VdzTMjXd@;|*KfV=qq3wH(-(FibN;W?{iFeSL|} zC886X=qkf>#Ur}>GA#u}7N#|Fw_v*;TdRJo`;M~du&dsrB`t1`EF}}Br7>BYK9TC? zuxNRJQV-L+9n6YT77b&vL^d!xXhL6Q*E}DN3n!tO?8cv?#SH z%Wl0+QMQYJtv+WdhmBc^^+`%StdUX++mOM)7mqomr=uEXCWGe|}$QSI^&jd*#E=ByRcavzlK$ z`V4#TUBT?azGlxu>w7*iwJ@z~=2*62=X+!ywD9$8E#?3Q-@e6;aepcE>Luv);BHw>EMT$TZih+^E{pcr+7t_Dj;$y0_Uc`hy8?bmQ$;U1Bi1QRGOYq@zgc5sbAEM|R7a&SxYXoIcR<$t- zmF136bTAB%(z{dtmni)Fc>n+a diff --git a/teams/Roach/resource/src/w4png/hexcircle.jpg b/teams/Roach/resource/src/w4png/hexcircle.jpg deleted file mode 100644 index 6e841178eab49d2620aaac5be68cf58ee86b9e9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19031 zcmbrlc{o&m7&kmZl9-e&Vv0(Vv{)+3RI(*arK~Z(7JFmbWH3yTohB_5G5Xn(nC!)v z$zDlzLd>GFb4HAlIdkSczxR2s=eeHeulIW2akl-5tJ43=>OmCzl;3;y8`lV@kf;6I#doSM^Zu?wMJ1wQc*(OjKU!2l>Q&r zM*TlGi8Yc^(rabb$*z|}UQo3WwMIfxa*dRvw6v5I^6CiWd6bl*^rr0xj<4N(?y`*b zO{IhPQ(vvqIZ@W2e7+mlap=meDB1NYs%l%*cka^Nt+&U>*u?bkk)u{8t!-@W>`yse zxajQS>gIm+nzxUypMSvZJHdBDNTFfT4`O2D;u8`dKY98rE&ch6jDK_U@(T)I7riO3 zsI024dH>lKD?Ai8Ud}ucV@s^!5X5HyuAGbNS|G?SuE%DV<1tRn{P@ zbLc#veC1a6dX*hU+@1XYMEk!b`+p}`)c+^R{- z%0P^o)gy>ec`HU@6nN$i^)L6e7{!jq{@qnkB{vCO-ZV9QmQ)bs&3qcLetU9@x-n~h zSkkN_?!7IFi%$EP-7NWSW^{@2S89qPP$(Cpdi;vNVYxB`l!Zs&Vt zt8Fze=8Q0IfP)vMus^}96&F_Sw=ESHO7$efH zqwl3#_XV#bd!hwFPs^J^rHvz@XX9d?ewO^!Fj{(6qC)NSr)|Fa@Wu#VINV>1 zS`koS+Z=_FM#`e$cgn~hoc5!a>?uZR&*#H)HE^28fJJtlKex_r$pf6fR#(pcU7zQ_ zvo4~*rjFVkx-;RMc9!IP$_?(lPZEhaYM$7KAvsQuQ+nBLAu zsO@c^Sk3lRA7wIJDo8lkT8I{gA@Yx8@F@R>{3GRqvy3A_89P@mIfVXWmsPUq$hMA= zsvq0k?XNu9rPsBwyJ$>p-!F-HnTv15s85FH#i)0|Vif$i-AmbvhE2R~O!Dcy&a3yx z1oO+I>~oSm+6;Qs6bnheo~24e+Swfbru6bE4KEeA^Y|hEp>3P11EW6ZWaW+gq@D;% zL`^Z|#i(tWRN=Y~#LffHx@NG8>-w>?m{8>5qRaL|b_;i%$LW3*w^H3_^whWKyyLC* z?5r&|>Xej~9I-p~V2{$P4ffmIXe}8&g-RLM58(F>M_D}GWp_pKZ%qJUe9SrIpZh;I z{JQY&;tt7_Jjr&ac|&0_6cc88kMi3vIkTDZ)Jg-zj|2madf>&_iW=^M>&~*!|lEJDF-3uLwY-4r&A&(PlumRNe5!T^| zksGG|l*Ze6lumhD7&3P-s{j8ZT4 zXnE9>Kh^caKh?JIk_EKUT(G~HFdg@ay@{(q|`?NOeVyrhl6jYYJ;+F7P?-#~%81*_x5qFe- z;#Yj$@$l>Xd`nh>&yL4_lCb~|irGh*)ii{kxeXQ%%Jbe|?%lhc=9p+<8B+I9HKRqP z$0gy_`@0EwHHvjMom+#>KF&{7OMa93XQ2iE5S9cLIiBG>YAZ1j-U_+_D~*DJ6%T$~ zGe&s?^lfrZ61>>^sw(qhKaoIy`$J!!Tn#RHi#C{RnYQ;Q5G}q`8c9sUd!!jwj;86caE3PgDZc+q}Cv%T+q#$rAoER8vS;TiZ!~aEZUcgK_XE@f!(zv5oTn%`xa561w{^OKO zS5sl9n#^}>Wjdspf}He;h-Qw*MnPsgYBH;GKG)mKecGKiJIK+LY1UHh4N^J0WA~UI zm^Ds)u&PqE<&URh=L18AW1wvH2h}I;wR^Cw?hDY?aXy|`ntPjv8}fzMRR}5MTL2lx z4?$L;Tro<~@0fe0Ur8<_HBuAO0f!2jOF{@CD&MQ7&XzELW!Rs7 z)<{LXB;1adVn_hErdE?!0ZzuR%pFX}C(Q4BPlY$JRewa}wpi+AbWfyef8ejJDE^u@ zay)ytLC;|^$`Z?AvH+(M47jUsR=#LvOv5!8H>@joDn>mR;dC~r%|iD7`oa5w?2^}{ zL(O_T^uz9e}LBQhxlaH8mj69a}n>IYs zI;Pdd-09B-PGCn2n^|(k8tp{{<~GQZk7*X8;v>~-iR))VGE5T&PYu}47Uxce-S0Ba z(s%0)w#Z=Ed%vAhk9|fOaH&>*V8XH{g~RAAVpP=ak-!Z61NcB>C#^=c0jr1$RxYR| zI{_8k>Q}j-clHIhpkTGPmir4IdRJFQo&50OVedz$00kA-J3@JzbL-wiK4Mg~72+y| zWu(n*tc}RMEQ~rt@h$`n+iC;JR-&{ZhT|K*u;9YDNd2bUAsDLVCh%0?oQeD`p&M9# zx!7N8cb5@%?z52)t4KEHtApW=wS2?ogi`7Xoflzf$NzS}h!ohW?wrM2kPEDKQBh~b zGMxO0JOi1Fy@t7d^Rvblx-Jgw@~3)!%W9b=1%4`s{pI%f#+O+;nGTFJa-cl?JIdUv z2rgH603N_fS{ekd{=UB}*OwzN)3$0rYq8r~V!UPc_lJI1DX_vHyU9pRr!GUy%Q3KV zK+SEgFy&g*eD}O%P4^eeqP(LAyb0&q+po))8@`l0sM*X_lltev#*zE2YZoSj0;JwY zyHhyn_$tFFbMFu!m-{VOs6+PcU)Ceu!6mX~jOj{0NWKpJ+j3rFyTbOd5K3K-em zJhri$Va6GiX|AQrDFU||I~}O4)$C1>+nW){0*vFEHVjKY@rQTx5*Cap@iZ-1orG@+ zv#;W>eFebdPQZ1Pq|i?js{;El{>i?#LD~ibLUNY=wt<&qzWo9~!ys_O=?-rqe8Ju#`J$(a#qp5+}dn=NMcliSJog*Ce*F5h014-Vcq#L1IE`W zpPbGKzhcK%CvvVJxy$4G&10H$D(m-VF^VWg34Ognyb`z=Fhh*;qXbZz+h@h7Ym1g_ z_{Gn^EdM`bdSz%f{>87h-`7W2?T$mk?~&)rmT0TeQ*2P0AV#&mmVAjs^7v^nisrE( z{5>K@Jq}1&=8>3~S)o$6PZVk4bb6-p4%hCSkuBBXg$BQWSZDFK4R2lht=H?eXWV_( z&qKGxsDFmAO9ksuA<%a9LJ0bf08JMP6z9#sP~Vj(C+$|wv$jDkVn%3!X;C)oO6NTCWgEdFm0p^jU&b70gNUa0Q*unSQJUpKH3_f zMKLt~ovKxhAs;A|)ny75lJXif<14?el-EOxBl+;Fh~Ml0M`LJkv;Aax#xHt;L4Nn# zmG`j@@1i^2Z+z?j^GmwSEQ1p{)1MzMDI4n8e`d<7~e zzKXqZh!kl3T#O390(Ys9vii8dPn2Q4Qz#Fq@_(howTMx}1rc}ADS}$#g;=67ULo>p z*OX~3KAvI9GYc;Y)^uq+L=GH)94{A4s{e4mVCw|XqnSHBMlQKGh4@W@NZDTduNc)} zvJDiY_$#g0>cLh#YI+dAPK@&1Vw6OTLKK{yXjHPf8C!X2Y{KoN9_lEf%~7Pv!qE-ROOgzuGa`Gjx9 z&1!4HCR5hI2SD3Xd?_#G{;K+;y-iG$UWPp|evyxltF+?zf+761axCd-(~`WB=lsG4 z%W@u>YGhiu>1rvZ!GID(LvmBYStR#h<7kx&O-o&51A5@%Of9;Z72_~&ai}G78|XOR zDHl-VZdt*lD1I)`>)SZ}uHo`He!XYFun#r-4N~!49t6*HSbiCI74EZ_RuXRRO-x&4+&z^-Z}iweizz@;Yyy^Rf*+l%Ixql<#NS#VFen z6y*pWxIh6-YtboKr6uY}5-i)zGgOHDLa7SXB+|YA$hPS6Y6gs80}hh{*n5Tx3V_Zg+K8{< zbSAu!3hs89rI0KQ$Yy+ej5*d|FfsCgKW07B7tK&#g? z!!~sVR&PDLKwbChGJu}=dl1?tAyT0<5(>*MKI{R@E`Rp$e6#;n2b{L8#*Q< zHik>1vNn_$yH&+Aj7w+EP6u*{%9AUP-Q7BGa?uI3zOhx9jefVLtGhj2163^d0BN+F zZ{5ICgdl|I5QU+0;0qEHcV*y>Y%`%(AxU{ zD4)hb;x@kV8&^M^K=^zguP)ny9-wny`|&~Ug38zt%g|iut9SoV%VJ!)cjOh1wQnby>GK}Wb#5bpi-eEzo=NGr}rKl8rkv#Pz& zzaxB)?3SzlRR4j$;3VI^?hI-@d*A(<-rif+M^^)7Aaw*yOGVYB=nR;<2wfT?Uzi@S z;!~Q4>!VtD`UlB-o}mJ7Ym^-fI?-%bR$J*0c_W7*QM|FBE^gLBc+OvpDvz5zf@#Zg zK_Gx!plOmJ$im|- zUj;-Z$u*WLth(ote_RA#L~kwiB7d+eJ6q_(#p4f)F5l$q@_yHN7f+Y_52#chCB&pf zzw#T~1k}X6-Fs)m!Qt9FpfkD>tw18|%c}?%oiI=fP){~h?-vvzNCEJs* zWcZhbILIEf;Kz-#5uO2YUCBsk>QEh*l0vp3@Gu*oO}Kbdma+kaS~=?cGF!W>jGtY_ zU6Ac4nOrSQq*N`7bQ~=)mFjD=imbWMcV;))R`-=6H1RGRXk-Yl`@844kr<@}52PPW z{#cSyN4^C7w6|zIu+?BMOEy(!li8j$|6Ej%?%l(S_!JD_i<@-}2I6=ZFen7kKh)9! zxu*9aJCXlkJG`>Y^Cl)^JQffhnVh^6IbxJM zL-i~y7``babeg6fMgREPZ7i+^zKaMQioMP!s-u5I^$~-xFec`%7v{{tMcgyOTzSb{Dru2A)&t@j_0|rd%j9v z^4|c*f2~3cT4<|>C$WG(9#V{Msoj@J2XSp;R24em4t3*{pq3U>6`?VXj|n!wG^?mT zW0)Sb$u9`F%a+Y6WArS$7A6MDpZfOOL!-{^)rXq8JGYc1|J;Uk;s+J%5OHpNk=T0- zQ?+~_waIP^w%q58M1$`8qFlrmf9&ilNHoC1vf(%BXC5EBz8zb=XM}O^vk^|~6M=HA zTacbMt*=+YXucaeKRg^xsFBs6Kc_VKV>xjMW+8$*O=oYGK;Ct6f}+95{m_YiI#Y#= z0y4>gV93qOy3G+zjoI1*Z_WLABeG-+q4)=60T_kt?}N?{TR-dW3)W!ClT7DUEmo3d zmo+dSY2fyBXtOO6)KOXRsFngq;O(Bf49WtjWGtU5NU855n4hoCSZJgwkb0Zc?-l~N zcKy)az4MiHHRxgu>pd_Kb6Yo_VR18W@&;JZYEt9=gkdv;45}>@v(;x^O#^ z;V6b;lux=S9qWSu_Ye~yD2*zcVP}AGz+M;rYAD+#Yp2qOpM%MeIp|! zX_BqQFyxA^x`F3Phw&rB_1|b)z4m)Jnz=7N_#Ddhbn)u(jry%$X$^4@Lk3U+9TrA( zU|9-KXwz@*f=yxWi~PF!kPe`EPSYXoC)FA1x^W9ZRhVe^2Wg*4t1pKgAZ-Rv6JxO4 z;WK7o>%rHJHa|P);-249KTvi@LbTZr!*>$Vg||g!vzE3)lwTuXgt#n(+;5`|tt<%5 zu`{M~LyLqTBejO$$tCn(06}NPY}mf^_AxAwguF3a1rxMr`MGnL%&rI>qd;M@f>4TI zoXDqR1a=(p&{TzXGPT60oOm(nV;~zDf1%Y&n?AA^w|qb*N!MwsPSSVTK*A*E57M|l zabZDET*H?0S+ONLtZp5l@{gJuL!bApd>AF{xb>C)H-unrbMrZn`v5)gXV_ejuvU(;Qxe`kSqTi&dp{ z?lfM5f#(^fm}V%8vc8)1v_x>(psUK*7UrMJ-&c+v?NGWYdk^1^0nM+r49_6$w=Z&& z{~!Dz_ZbXQs2V#gr=(Q6bDL>W2-7v{sN%F$_Bq^L@R4&!zC7=|f|JhbLKlSLeyVg- z*}e43j?;5z@?X38pz#!)hhNmXHytjO3P`-S=U@3mX=2TAmo5N(;6TMOObFOf>3Qdncy6%W~p zlJ`QsJbb*0;)%V>njwO_gV*PbX&N2gx7TJGWwgEmiaomblAQ|tT^_r+yMbm-VCLJC zQxOFJ!hnyMFu0cnTtez$BL+BSMgjE(n|=@E_gd};&-`hipv*N({g0Y~F$kZa$K&H; z5$wH&)PAPApVvz$VQBDhQebqmmSLYZ^I4F&1~*A$)mRVt7|9}l@bC_jN?BV0)Bh$J$!Y5es_WoX}r-hBm&R|YC^3Zyz`gmLMa zI91N5=F^jw4bh(V#U7+XO{+*3Zhv&`{X7tVsu#j?MF-n#x{LzlEDqW9RDO3JZa?#` z{K0X8ufPAMo%JPE485&qTh=GPA*R0gp87j-uNajYg*0-bl%>RB#9NKUsJ~)_Z29bA z2-}o)+V|WM-Nx1Q8#_>{@S~wjGJG8%F6urWGaU8!yg|QO?JDlE@o3F$@AdUqe!2hYBN84wwTz7ZkW%qiAA!Z6`Xpcq79hnT zB?<=;_{2s$aGoBQh{u6{N=PBx!a14T&YR|srtpeL=a%{}WXz9!Mo_#-%p(&j}u`Ky`iu zCcaW5K`~q2=gSw)XY|n3G%Pp!v`F^z2>w}bw zrlV~JA+vGnI?rRq5$KB_l1}#pkq!Bqxot@;Es1RZ3_|}(4EeZP{k!sP-u#!1=pHI) zm<}mBAe>-SN#sa{C#ZUkzb{v~A5y8U2SbGWNoLLfoRvRA*jMk*)yE}x8NDy-Q4you z>RBLd9J_vq?H?BOstEVS6+G3{5OzUOYg49D?8jy=K#GT8S+_hSYZzj$qGds1OD!hu zs;G#0u$6g0l+SR=nXa8L4h(J=;+?y6be-5t_Sgr!eJcWo>?|@g&_?u(tli2l09>Ym^HuogqWkI=< zeU+U`;O&M@RuLB8UWJAiknn<@t|gg1$G)yIAoy1=qhPU*I(wbua?Hh6MeSO|m&kt7 zjgKY@@(q~h^zjJ}{OS$)2$D?dSOK1HLAN82_<&`FIiG(&|0nr+*AjMUtedU?OoOC~1={WAnct8@n+LbTZo8r)h9p7wA>`c%2nee*l2-n$z7o5^vR z(=TlPQ+HBPalw#q#pUirh3TA%S{=%jFs+(=hkqv*OLMO{I~w9raU<7TFV1bh{PF!i zhb<%(C+&W-)L9%}=TP~eAQQ39vB>XXibA8XwnlW^AhwbfS4vk2i5eRhP;_~^@w_#o z&zSwiB$-qE*qAGq%=LrcobMwW_uw}DBMUboBwp7~hbXdU#Id5`@P$IHfm4Y@mynNHN zl|Hhoi6_%Qj1w+wi&}kT31E8bK9mcWhq^4%oRDUK0pg({Nd}=2W z%&kkOL!=3nqdL~zZ;8eRr&fR4ajMI!GyE^@xNZxsA~AUy8-z(f_#rnuxchD)|8^rR z!+)@XRa|CCkkv&mBc*L$f9BCP`)3#}PDLsLw)ZRTW)0rv)bTMX=7B|{VCKbMqZV2x zzb2*16KhjTvvJ&Gwh`TK9R7Y;pAh-Yo^$n$T(N$9fp2Z%;y`e%bt1mXHq>~zR+MJ* z)b2@DN3-;A`+eIo@B)N)iaLlK$f*(y?n$3LkW04iD`gz<721%^lTHJwa~O`i>bdGC z=Xw~PzOV7fWDz=1-Nmcw{rL_kM939+e^pE4t~3J^wnJ}KF>woM>ev@thm#tc3I4lN z=tOC#jnqWoVwC6GIkdlJ8*EW?n**GiOtJ6KZ8J&+$*^#-Fr z(%|Ywlkt3PtLp8DY_sp?dYlEceaXzB?`~c{hU%Bu-$7O`jWf zH-;=#0NYrCDtvq4Q8?m+;|MlE204MIV@Se{3WRj|)-8e$ z|9X-rJoemilNSapOj==VcaSk9nj%LpjG9nq)Rs^aw864c*GogTg;Rhvka?lJzW-rK zQBw}0=xA#!CnLSrgM0$HUL4s6sE&@{8pdbH#It^%09D`CA(Ltv<}U^2llzLxNujsoz8@){b`~8hiwt5Nre+ zcN+dpTN$glke>uzj?{jE;|3C;`%j8n=6-F zY)>?w1raNd!BgMC=%j8MP zi2LNx#?k4GxN&^+7!m=EmOB`|RTuiTB6LpjBRU>N2aanRp202A5iOlVE`7!vjR<%~ zloF`{-6%_MgfU=yjvQ+(nG9acCuOv`44BK0*UA2>F6%q<+@P|DYeP`$x>nE}WGx(D@fo zD@RtIPB z8zmoz24B5fI^N@_(@t)Z*m5It=;HAWCm*_op1W-CW|NlWYp;Mn!7C?MKhX2KV*0w3`$nqjoho?7&Wk$e*Cd#(PKgeV9+iA(}0eiVO74gvwLEk+Jo7iRv7DEztz z_gwyC&N^rzG`&8SS@z-fkQjB{pR%;E4B-t%a4_}~@qb$xIi^)CMy)e>B1U1=sUjFj zm_JW-vdZEb`1^_qjGp|!8HI)C^W83Q{6aT7SW@f${;Byo<>Z((Y0|RW9ySRB5yC7d zABnaGWS%!@$SdOZ&uUlo7bsEwN$do9Zd6X$*+;x z$oZkOfNnCfurqO@CwO5k`8Ys}hqmxUYk!rN5Q00`gSmFKU1aM#Pn=dEAy^4n?t1-W z#3=1ne&ZI^_8Y&><9?3A@&vw13-Mm0v8a~Cd4#VV75Y&WS=VTq?$9ZuIUDVE?|cKA zwhXQu4QVEB^iv6oP4O-Eg3PE+eMrxC92l!G`m~z%j9+uQZ)dEWnP}^0(RDHE>a-ZO zv>w^cRG`4xtjBoJ&@dJXM4(Qis1ngO3q+PLxkP;i^AHd>J0rYJ(l}l3Z;VM`uB+-^ z3husK2lsZ9aj!_k(|mLjaqSFScA2%wKJW?|GoE#bQ(AbnAW%!U&tvwZ7GgY^+mr@7 zBkBW;41~;*rRKry{0#`p@d>QEn|)C9+NH^BPxr1mfZC9$Y1j$GHL_Iw(^l8!znOXh z;gS6p1Q=8T0ofV@Jb>EN?qQZ>#$Hc8_pBF?f#vi0Nb@xzxGs7P5rtRaQH-Xg5`?V> z9k_PphlFM%Oj~V8aOWi}eV5(?2qmx|h-Grc5&CX~pi->eS}C zOrdGdGJCB%+j@DSr4uv>hu7C2v8u$Mh{qB}iGp4vgzrRlWgrw?Fo7?@+(p{VTWPiM zIKh9Ielt*o`fA!zJ*kmW&Lc&(HxAn*yKMD{7o`L;Lxchip`i+%?w zoFdAS8}Qa9fK7d`b(&%a|m*dz`c{kEB5!L?uk+vsk z`%gvtO*+vA16wd58S%$46Nt~tNRq+@(tITN=#jm&cZPFjK=HWCJ(j;C&Xqs-Fj5tv zSjDI$GByMV;aR2za`lN@@RtHI#%RRCnGAeO$=yHa`2(5Zz80k=zVu6^FJB_Gdr$OM z8dzNrzQKZrkj;TRpXA%-khqpwefM-CqTm((svxG4k@Q&gTTQya4UKtT=S{uwmv`r8 z(|Tv5FdV>g3a=>=gjSRWOZxA>cZa`|-9$O_L6?kDTfe3n&Q=~Q`x|AiVDtSMJ1g(3 z%uEQh5e+LG7QH0v2vtZF!8K7Wyx*U_4w;yKJ?ay~F_eUC!6yiU*)#-Q1O3BalS;=M zO=_=)DWqD=-+u#X1IrH+fJLEW->cf#m8P_8^nk%~amV=;uL{Iucc_qRC%mq%m^P=0 zN0K|}5cv8MrL9>-;AI)B2GM_5mmgus-_)Lu+MQK%`mc|V#)Sv?MI*2Y(C5)Vq7x!b zkiki2L)c0aErFuIIF5}adm{|1@|1fTwZt#u>7FMi{|t={HSJA1`t0eu=?nu%&Y=23 z-VgWbFsm^)Pmd1Wr4%3umdA(~OmngcKtYh*16oxlwAr@}E6<3?wW5Qzty&mxls|I5 zJGf&PFEC!GwxYgL^xP-rg?H8a#NU1I8Sg$s@!HPTRQ4H^8fc?nE*erThSwGOP(u+S zLRu1ZGM>v(Rk=}5qwYv_cujq==5#8!{)qanXJ_q-w9U5v^ROh!oH{-MZT*0l@e3FX zIPlU_V0E~MB?p^AHbCcnvQ-g?=Az^F!rP~g(wlKxtO~v|HGsUZmWkL0M|WnIysgh- z7MH4(7Ifc9WA+;?iEMuN=*!W5`ryGsI`I1IiDcHWAuPKPyleC`(VrhEc#s`>1{{}F zH=He(G&6twIwtza;j?y!VPA?rW@zGqC^PaXWCzNJ@(*z_trj>gHGU4#dkdWaRe7Gi zt&|PM5jUo)RWnKoV~t0zHd(3+EXM%z`5__P6dwv`Q<8(|G4A9*$&<> zAQNhepPp}4W5wS6HdybRYZ)i%w39b_e#tqaeGltQ;c%!USXfpUai9~ThXd^&Daih? zAJ&gLG;YQwoO46RNo@~|&4{XG`Pg}!e0-%IbD#B9ZfmbGwjAGqfXcWi z#+J2of;V?dRfIj|r6FjV39t9fr!*YJ206%^@-C$huq)Vej;hg?8^~AcGh4!3V$Cgp z`RSR~VNZ5cqy-qe;@mSo7euxI$~9e@bDL#vzINS7yHCD2Zm8IDGyKi4f7&fkC6@D* z4(_?U6}lpdzp#qIz}`lElj&YsL`0WNnE9-)`kAbI^^WEU(iibl`~ZWt^0x8K~p zU~;^YgOWPrg$9^w4AFP+V7m4ziUAvz{|Lv`}^OAfESNc6TtlNkrfYs&h3R9swY zSeLW)kDP!HAjWu0EB9p0BHg{zS7bOmGq>iC9r#Lk2~0W*){Uz{_PGIJHYMn&r3fca zz_)>5?miZvx1m;fC7MHtKWZ>nO7pc~LwiF<<}ya3UA=U9hOM3J;2|t z)mP?2=_*MbsB2W?#`BuV!-2-w7*~=GCWy~pv~siC|92SHCG&t2hW_N@%|X0=bNExW^>1}nDJtt>Bd`XK%PKnilruL{G@8S3N?aDQT;xB zbQfJYe^&Kw`q7KC&gms% z+4a0-ZvSK+&PzGO@olN!GT0=@I8`;(+job$!tYY`2pt>+px9CzMY zte|#Fmi`49gsecDWjKbAQi$N%AXADQ7|X4S&vY4N%8^g>eq(7B0&(L~%uRgVIIr7)xuTY+!C3 zCLtStz2*-5gC?1+taYuK=s0*A$=A8Zr(ysykr2g@-l0J|Lxc`$r{6}t*x@|3#9n`o ze7x}0XD31RwkIo(zi{*=U&eZNM6KKQ^5HS<)}&ojzUiqRD1=)dZr@jlRvI1-aNk$- zYHWyC7@ihRgh6*0=YIg3vMF)%4LC-}bs2C|HBV0a)P9<*a!G+JJi02KpM$b{=SM zrP@RpW}WNW%Q*M;$23!&B4Hrbr-8&Ax6M{p)8Lx$Zk z{eL{3=KwU&CGYi{9KOvW1B)!ydsm<7E>}JMx z)p%Hg>;WLVDO-?EW@-4>?@X0?4pkGp?SyPOF1av!TWR3|!JaY~SnnK?JcJsVq5C$4 z2aY(z^Rlu0MiIi7`=E#A;B|aqbWka zHe>=uznWz3csOIj_|Ri4UD3nv=8n`+mHpk($(3kzlFr!yWA3X_FFcBpXA7y);Psbf zkOf+S-azoe`t(deJh*~QjFcy%s>%n<%?f6i3Vf4SoY9CXdP+gtrRa0@eGnG7QT;4D z-1llO-hYs3JZLV-?c9tj@OOvO6QHe>hI%~Ufb3o94bFAHn#w*wII|`WiShOs!J#o6atBRPMZBr9O4}I-^sV2%?f4n2yzO28>P~N(r z9f6I&MFfHB>9*iN{ldAVLg?f>pe@-5x7KxPOa&wek4APjP7k&o?ToS(q;rcs1CRHh zW67qkyhxqR_>Go2O%c4q-n5goe9h%=MS0+fBSa&b!lbhRJB4_;6hiPs-6e&Z%j6O$F5gKPIXx zyWjjs!HjLwDm|q$#>f-jQv3Dby~uYY#^$1iy04wzFaLsm?L9px{d~vQuZgZ@u1&SA z*t=@Vd){Z9k1qB<6)IokCiyrl;uTuv$oX|r2Ol++H5iXXM8lhLU`8lwh~+Cr9a}VK zRTCGH?;Eg9BT7fv0Ykt35~zlE|I`JP<7DNx?JE}jTajfv@Ru+)YLIrf`fH=g`^R&S zl_Q?}pR&7p>0RQ9HTz}$eRJDUFy9K_5~3$pJuITW37>Kei6kLpTR{^f((*Qsq@=z3K?`rf>=SX2}x% zM#6f9BVR6aGn5zK9Hr`dqmIrK7xY!4^yQrlk?8nu%guTWcR?f%JXOW95 zQ5tp?Ab-6gzcF_+!NMXxrh%vg>!*o3IS6A(#WwxR#EoFsx51{G$ldP&mwQY8!83#- z!CUU=8>$7WGL87B-8Y#gk=;rIoF7jQk0o$fXwT20olWXi>bB~$DK?4{X6Nj8Xsan4WcQOwh zlN;xt1!s<7k^c?CKW4tYvyl0z-%a_6V*jSB?L;=` zAIQM}vi~AWJflw~CZ9EdbN71Y9swTbW1eOoA0gbb``CW%h9xJc= zq9{Rxlr5$$=n@kE1q|m%--EmBKW_MlUV1@7ZIzhaE!o8gUYy$hiFA_rpzJ3{ZQs-E zgEtP!T4o(2(GywzokMs5SyT=y2GZ8B{Asc3GA-0t_2rg)QCnQqFJ{dX+`wL`?(d}N zV*^V`^`_01YJ3Hn^yrd`JMz7kstAlnbxl2^s-`a|O7PQuIX&vw(UOKEJN$dbZy!QA zcI15PIW-}bJbrkGOYwEwJYBSiZM=t#!>y$>m{2%nEZ~IyKBhjU!N^hkX2QLbrp zD!Y=3d9>McyitXSL%h6_k-f!ver&lV zs#3$-w>Yi?IWd-s~J->{Hu5AZz}*zX8SQfZL+fpMJ7bhakHFjluV>3Ya*5~W%FdiuGRpmcfd5s&zL7FW5n z7FrBVouTJF&WfgOB1`kHHmJWm?^r-;;}#~HTa2^h0?t|QNIf+i$>I`hFZR%-a7szL zYib|0ewyT7v$ck{AgDSE%Xu-(o*NRP{AgR5sv|?Dt(5QgE%hMh*s*2kSTCuNla|X3 ztujoGld$jXa_fE`|)8p4?D}UR739bZg_B<3{8K}e@+rY;TfJKm=sfG){2HWE=A=# zeX83SQ87U{n<~%t9;oN0)U*~iJnK%vmb0%y9`MvOGmtwp;`5#vjB_&eB|?g8fw;_! z1d38Vy1s~68x(!juWu`5iFen6+)Cgb6Yi4h{EZXC{=9oWC2`!wr&I>mpdU^=U_Z4$ zs&!OVy~66f1f5zBkpRtrgdC&zRMW=wBW@p?Lq0K-J1(lGUzNIZ zl%;E--uKbqV|m`5x|cnX?4ZKd742b#a3ZoW)3`^g#2?$WNgCzG<&&BmQ`KB9`KL>u zQo`K&QRx@9j(4-D@Wjr%7H4CsRvcGe(fHopXA@0D!CfIDe{NsJVhaPsa2O_5GK39& z!=6qH#8E=Bzv;fwLQQ*Jc-hpO6QiPOlA!K~yp0*&)EgYs_%g56&`LO{-JYuU2fO8w zl(oMUcV12MY81zv)>rqewh7P*9{iiD(t3&Nl%xBFOo{3+nnB(SV{swav&SZ&OcLv*R&o^hReBj4I9No*p$VRm%xUe z3YHPA>0*v*AJDpXDz@RBB&|W3rD!S}Vp3FN*IC68LiUZ)_3EOwPTLc)g~gC>$;*Bo z?ITWAnKQv((ao zR?%1RY6CVf48{ZxoC)9`*R^~Z;(e9H;)dU}S*f2NqF4){s7rS&TLk^S}WPU-IO za_@vnR2LJYvlSr$H+fHtdoHQK<2#X#6CCd39zZ=FA8ss{x`{}F7#2JYOLKD1SkzA>R6vWX_ z16O=4dxOBZR0y8vL2d1S#3!XJmeV=Yx2HFIspGCPLzRu xpfSizZ~$cCSL>nR%yom`jrL?3u?*GcfYB@%z3-){E(Z)|5hEeoBi82rzX4NLvjzYF