From 6949abc2fb122ef797866e8c30a1ac70ba4de8e2 Mon Sep 17 00:00:00 2001 From: Nyeogmi Date: Sun, 11 Feb 2024 17:58:34 -0800 Subject: [PATCH] Final win screen! --- completion_tracker.lua | 16 ++++++++++++++++ main.p8 | 17 +++++++++-------- state_ironman.lua | 1 + state_menu.lua | 8 ++++++++ state_wonironman.lua | 30 ++++++++++++++++++++++++++++++ state_wonround.lua | 4 ++-- 6 files changed, 66 insertions(+), 10 deletions(-) create mode 100644 state_wonironman.lua diff --git a/completion_tracker.lua b/completion_tracker.lua index fc69024..7cc4ffc 100644 --- a/completion_tracker.lua +++ b/completion_tracker.lua @@ -11,6 +11,22 @@ function completion_tracker:reset() end end +function completion_tracker:get_metascore() + local b0=dget"60" + local b1=dget"61" + local b2=dget"62" + local b3=dget"63" + return (b0<<8)+b1+(b2>>8)+(b3>>16) +end +function completion_tracker:incr_metascore() + local ms=self:get_metascore() + ms+=0x0.0001 + dset(60,(ms>>8)&0xff) + dset(61,(ms)&0xff) + dset(62,(ms<<8)&0xff) + dset(63,(ms<<16)&0xff) +end + function completion_tracker:get_completion_level() return dget(0) end diff --git a/main.p8 b/main.p8 index 05f6294..ff209bf 100644 --- a/main.p8 +++ b/main.p8 @@ -27,6 +27,7 @@ __lua__ #include state_ironman.lua #include state_reset_menu.lua #include state_restartmenu.lua +#include state_wonironman.lua #include state_wonround.lua #include tutorial.lua #include text.lua @@ -72,14 +73,14 @@ __gfx__ 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -fffffffff000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0ff0000fff00000000000000000000000000000000000ff00000000000fff0000000000000000000000000000000000000000000000000000000000000000000 -0ff00000ff000ffff00ffff00fff00ffff000ff0fff00f00fffff000000fff000000000000000000000000000000000000000000000000000000000000000000 -0ff0000ff000f000ff00ff0000f00f000ff0ffff00ff000ff000f00000fff0000000000000000000000000000000000000000000000000000000000770000000 -0ff0fff000000000ff00ff0000f0ff000ff00ff000ff000ff0000000000000000000000000000000000000000000000000000000000000000000777700000000 -0ff00ff000000fffff000ff00f00fffffff00ff000ff000ffff00000000000000000000000000000000000000000000000000000000000000777777700000000 -0ff000ff0000f000ff000ff00f00ff0000000ff000ff00000ffff000000000000000000000000000000000000000000000000000000000007777777700000000 -0ff0000ff00ff000ff0000f0f000ff0000000ff000ff0000000ff000000000000000000000000000000000000000000000000000000000777777777000000000 +fffffffff000000000000000000000000000000000000ff00000000000000000000000a000000000000000000000000000000000000000000000000000000000 +0ff0000fff00000000000000000000000000000000000ff00000000000fff000900009aa0000a000000000000000000000000000000000000000000000000000 +0ff00000ff000ffff00ffff00fff00ffff000ff0fff00f00fffff000000fff00999009aa00aaa000000000000000000000000000000000000000000000000000 +0ff0000ff000f000ff00ff0000f00f000ff0ffff00ff000ff000f00000fff000099999aaaaaa0000000000000000000000000000000000000000000770000000 +0ff0fff000000000ff00ff0000f0ff000ff00ff000ff000ff000000000000000099999aaaaaa0000000000000000000000000000000000000000777700000000 +0ff00ff000000fffff000ff00f00fffffff00ff000ff000ffff0000000000000099999aaaaaa0000000000000000000000000000000000000777777700000000 +0ff000ff0000f000ff000ff00f00ff0000000ff000ff00000ffff00000000000009999aaaaa00000000000000000000000000000000000007777777700000000 +0ff0000ff00ff000ff0000f0f000ff0000000ff000ff0000000ff00000000000009999aaaaa00000000000000000000000000000000000777777777000000000 0ff00000ff0ff00fff0000fff0000ff000f00ff000ff000f000ff000000000000000000000000000000000000000000000000000000007777777700000000000 ffff0000fff0fff0fff0000f000000ffff00ffff00fff00fffff0000000000000000000000000000000000000000000000000000000077777777000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000777777770000000000000 diff --git a/state_ironman.lua b/state_ironman.lua index 85797c9..a897793 100644 --- a/state_ironman.lua +++ b/state_ironman.lua @@ -28,6 +28,7 @@ function state_ironman:on_enter() local w=self.sequence[level]() main.state_manager:push(state_gameround:new(w)) else + main.state_manager:push(state_wonironman:new()) self.done=true end end diff --git a/state_menu.lua b/state_menu.lua index 2120c2c..98111ab 100644 --- a/state_menu.lua +++ b/state_menu.lua @@ -54,6 +54,7 @@ function state_menu:draw() local totalh=optionsh+32 local y=128-totalh-1--64-totalh\2 -- rectfill(68,y,126,y+totalh-1,13) + local y0=y spr(64,68,y,7,3) y+=22 line(68,y,126,y,15) @@ -82,6 +83,13 @@ function state_menu:draw() y+=2 end end + + -- metascore + local metascore=completion_tracker:get_metascore() + if metascore>0 then + spr(72,66,y0-9,2,1) + print("="..tostr(metascore,2),79,y0-6,6) + end end function state_menu:draw_bg() diff --git a/state_wonironman.lua b/state_wonironman.lua new file mode 100644 index 0000000..5e64f18 --- /dev/null +++ b/state_wonironman.lua @@ -0,0 +1,30 @@ +state_wonironman=klass() +function state_wonironman:init() +end +function state_wonironman:enter() + completion_tracker:incr_metascore() +end +function state_wonironman:exit(new_top) end + +function state_wonironman:reenter() end +function state_wonironman:suspend() end + +function state_wonironman:update() + if (btnp(4)) self.done=true +end +function state_wonironman:draw() + cls(13) + local msg="you have reached the bottom\n\nreceive one majestic kroner" + local w,h=measure_text(msg) + local x=64-w\2 + local y=64-h\2 + line(64-7,y-3,64+7,y-3,15) + line(64-7,y+h+1,64+7,y+h+1,15) + rectfill(x-1,y-1,x+w,y+h-1,4) + print(msg,x,y,15) + y+=h+3 + spr(72,64-6,y,2,1) + line(64-7,y+9,64+7,y+9,15) + print("next",57,y+11,15) + print("(🅾️)",57,y+17,15) +end \ No newline at end of file diff --git a/state_wonround.lua b/state_wonround.lua index 6139fe0..8aeffe1 100644 --- a/state_wonround.lua +++ b/state_wonround.lua @@ -59,6 +59,6 @@ function state_wonround:draw() ]]-- y+=h+1 line(oldx,y,oldx+oldw-2,y,15) - print("next",56,y+2,15) - print("(🅾️)",56,y+8,15) + print("next",57,y+2,15) + print("(🅾️)",57,y+8,15) end \ No newline at end of file