possibilité de faire égalité
This commit is contained in:
parent
4293a1b49b
commit
4a155a0ab6
1 changed files with 21 additions and 5 deletions
26
src/game.ts
26
src/game.ts
|
|
@ -25,6 +25,7 @@ export class Game {
|
||||||
private lastPlayed: number = Date.now();
|
private lastPlayed: number = Date.now();
|
||||||
private chooseChii: boolean = false;
|
private chooseChii: boolean = false;
|
||||||
private end: boolean = false;
|
private end: boolean = false;
|
||||||
|
private result: number = -1;
|
||||||
|
|
||||||
// display parameter
|
// display parameter
|
||||||
private BG_RECT = {color: "#007730", x: 0, y: 0, w: 1050, h: 1050};
|
private BG_RECT = {color: "#007730", x: 0, y: 0, w: 1050, h: 1050};
|
||||||
|
|
@ -67,10 +68,6 @@ export class Game {
|
||||||
this.pick(0);
|
this.pick(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public isFinished(): boolean {
|
|
||||||
return this.end;
|
|
||||||
}
|
|
||||||
|
|
||||||
public draw(mp: mousePos) {
|
public draw(mp: mousePos) {
|
||||||
// background
|
// background
|
||||||
this.staticCtx.clearRect(0, 0, this.cv.width, this.cv.height);
|
this.staticCtx.clearRect(0, 0, this.cv.width, this.cv.height);
|
||||||
|
|
@ -97,6 +94,10 @@ export class Game {
|
||||||
return this.hands;
|
return this.hands;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public isFinished(): boolean {
|
||||||
|
return this.end;
|
||||||
|
}
|
||||||
|
|
||||||
public click(
|
public click(
|
||||||
mp: mousePos,
|
mp: mousePos,
|
||||||
): void {
|
): void {
|
||||||
|
|
@ -205,9 +206,10 @@ export class Game {
|
||||||
this.discard(this.turn, n);
|
this.discard(this.turn, n);
|
||||||
this.hasPlayed = true;
|
this.hasPlayed = true;
|
||||||
if (this.deck.length() <= 0) {
|
if (this.deck.length() <= 0) {
|
||||||
|
this.result = 0;
|
||||||
this.end = true;
|
this.end = true;
|
||||||
}
|
}
|
||||||
if (!this.isFinished()) {
|
if (!this.end) {
|
||||||
this.checkPon();
|
this.checkPon();
|
||||||
if (this.turn !== 3 && this.canDoAChii(this.turn + 1).length > 0) {
|
if (this.turn !== 3 && this.canDoAChii(this.turn + 1).length > 0) {
|
||||||
let chiis = this.canDoAChii(this.turn + 1);
|
let chiis = this.canDoAChii(this.turn + 1);
|
||||||
|
|
@ -370,6 +372,9 @@ export class Game {
|
||||||
drawState(this.staticCtx, this.turn);
|
drawState(this.staticCtx, this.turn);
|
||||||
this.drawDiscardSize();
|
this.drawDiscardSize();
|
||||||
|
|
||||||
|
// draw result
|
||||||
|
this.drawResult();
|
||||||
|
|
||||||
// hands
|
// hands
|
||||||
this.drawHands();
|
this.drawHands();
|
||||||
|
|
||||||
|
|
@ -534,10 +539,21 @@ export class Game {
|
||||||
|
|
||||||
private drawDiscardSize() {
|
private drawDiscardSize() {
|
||||||
this.staticCtx.fillStyle = "#f070f0";
|
this.staticCtx.fillStyle = "#f070f0";
|
||||||
|
|
||||||
this.staticCtx.font = "40px garamond";
|
this.staticCtx.font = "40px garamond";
|
||||||
this.staticCtx.fillText(this.deck.length().toString(), 507, 537);
|
this.staticCtx.fillText(this.deck.length().toString(), 507, 537);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private drawResult(): void {
|
||||||
|
if (this.result === 0) {
|
||||||
|
this.staticCtx.fillStyle = "#e0e0f0";
|
||||||
|
this.staticCtx.fillRect(500, 500, 50, 50);
|
||||||
|
this.staticCtx.fillStyle = "#ff0000";
|
||||||
|
this.staticCtx.font = "35px garamond";
|
||||||
|
this.staticCtx.fillText("Égalité!", 475, 535);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public async preload(): Promise<void> {
|
public async preload(): Promise<void> {
|
||||||
await this.deck.preload();
|
await this.deck.preload();
|
||||||
await Promise.all(this.hands.map(h => h.preload()));
|
await Promise.all(this.hands.map(h => h.preload()));
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue