add new mode
This commit is contained in:
parent
eb5b4ed450
commit
b2934f5c9c
75
newMode.html
Normal file
75
newMode.html
Normal file
@ -0,0 +1,75 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>The CPU Higher Lower Game</title>
|
||||
<link rel="icon" type="image/x" href="imgs/chip.png">
|
||||
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
|
||||
<link href="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap-switch-button@1.1.0/css/bootstrap-switch-button.min.css" rel="stylesheet">
|
||||
<script src="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap-switch-button@1.1.0/dist/bootstrap-switch-button.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<div class="container-fluid h4">
|
||||
<img class="navbar-brand" src="imgs/chip.png" height="50">
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#collapsibleNavbar">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="collapsibleNavbar">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" style="text-decoration: underline;" href="index.html">Home</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="game.html">Game</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="gst.html">GST</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="about.html">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col text-center mb-3">
|
||||
<span class="h2">Guess the release date of the CPU</span>
|
||||
<br>
|
||||
<span class="h2">Score: </span><span class="h3" id="score" style="color: violet">0</span>
|
||||
<span class="h2" style="margin-left: 10px;">Highscore: </span> <span class="h3" id="highScore" style="color: crimson;">0</span>
|
||||
<br>
|
||||
<br>
|
||||
<input type="checkbox" data-toggle="switchbutton" checked data-onlabel="Normal" data-offlabel="Hard Mode" data-onstyle="primary" data-offstyle="danger">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6 offset-md-3 border text-center p-2" id="mainCol">
|
||||
<span class="h2" id="cpuName"></span>
|
||||
<br>
|
||||
<button class="btn btn-lg m-1 mt-2" id="btnDate1" style="background-color: #3CC3FA;"></button>
|
||||
<br>
|
||||
<button class="btn btn-lg m-1" id="btnDate2" style="background-color: #3CC3FA;"></button>
|
||||
<br>
|
||||
<button class="btn btn-lg m-1" id="btnDate3" style="background-color: #3CC3FA;"></button>
|
||||
<br>
|
||||
<button class="btn btn-lg m-1" id="btnDate4" style="background-color: #3CC3FA;"></button>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="module">
|
||||
import { main } from "./js/newMode.js"
|
||||
main()
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
78
src/newMode.ts
Normal file
78
src/newMode.ts
Normal file
@ -0,0 +1,78 @@
|
||||
import { CpuRepository } from "./cpuRepository.js";
|
||||
import { Stats } from "./statistics.js";
|
||||
|
||||
class UI {
|
||||
private model: ViewModel;
|
||||
|
||||
private buttons: HTMLElement[];
|
||||
|
||||
constructor() {
|
||||
this.model = new ViewModel();
|
||||
|
||||
let button1 = document.getElementById("btnDate1");
|
||||
let button2 = document.getElementById("btnDate2");
|
||||
let button3 = document.getElementById("btnDate3");
|
||||
let button4 = document.getElementById("btnDate4");
|
||||
this.buttons = [button1, button2, button3, button4];
|
||||
}
|
||||
|
||||
async init() {
|
||||
await this.model.init();
|
||||
|
||||
this.model.Dates.forEach((value, index) =>
|
||||
(this.buttons[index].innerText = value)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class ViewModel {
|
||||
private repo: CpuRepository;
|
||||
private stats: Stats;
|
||||
|
||||
private hardmode: boolean;
|
||||
|
||||
constructor() {
|
||||
this.stats = new Stats("highScore_date");
|
||||
this.repo = new CpuRepository();
|
||||
|
||||
this.hardmode = false;
|
||||
}
|
||||
|
||||
async init() {
|
||||
await this.repo.init();
|
||||
}
|
||||
|
||||
nextRound() {
|
||||
this.repo.reset();
|
||||
}
|
||||
|
||||
incrementScore() {
|
||||
this.stats.incrementScore();
|
||||
}
|
||||
|
||||
resetScore() {
|
||||
this.stats.resetScore();
|
||||
}
|
||||
|
||||
get currentCpu() {
|
||||
return this.repo.currentCpu;
|
||||
}
|
||||
|
||||
get score(): number {
|
||||
return this.stats.score;
|
||||
}
|
||||
|
||||
get highScore(): number {
|
||||
return this.stats.highScore;
|
||||
}
|
||||
|
||||
get Dates(): string[] {
|
||||
let array;
|
||||
return array = ["eins", "zwei", "drei", "vier"];
|
||||
}
|
||||
}
|
||||
|
||||
export async function main() {
|
||||
const ui = new UI();
|
||||
await ui.init();
|
||||
}
|
Loading…
Reference in New Issue
Block a user