implemented hunter

This commit is contained in:
fabianthome
2021-07-12 13:18:31 +02:00
parent 6c14f8619a
commit 58e9cd7115
5 changed files with 48 additions and 29 deletions

View File

@@ -1,4 +1,4 @@
function Card(game_board_size, question, answer_1, answer_2, answer_3, answer_4, difficulty, your_turn) {
function Card(game_board_size, question, answer_1, answer_2, answer_3, answer_4, difficulty, your_turn, game_state) {
this.card = new PIXI.Graphics();
this.question = question;
this.answer_1 = answer_1;
@@ -68,8 +68,13 @@ function Card(game_board_size, question, answer_1, answer_2, answer_3, answer_4,
this.card.addChild(header);
if (difficulty === 0) {
for (let i = 0; i < positions.length; i++) {
if (positions[i] > 15) this.question = "Gewinner: " + playerNames[i];
if (game_state == 3) {
for (let i = 0; i < positions.length; i++) {
if (positions[i] > 15) this.question = "Gewinner: " + playerNames[i];
}
}
else if (game_state == 2) {
this.question = "Unentschieden.";
}
}
@@ -123,7 +128,7 @@ function Card(game_board_size, question, answer_1, answer_2, answer_3, answer_4,
// OK-Button
if (difficulty === 0 && (positions[0] > 15 || positions[1] > 15 || positions[2] > 15 || positions[3] > 15)) {
if (game_state == 2 || game_state == 3) {
this.card.addChild(new Button(0xffffff, 0xcccccc, 0xffffff, this.card_width - 40, 100, this.card_x + 20, this.card_y + this.card_height - 120, "New Game", null, function () {
window.location.reload();
}).getButton());

View File

@@ -57,7 +57,7 @@ function start_game() {
sprites.forEach(sprite => app.stage.addChild(sprite.getSprite()));
// Red border
let red_border = generate_red_border(new PIXI.Graphics());
let red_border = generate_red_border(new PIXI.Graphics(), 1, 9);
app.stage.addChild(red_border);
@@ -174,9 +174,9 @@ function start_game() {
score_button.defaultCursor = 'pointer';
score_button.on('pointerdown', function () {
card = new Card(game_board_size, "",
{"text": playerNames[0] ? playerNames[0] + ": " + positions[0] : ("Kein Spieler"), "status": false},
{"text": playerNames[1] ? playerNames[1] + ": " + positions[1] : ("Kein Spieler"), "status": false},
{"text": playerNames[2] ? playerNames[2] + ": " + positions[2] : ("Kein Spieler"), "status": false},
{ "text": playerNames[0] ? playerNames[0] + ": " + positions[0] : ("Kein Spieler"), "status": false },
{ "text": playerNames[1] ? playerNames[1] + ": " + positions[1] : ("Kein Spieler"), "status": false },
{ "text": playerNames[2] ? playerNames[2] + ": " + positions[2] : ("Kein Spieler"), "status": false },
{
"text": playerNames[3] ? playerNames[3] + ": " + positions[3] : ("Kein Spieler"),
"status": false
@@ -268,13 +268,14 @@ function start_game() {
break;
}
if (x === 1 && y === 9 && data.position !== 0) {
if (data.state == 2 || data.state == 3) {
card = new Card(game_board_size, "",
{"text": playerNames[0] ? playerNames[0] + ": " + positions[0] : ("Kein Spieler"), "status": false},
{"text": playerNames[1] ? playerNames[1] + ": " + positions[1] : ("Kein Spieler"), "status": false},
{"text": playerNames[2] ? playerNames[2] + ": " + positions[2] : ("Kein Spieler"), "status": false},
{"text": playerNames[3] ? playerNames[3] + ": " + positions[3] : ("Kein Spieler"), "status": false},
0, false);
{ "text": playerNames[0] ? playerNames[0] + ": " + positions[0] : ("Kein Spieler"), "status": false },
{ "text": playerNames[1] ? playerNames[1] + ": " + positions[1] : ("Kein Spieler"), "status": false },
{ "text": playerNames[2] ? playerNames[2] + ": " + positions[2] : ("Kein Spieler"), "status": false },
{ "text": playerNames[3] ? playerNames[3] + ": " + positions[3] : ("Kein Spieler"), "status": false },
0, false, data.state);
red_border.clear();
card.showCard();
show_card = true;
}
@@ -282,6 +283,14 @@ function start_game() {
if (next_player === username) my_turn.text = "Your Turn";
});
socket.on('update Hunter', function (position) {
x = sprites[position].coord_x;
y = sprites[position].coord_y;
red_border.clear();
red_border = generate_red_border(new PIXI.Graphics(), x, y);
app.stage.addChild(red_border);
});
resize();
}
@@ -297,9 +306,9 @@ function generate_card_stack(sprite, x, y, onclick) {
return sprite;
}
function generate_red_border(graphics) {
function generate_red_border(graphics, x, y) {
graphics.lineStyle(sprite_size * 0.10, 0x862323, 1);
graphics.drawRect(sprite_size * 1 - sprite_size * 0.2, sprite_size * 9 - sprite_size * 0.2, sprite_size * 1.5, sprite_size * 1.5);
graphics.drawRect(sprite_size * x - sprite_size * 0.2, sprite_size * y - sprite_size * 0.2, sprite_size * 1.5, sprite_size * 1.5);
return graphics;
}