Skip to content

Commit e1af0fa

Browse files
author
zilvinas
committed
..
1 parent 9cb5fb4 commit e1af0fa

File tree

13 files changed

+80
-38
lines changed

13 files changed

+80
-38
lines changed

dist/assets/index-BAz3UNJ-.css renamed to dist/assets/index-BHoGdfaQ.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/assets/index-ByCD6DJg.js

Lines changed: 0 additions & 19 deletions
This file was deleted.

dist/assets/index-DU3BOFyb.js

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,20 @@
55
<meta charset="UTF-8">
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
77
<title>puzzle 15 ml</title>
8-
<script type="module" crossorigin src="/assets/index-ByCD6DJg.js"></script>
9-
<link rel="stylesheet" crossorigin href="/assets/index-BAz3UNJ-.css">
8+
<script type="module" crossorigin src="/assets/index-DU3BOFyb.js"></script>
9+
<link rel="stylesheet" crossorigin href="/assets/index-BHoGdfaQ.css">
1010
</head>
1111

1212
<body>
1313
<main id="app">
14-
<div>------------------------------------------------------------------------------</div>
14+
<div>--------------------------------------------------------------------------------------------------</div>
1515
<div id=tools>
1616
<input id="startTraining" type="button" value="train">
1717
<input id="startTesting" type="button" value="test">
18+
<input id="zenGarden" type="button" value="zen garden on">
1819
<span id="statsInfo" class="stats-info"></span>
1920
</div>
20-
<div>------------------------------------------------------------------------------</div>
21+
<div>--------------------------------------------------------------------------------------------------</div>
2122
<div id="console" class="console"></div>
2223
</main>
2324
</body>

dist/style.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ button:hover {
185185
} */
186186

187187
.stats-info {
188-
padding-left: 20px;
188+
padding-left: 10px;
189189
color: #949292;
190190
font-family: monospace;
191191
/* padding: 10px; */

index.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,20 @@
55
<meta charset="UTF-8">
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
77
<title>puzzle 15 ml</title>
8-
<script type="module" crossorigin src="dist/assets/index-ByCD6DJg.js"></script>
9-
<link rel="stylesheet" crossorigin href="dist/assets/index-BAz3UNJ-.css">
8+
<script type="module" crossorigin src="dist/assets/index-DU3BOFyb.js"></script>
9+
<link rel="stylesheet" crossorigin href="dist/assets/index-BHoGdfaQ.css">
1010
</head>
1111

1212
<body>
1313
<main id="app">
14-
<div>------------------------------------------------------------------------------</div>
14+
<div>--------------------------------------------------------------------------------------------------</div>
1515
<div id=tools>
1616
<input id="startTraining" type="button" value="train">
1717
<input id="startTesting" type="button" value="test">
18+
<input id="zenGarden" type="button" value="zen garden on">
1819
<span id="statsInfo" class="stats-info"></span>
1920
</div>
20-
<div>------------------------------------------------------------------------------</div>
21+
<div>--------------------------------------------------------------------------------------------------</div>
2122
<div id="console" class="console"></div>
2223
</main>
2324
</body>

index.html.o

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@
1010

1111
<body>
1212
<main id="app">
13-
<div>------------------------------------------------------------------------------</div>
13+
<div>--------------------------------------------------------------------------------------------------</div>
1414
<div id=tools>
1515
<input id="startTraining" type="button" value="train">
1616
<input id="startTesting" type="button" value="test">
17+
<input id="zenGarden" type="button" value="zen garden on">
1718
<span id="statsInfo" class="stats-info"></span>
1819
</div>
19-
<div>------------------------------------------------------------------------------</div>
20+
<div>--------------------------------------------------------------------------------------------------</div>
2021
<div id="console" class="console"></div>
2122
</main>
2223
<script type="module" src="/src/main.ts"></script>

public/style.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ button:hover {
185185
} */
186186

187187
.stats-info {
188-
padding-left: 20px;
188+
padding-left: 10px;
189189
color: #949292;
190190
font-family: monospace;
191191
/* padding: 10px; */

src/game-15-reconstruction/Environment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ export class Environment {
100100
}
101101

102102
public prntInfo(): void {
103-
Utils.prnt("\n\n---------------------------------------------------\n");
103+
Utils.prnt("\n\n------------------------------------------------------------------\n");
104104

105105
const state = this.state.getState();
106106
const io = state.indexOf(-1);

src/game-15-reconstruction/EpisodeRunner.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export class EpisodeRunner {
6262
}
6363
}
6464

65-
Utils.prnt("\n\n---------------------------------------------------\n");
65+
Utils.prnt("\n\n------------------------------------------------------------------\n");
6666
Utils.prnt("\naction: " + action);
6767

6868
const result: EnvironmentActionResult = environment.executeAction(state0, action);

src/game-15-reconstruction/EpisodeTester.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,13 @@ export class EpisodeTester {
5757
let goals = stateProducer.getGoals();
5858

5959
ConsoleUtils.clearScreen();
60-
Utils.prnt(`0\n----\n`);
60+
if (!GameUtils.zenGardenOn) Utils.prnt(`0\n----\n`);
6161
EpisodeTester.prntState(state);
6262

6363
let gameOver = false;
6464
let step = 0;
6565
let reverseAction: Action | null = null;
6666

67-
// await Utils.sleep(1000);
68-
// ConsoleUtils.clearScreen();
6967
while (!gameOver && step < 200) {
7068
//-------------some hack------------
7169
if (!EpisodeTester.semaphore.goodToGo(this.semaphoreId)) return;
@@ -88,7 +86,7 @@ export class EpisodeTester {
8886

8987
await Utils.sleep(1000 / 2);
9088
ConsoleUtils.clearScreen();
91-
Utils.prnt(`${step}\n----\n`);
89+
if (!GameUtils.zenGardenOn) Utils.prnt(`${step}\n----\n`);
9290
EpisodeTester.prntState(state);
9391

9492
if (isTerminal && !gameOver && lessonNo < lessonCount - 1) {

src/game-15-reconstruction/GameUtils.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { Action } from './Action';
66
import { ConsoleUtils } from './utils/ConsoleUtils';
77

88
export class GameUtils {
9+
public static zenGardenOn: boolean = false;
910

1011
public static makeMove(state: number[], action: Action): number[] {
1112
const hole = -1;
@@ -75,7 +76,13 @@ export class GameUtils {
7576
return fixedStateIndexes.includes(this.getIndex(x, y));
7677
}
7778

79+
7880
public static stateAsString(state: number[], goals: number[]): string {
81+
if (this.zenGardenOn) return this.getStateAsZenStoneGarden(state, goals);
82+
else return this._stateAsString(state, goals);
83+
}
84+
85+
public static _stateAsString(state: number[], goals: number[]): string {
7986
return Array.from({ length: 16 }, (_, e) => {
8087
let v: string;
8188
const o = state[e];
@@ -93,6 +100,25 @@ export class GameUtils {
93100
}).join('');
94101
}
95102

103+
public static getStateAsZenStoneGarden(state: number[], goals: number[]): string {
104+
return Array.from({ length: 16 }, (_, e) => {
105+
let v: string;
106+
const o = state[e];
107+
108+
// if (o === -1) v = ".";
109+
// else
110+
if (goals.includes(o)) v = "x";
111+
else if (goals.includes(e + 1)) v = "o";
112+
else v = "";
113+
114+
v += "\t";
115+
if (e !== 0 && (e + 1) % 4 === 0) {
116+
v += "\n";
117+
}
118+
return v;
119+
}).join('');
120+
}
121+
96122
public static prntState(state: number[], goals: number[]): void {
97123
let s = this.stateAsString(state, goals);
98124
ConsoleUtils.prnt(s);

src/main.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import { Utils } from './game-15-reconstruction/utils/Utils';
22
import { ConsoleUtils } from './game-15-reconstruction/utils/ConsoleUtils';
33
import { QTableGenerator } from './game-15-reconstruction/QTableGenerator';
4+
import { GameUtils } from './game-15-reconstruction/GameUtils';
45

56
export class ToolBox {
67

78
public static setupTools() {
89
document.getElementById('startTraining')?.addEventListener('click', () => ToolBox.startTraining().then());
910
document.getElementById('startTesting')?.addEventListener('click', () => ToolBox.startTesting().then());
11+
document.getElementById('zenGarden')?.addEventListener('click', () => ToolBox.zenGardenOnOff().then());
1012
this.startTesting().then();
1113
}
1214

@@ -26,6 +28,18 @@ export class ToolBox {
2628
await Utils.sleep(0);
2729
QTableGenerator.test().then();
2830
}
31+
32+
private static async zenGardenOnOff() {
33+
let btn = document.getElementById('zenGarden');
34+
let value = btn?.getAttribute("value");
35+
if (value !== 'zen garden off') {
36+
btn?.setAttribute("value", "zen garden off");
37+
GameUtils.zenGardenOn = true;
38+
} else {
39+
btn?.setAttribute("value", "zen garden on");
40+
GameUtils.zenGardenOn = false;
41+
}
42+
}
2943
}
3044

3145
ToolBox.setupTools();

0 commit comments

Comments
 (0)