Skip to content

Commit

Permalink
v3.00
Browse files Browse the repository at this point in the history
Update Log of v3.00 (2024/10/13)

[Changed] Optimize the time limit mechanism.
[Changed] Update documents.
  • Loading branch information
SamToki committed Oct 13, 2024
1 parent 8b2513b commit ac60d2d
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 25 deletions.
Binary file modified PROJECT/docs/假名征服者 (KanaMaster) 快速入门.pdf
Binary file not shown.
Binary file modified PROJECT/docs/假名征服者 (KanaMaster) 说明文档.pdf
Binary file not shown.
6 changes: 3 additions & 3 deletions PROJECT/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="假名征服者 (KanaMaster),日文假名记忆训练游戏,结合了音游的元素。本游戏针对日语初学者,也欢迎 N1 大佬来挑战高难度。" />
<meta name="keywords" content="Sam Toki, SAM TOKI STUDIO, 假名征服者, KanaMaster, かなマスター, 日语学习, 日语入门, 五十音图" />
<meta name="version" content="v2.01 (2024/10/12). Since 2023/11/05." />
<meta name="version" content="v3.00 (2024/10/13). Since 2023/11/05." />
<meta name="author" content="Sam Toki" />
<meta name="copyright" content="(C) 2023 SAM TOKI STUDIO" />
<title>假名征服者</title>
Expand Down Expand Up @@ -487,7 +487,7 @@ <h1 class="SectionTitle">设定</h1>
<span>时限:从</span>
<input class="Textbox Width80" id="Textbox_SettingsTimeLimitInitial" type="number" min="1" max="10" step="0.5" value="8.0" placeholder="1~10" onclick="SelectText('Textbox_SettingsTimeLimitInitial')" onchange="SetTimeLimitInitial()" />
<span></span>
<input class="Textbox Width80" id="Textbox_SettingsTimeLimitNormal" type="number" min="1" max="10" step="0.5" value="6.0" placeholder="1~初始时限" onclick="SelectText('Textbox_SettingsTimeLimitNormal')" onchange="SetTimeLimitNormal()" />
<input class="Textbox Width80" id="Textbox_SettingsTimeLimitFinal" type="number" min="1" max="10" step="0.5" value="6.0" placeholder="1~初始时限" onclick="SelectText('Textbox_SettingsTimeLimitFinal')" onchange="SetTimeLimitFinal()" />
<span></span>
</label>
</li>
Expand Down Expand Up @@ -740,7 +740,7 @@ <h4>音频</h4>
<legend>关于</legend>
<p>假名征服者</p>
<p>by SAM TOKI STUDIO</p>
<p>版本 v2.01 (<time datetime="2024-10-12" pubdate="pubdate">2024/10/12</time>)<br />
<p>版本 v3.00 (<time datetime="2024-10-13" pubdate="pubdate">2024/10/13</time>)<br />
始于 2023/11/05</p>
<ul class="CtrlGroup BelowParagraph">
<li class="Ctrl">
Expand Down
40 changes: 18 additions & 22 deletions PROJECT/scripts/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// Declare variables
"use strict";
// Unsaved
const CurrentVersion = 2.00,
const CurrentVersion = 3.00,
KanaGrid = [
["", "准备", "暂停"],
[0, "あ", "か", "さ", "た", "な", "は", "ま", "や", "ら", "わ", "が", "ざ", "だ", "ば", "ぱ", "", "", "", "", ""],
Expand Down Expand Up @@ -79,7 +79,7 @@
QuestionRange: [0, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false],
Difficulty: {
TimeLimit: {
Initial: 8000, Normal: 6000
Initial: 8000, Final: 6000
},
Cooldown: 1000,
HPDrain: 10
Expand Down Expand Up @@ -430,11 +430,7 @@
}
}
ChangeText("Label_GameElapsedTimeValue", Math.floor(Game.Stats.ElapsedTime / 60000) + ":" + Math.floor(Game.Stats.ElapsedTime % 60000 / 1000).toString().padStart(2, "0"));
if(Game.Stats.Progress <= 20) {
Game.Stats.CurrentTimeLimit = Game.Difficulty.TimeLimit.Initial - (Game.Difficulty.TimeLimit.Initial - Game.Difficulty.TimeLimit.Normal) * (Game.Stats.Progress / 20);
} else {
Game.Stats.CurrentTimeLimit = Game.Difficulty.TimeLimit.Normal;
}
Game.Stats.CurrentTimeLimit = Game.Difficulty.TimeLimit.Initial - (Game.Difficulty.TimeLimit.Initial - Game.Difficulty.TimeLimit.Final) * (Game.Stats.Progress / 100);
ChangeText("Label_GameCurrentTimeLimitValue", (Game.Stats.CurrentTimeLimit / 1000).toFixed(1) + "s");
ChangeText("Label_GameAccuracyValue", Game.Stats.Accuracy.toFixed(2) + "%");
ChangeText("Label_GameAvgReactionTimeValue", (Game.Stats.AvgReactionTime / 1000).toFixed(3) + "s");
Expand Down Expand Up @@ -698,7 +694,7 @@

// Difficulty
ChangeValue("Textbox_SettingsTimeLimitInitial", (Game.Difficulty.TimeLimit.Initial / 1000).toFixed(1));
ChangeValue("Textbox_SettingsTimeLimitNormal", (Game.Difficulty.TimeLimit.Normal / 1000).toFixed(1));
ChangeValue("Textbox_SettingsTimeLimitFinal", (Game.Difficulty.TimeLimit.Final / 1000).toFixed(1));
ChangeValue("Textbox_SettingsCooldown", (Game.Difficulty.Cooldown / 1000).toFixed(1));
ChangeValue("Textbox_SettingsHPDrain", Game.Difficulty.HPDrain);

Expand Down Expand Up @@ -1082,27 +1078,27 @@
if(Game.Difficulty.TimeLimit.Initial > 10000) {
Game.Difficulty.TimeLimit.Initial = 10000;
}
if(Game.Difficulty.TimeLimit.Initial < Game.Difficulty.TimeLimit.Normal) {
Game.Difficulty.TimeLimit.Normal = Game.Difficulty.TimeLimit.Initial;
if(Game.Difficulty.TimeLimit.Initial < Game.Difficulty.TimeLimit.Final) {
Game.Difficulty.TimeLimit.Final = Game.Difficulty.TimeLimit.Initial;
}
if(Game.Difficulty.TimeLimit.Initial > Game.Difficulty.TimeLimit.Normal + 6000) {
Game.Difficulty.TimeLimit.Normal = Game.Difficulty.TimeLimit.Initial - 6000;
if(Game.Difficulty.TimeLimit.Initial > Game.Difficulty.TimeLimit.Final + 6000) {
Game.Difficulty.TimeLimit.Final = Game.Difficulty.TimeLimit.Initial - 6000;
}
RefreshGame();
}
function SetTimeLimitNormal() {
Game.Difficulty.TimeLimit.Normal = parseInt(Number(ReadValue("Textbox_SettingsTimeLimitNormal")) * 10) / 10 * 1000;
if(Game.Difficulty.TimeLimit.Normal < 1000) {
Game.Difficulty.TimeLimit.Normal = 1000;
function SetTimeLimitFinal() {
Game.Difficulty.TimeLimit.Final = parseInt(Number(ReadValue("Textbox_SettingsTimeLimitFinal")) * 10) / 10 * 1000;
if(Game.Difficulty.TimeLimit.Final < 1000) {
Game.Difficulty.TimeLimit.Final = 1000;
}
if(Game.Difficulty.TimeLimit.Normal > 10000) {
Game.Difficulty.TimeLimit.Normal = 10000;
if(Game.Difficulty.TimeLimit.Final > 10000) {
Game.Difficulty.TimeLimit.Final = 10000;
}
if(Game.Difficulty.TimeLimit.Normal > Game.Difficulty.TimeLimit.Initial) {
Game.Difficulty.TimeLimit.Initial = Game.Difficulty.TimeLimit.Normal;
if(Game.Difficulty.TimeLimit.Final > Game.Difficulty.TimeLimit.Initial) {
Game.Difficulty.TimeLimit.Initial = Game.Difficulty.TimeLimit.Final;
}
if(Game.Difficulty.TimeLimit.Normal < Game.Difficulty.TimeLimit.Initial - 6000) {
Game.Difficulty.TimeLimit.Initial = Game.Difficulty.TimeLimit.Normal + 6000;
if(Game.Difficulty.TimeLimit.Final < Game.Difficulty.TimeLimit.Initial - 6000) {
Game.Difficulty.TimeLimit.Initial = Game.Difficulty.TimeLimit.Final + 6000;
}
RefreshGame();
}
Expand Down

0 comments on commit ac60d2d

Please sign in to comment.