From dca4ea7eed4a72d0861d978a9fd242ee95914d22 Mon Sep 17 00:00:00 2001 From: Alexander Wirth Date: Mon, 6 May 2024 16:01:49 +0200 Subject: [PATCH] v4 Release - Reorder levels for better difficulty curve - Remove an unintended solution from level 9 - Add a new level 11 that introduces the concept of two monsters - Remove former level 29 to keep the total number of levels at 30 --- README.md | 1 + monstermaze.js | 253 ++++++++++++++++++++++++++----------------------- 2 files changed, 137 insertions(+), 117 deletions(-) diff --git a/README.md b/README.md index 6e8a36e..8ee8e49 100644 --- a/README.md +++ b/README.md @@ -33,3 +33,4 @@ Your progress is saved automatically. - July 27, 2022: Version 1 of Monster Maze is released - March 7, 2024: Version 2 of Monster Maze is released - April 29, 2024: Version 3 of Monster Maze is released +- May 6, 2024: Version 4 of Monster Maze is released \ No newline at end of file diff --git a/monstermaze.js b/monstermaze.js index eb030ca..2cb29aa 100644 --- a/monstermaze.js +++ b/monstermaze.js @@ -7,7 +7,7 @@ TUTORIAL_Y = 0; TUTORIAL_WIDTH = 20; TUTORIAL_HEIGHT = 20; -SAVEGAME_VERSION = 4; +SAVEGAME_VERSION = 5; SCREEN_GAME = 1; SCREEN_STATS = 2; @@ -191,8 +191,8 @@ const levels = [{ " #. . . . . . . . .# ", "### ##### ### ###", "#. . T .#. . T .#. . .#", - "# ### # # # # #", - "#. . .#. . . . . . .#.#", + "# ### # # # #", + "#. . . . . . . . . .#.#", "### ########### # #", " #. .# #. . .#", " ### # ####### ###", @@ -222,30 +222,9 @@ const levels = [{ "#. . . . . .#", "#############", ], - grades: [40, 42, 46, 52], + grades: [40, 42, 48, 56], solution: "1bpifxuo33cwagkijhle42tsy" }, -{ - template: [ - "#######-#####", - "#M . .#. . M#", - "# ####### #", - "#. P . .#. .#", - "### # # # #", - "#. . .#. .#.#", - "# ######### #", - "#. . . . .#.#", - "### ##### # #", - "#. . . .#.#.#", - "# ##### # # #", - "#. .#. .#.#.#", - "### ### # # #", - "#T . . .#. .#", - "#############", - ], - grades: [58, 62, 68, 78], - solution: "d3wmfqgldz0vibbdlvi0frc2hfhhpncg3n" -}, { template: [ "#############", @@ -267,22 +246,22 @@ const levels = [{ }, { template: [ - "#############", - "IM .gB T . P#", - "# ### ###", - "#. .#.#. . .#", - "# ### # # #", - "#. . . . .#.#", - "# # ### #", - "#. .#. .#.#.#", - "# # # # # #", - "#.#. . . .#.#", - "##### # #", - "#. . . . . .#", - "#############", + "#####-############### ", + "#. .#. . . . . . M .# ", + "# # # ####### ### ###", + "#.#. . M . . .#T T T#.#", + "# ### # ### # #", + "#. . . . .#. . . . . .#", + "# ### ### ### #", + "#. . . . . . . . . .#.#", + "### # # ### ####### #", + "#. .#. .#. .#. . . . .#", + "# ### ### ### ### ###", + "#. . . . . . . P . .# ", + "##################### " ], - grades: [48, 52, 58, 68], - solution: "pfcponibp1yvabxwrhflnsf5pes3m" + grades: [43, 46, 52, 64], + solution: "gbeopfbnhz0bf5elrnghdfhhyl4" }, { template: [ @@ -309,6 +288,46 @@ const levels = [{ grades: [82, 88, 100, 140], solution: "ebxwreen3yy3ebogbnel3j0bonwcimun5qe5cpicr513km" }, +{ + template: [ + "#######-#####", + "#M . .#. . M#", + "# ####### #", + "#. P . .#. .#", + "### # # # #", + "#. . .#. .#.#", + "# ######### #", + "#. . . . .#.#", + "### ##### # #", + "#. . . .#.#.#", + "# ##### # # #", + "#. .#. .#.#.#", + "### ### # # #", + "#T . . .#. .#", + "#############", + ], + grades: [58, 62, 68, 78], + solution: "d3wmfqgldz0vibbdlvi0frc2hfhhpncg3n" +}, +{ + template: [ + "#############", + "IM .gB T . P#", + "# ### ###", + "#. .#.#. . .#", + "# ### # # #", + "#. . . . .#.#", + "# # ### #", + "#. .#. .#.#.#", + "# # # # # #", + "#.#. . . .#.#", + "##### # #", + "#. . . . . .#", + "#############", + ], + grades: [48, 52, 58, 68], + solution: "pfcponibp1yvabxwrhflnsf5pes3m" +}, { template: [ " ############# ", @@ -370,6 +389,25 @@ const levels = [{ grades: [102, 107, 120, 145], solution: "obwegbwgd4i505jwtbchcmitkbiwovunjsfbingipbi0340403cuf5ci" }, +{ + template: [ + " ########### ", + " #. . . . .# ", + "##### ##### # ", + "#. T#.#. . . .# ", + "# # ### ###", + "#. . .#. . P . .I", + "# ### ### ###", + "#. . M . .#T .# ", + "### # # # # # ", + "#. .#.#.#.#. .# ", + "# ####### ### ", + "#. M . . . M# ", + "############# ", + ], + grades: [83, 89, 100, 136], + solution: "ibdpaijme1oscchloapn5mlwddiemhwhjzobf2wld111ejx" +}, { template: [ "#-#################", @@ -458,25 +496,6 @@ const levels = [{ grades: [188, 195, 225, 280], solution: "ehiuifibd2hrhowlrqvd3w0yp3lcpmghiwezkbeemewhezevflwurpwbaw020ndgmeibdueuekicogjl3rlbalmmbneeh3zmwm1" }, -{ - template: [ - " ########### ", - " #. . . . .# ", - "##### ##### # ", - "#. T#.#. . . .# ", - "# # ### ###", - "#. . .#. . P . .I", - "# ### ### ###", - "#. . M . .#T .# ", - "### # # # # # ", - "#. .#.#.#.#. .# ", - "# ####### ### ", - "#. M . . . M# ", - "############# ", - ], - grades: [83, 89, 100, 136], - solution: "ibdpaijme1oscchloapn5mlwddiemhwhjzobf2wld111ejx" -}, { template: [ " ################### ", @@ -527,26 +546,24 @@ const levels = [{ }, { template: [ - "#####################", - "#. . . . . . . . M .#", - "### ##### ### ### ###", - "#P .#. . . . . .#. M#", - "# # # # ##### #", - "#.#.#. .#. . .#. . .#", - "# # # ### ### # # #", - "#.#. . . . .#. . .#.I", - "# ### # # # # #", - "#. T .#.#. . . . . .#", - "### # # ### ### ###", - "#. . . .#. . .#. . .#", - "# ##### # ### # # #", - "#.#. . . .#. .#.#. .#", - "# ### ### # # # ### #", - "#. . . . . .#. . .#.#", + "###########-#########", + "#. . . . . . M#T .#B#", + "# ####### ### # # #", + "#. .#. . .#.#.#. . .#", + "# # # # ##### #", + "#. . . P . .#.#. .#.#", + "# ### ######### ### #", + "#. T#. . . .G. . . .#", + "# ### ### # ### #", + "#. . . .#. .#. . . .#", + "# ##### ####### # ###", + "#. . .#.#. .#. .#. .#", + "### # ### # # # ### #", + "#T .#. . .#. .#. . .#", "#####################", ], - grades: [76, 80, 92, 106], - solution: "a3mcewwhd4lqi5mmrbd1b2nukneeimugmmibyl3knkl" + grades: [148, 154, 182, 220], + solution: "pgdwtemimrltogiipihbdp0bamodpbwz33ivobppjmvih3l2lnpglecndwa5cgopbavbpti205sxczi" }, { template: [ @@ -573,24 +590,26 @@ const levels = [{ }, { template: [ - "###########-#########", - "#. . . . . . M#T .#B#", - "# ####### ### # # #", - "#. .#. . .#.#.#. . .#", - "# # # # ##### #", - "#. . . P . .#.#. .#.#", - "# ### ######### ### #", - "#. T#. . . .G. . . .#", - "# ### ### # ### #", - "#. . . .#. .#. . . .#", - "# ##### ####### # ###", - "#. . .#.#. .#. .#. .#", - "### # ### # # # ### #", - "#T .#. . .#. .#. . .#", + "#####################", + "#. . . . . . . . M .#", + "### ##### ### ### ###", + "#P .#. . . . . .#. M#", + "# # # # ##### #", + "#.#.#. .#. . .#. . .#", + "# # # ### ### # # #", + "#.#. . . . .#. . .#.I", + "# ### # # # # #", + "#. T .#.#. . . . . .#", + "### # # ### ### ###", + "#. . . .#. . .#. . .#", + "# ##### # ### # # #", + "#.#. . . .#. .#.#. .#", + "# ### ### # # # ### #", + "#. . . . . .#. . .#.#", "#####################", ], - grades: [148, 154, 182, 220], - solution: "pgdwtemimrltogiipihbdp0bamodpbwz33ivobppjmvih3l2lnpglecndwa5cgopbavbpti205sxczi" + grades: [76, 80, 92, 106], + solution: "a3mcewwhd4lqi5mmrbd1b2nukneeimugmmibyl3knkl" }, { template: [ @@ -615,29 +634,6 @@ const levels = [{ grades: [183, 190, 215, 240], solution: "0lchacenevkrcnwlnmd1jscd0fhemvedispsibicbawlau0bafooslihe30b0fmdemm1a4ysynlpfngojppb0cdibaiqwrq2i" }, -{ - template: [ - "#########################", - "#T . .#. . . . . . . . .#", - "##### ### # ### ### #", - "#. . . . .#. .g. . .#. .#", - "# ### # # #G# # ###", - "#.#. . .#.#. . .#. .#.#M#", - "# # ### # # ### # # # #", - "#M#. . .#. . . . .#. . .#", - "# ### # # ### ### ### #", - "#. . .G. . . P#. . . . .#", - "# # ### # # ### #", - "#. . .#. .#. . .#. . . .#", - "# ### # # ### ### #", - "#. .g.#. .#. . . . .#T#.#", - "# ### # ### ###g### #g#", - "#. . . B . . .#.G.#. . .#", - "###############-#########", - ], - grades: [139, 145, 170, 205], - solution: "ildurihbpszbhfdciave3ykdipoemjcmjveyzoegdgiodyov0bwedfhb4wevolwhdvczhfc252w" -}, { template: [ "######### ######### #########", @@ -662,7 +658,30 @@ const levels = [{ ], grades: [251, 259, 300, 400], solution: "52moriwehnybfbvwtvdnhvkzekpsrhglzmhbyfcemjghdvoyo4hlrvm0fse5ihxhrpwn5ygrcbidplplepyq05juanel4sc5dmhwavu13rlcolcipap334ktcpidp2kk33x" -} +}, +// { +// template: [ +// "#########################", +// "#T . .#. . . . . . . . .#", +// "##### ### # ### ### #", +// "#. . . . .#. .g. . .#. .#", +// "# ### # # #G# # ###", +// "#.#. . .#.#. . .#. .#.#M#", +// "# # ### # # ### # # # #", +// "#M#. . .#. . . . .#. . .#", +// "# ### # # ### ### ### #", +// "#. . .G. . . P#. . . . .#", +// "# # ### # # ### #", +// "#. . .#. .#. . .#. . . .#", +// "# ### # # ### ### #", +// "#. .g.#. .#. . . . .#T#.#", +// "# ### # ### ###g### #g#", +// "#. . . B . . .#.G.#. . .#", +// "###############-#########", +// ], +// grades: [139, 145, 170, 205], +// solution: "ildurihbpszbhfdciave3ykdipoemjcmjveyzoegdgiodyov0bwedfhb4wevolwhdvczhfc252w" +// }, ]; const glyph = {