Rotation-Direction changed & Slow-Down Fields and Logic added

This commit is contained in:
gohlkeMax 2021-07-01 14:46:18 +02:00
parent 0a0752d4e5
commit e46b5f12e5
5 changed files with 51 additions and 36 deletions

View File

@ -1,3 +1,5 @@
var maxField = 15;
class Player { class Player {
constructor(name) { constructor(name) {
this.name = name; this.name = name;
@ -6,7 +8,13 @@ class Player {
} }
move_by(amount) { move_by(amount) {
this.position += amount; if(this.position > 11){
this.position++;
}else if(this.position+amount > 11){
this.position = 12;
}else{
this.position += amount;
}
} }
} }

BIN
public/img/spriteSlow.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 KiB

View File

@ -121,10 +121,10 @@ function Card(game_board_size, s, a1, a2, a3, a4, d, your_turn) {
if (answer !== null) { if (answer !== null) {
if (_this.right_answer === answer) { //TODO: do this in backend instead to prevent cheating if (_this.right_answer === answer) { //TODO: do this in backend instead to prevent cheating
console.log("Richtig"); console.log("Richtig");
socket.emit('card finished', d, true); socket.emit('card finished', d, true);
} else { } else {
console.log("Falsch"); console.log("Falsch");
socket.emit('card finished', d, false); socket.emit('card finished', d, false);
} }
show_card = false; show_card = false;
answer = null; answer = null;

View File

@ -1,5 +1,9 @@
function Sprite(x, y) { function Sprite(x, y, slow) {
this.sprite = PIXI.Sprite.from('/img/sprite.jpg'); if(slow){
this.sprite = PIXI.Sprite.from('/img/spriteSlow.jpg');
}else{
this.sprite = PIXI.Sprite.from('/img/sprite.jpg');
}
this.coord_x = x; this.coord_x = x;
this.coord_y = y; this.coord_y = y;
@ -14,4 +18,4 @@ function Sprite(x, y) {
sprite.width = size * 1.5; sprite.width = size * 1.5;
sprite.height = size * 1.5; sprite.height = size * 1.5;
}; };
} }

View File

@ -24,22 +24,22 @@ let sprite_size = Math.floor(game_board_size / 11);
// fields // fields
let sprites = [ let sprites = [
new Sprite(9, 9), // lower right new Sprite(1, 9, false), // lower left
new Sprite(7, 9), new Sprite(1, 7, false),
new Sprite(5, 9), new Sprite(1, 5, false),
new Sprite(3, 9), new Sprite(1, 3, false),
new Sprite(1, 9), // upper right new Sprite(1, 1, false), // upper left
new Sprite(1, 7), new Sprite(3, 1, false),
new Sprite(1, 5), new Sprite(5, 1, false),
new Sprite(1, 3), new Sprite(7, 1, false),
new Sprite(1, 1), // upper left new Sprite(9, 1, false), // upper right
new Sprite(3, 1), new Sprite(9, 3, false),
new Sprite(5, 1), new Sprite(9, 5, false),
new Sprite(7, 1), new Sprite(9, 7, false),
new Sprite(9, 1), // lower left new Sprite(9, 9, true), // lower right
new Sprite(9, 3), new Sprite(7, 9, true),
new Sprite(9, 5), new Sprite(5, 9, true),
new Sprite(9, 7) new Sprite(3, 9, true)
]; ];
function start_game() { function start_game() {
@ -59,17 +59,17 @@ function start_game() {
app.stage.addChild(red_border); app.stage.addChild(red_border);
// White circles // Player circles
let player_a = generate_circle(new PIXI.Graphics(), 9, 9, 'yellow', 1); let player_a = generate_circle(new PIXI.Graphics(), 1, 9, 'yellow', 1);
app.stage.addChild(player_a); app.stage.addChild(player_a);
let player_b = generate_circle(new PIXI.Graphics(), 9, 9, 'blue', 2); let player_b = generate_circle(new PIXI.Graphics(), 1, 9, 'blue', 2);
app.stage.addChild(player_b); app.stage.addChild(player_b);
let player_c = generate_circle(new PIXI.Graphics(), 9, 9, 'green', 3); let player_c = generate_circle(new PIXI.Graphics(), 1, 9, 'green', 3);
app.stage.addChild(player_c); app.stage.addChild(player_c);
let player_d = generate_circle(new PIXI.Graphics(), 9, 9, 'red', 4); let player_d = generate_circle(new PIXI.Graphics(), 1, 9, 'red', 4);
app.stage.addChild(player_d); app.stage.addChild(player_d);
@ -172,10 +172,10 @@ function start_game() {
score_button.defaultCursor = 'pointer'; score_button.defaultCursor = 'pointer';
score_button.on('pointerdown', function () { score_button.on('pointerdown', function () {
card = new Card(game_board_size, "", card = new Card(game_board_size, "",
{"text": "Spieler 1: " + positions[0], "status": false}, { "text": "Spieler 1: " + positions[0], "status": false },
{"text": "Spieler 2: " + positions[1], "status": false}, { "text": "Spieler 2: " + positions[1], "status": false },
{"text": "Spieler 3: " + positions[2], "status": false}, { "text": "Spieler 3: " + positions[2], "status": false },
{"text": "Spieler 4: " + positions[3], "status": false}, 0, false); { "text": "Spieler 4: " + positions[3], "status": false }, 0, false);
card.showCard(); card.showCard();
show_card = true; show_card = true;
}); });
@ -230,25 +230,25 @@ function start_game() {
case 0: case 0:
positions[0] = data.position; positions[0] = data.position;
player_a.clear(); player_a.clear();
player_a = generate_circle(new PIXI.Graphics(), y, x, 'yellow', 1); player_a = generate_circle(new PIXI.Graphics(), x, y, 'yellow', 1);
app.stage.addChild(player_a); app.stage.addChild(player_a);
break; break;
case 1: case 1:
positions[1] = data.position; positions[1] = data.position;
player_b.clear(); player_b.clear();
player_b = generate_circle(new PIXI.Graphics(), y, x, 'blue', 2); player_b = generate_circle(new PIXI.Graphics(), x, y, 'blue', 2);
app.stage.addChild(player_b); app.stage.addChild(player_b);
break; break;
case 2: case 2:
positions[2] = data.position; positions[2] = data.position;
player_c.clear(); player_c.clear();
player_c = generate_circle(new PIXI.Graphics(), y, x, 'green', 3); player_c = generate_circle(new PIXI.Graphics(), x, y, 'green', 3);
app.stage.addChild(player_c); app.stage.addChild(player_c);
break; break;
case 3: case 3:
positions[3] = data.position; positions[3] = data.position;
player_d.clear(); player_d.clear();
player_d = generate_circle(new PIXI.Graphics(), y, x, 'red', 4); player_d = generate_circle(new PIXI.Graphics(), x, y, 'red', 4);
app.stage.addChild(player_d); app.stage.addChild(player_d);
break; break;
} }
@ -273,7 +273,7 @@ function generate_card_stack(sprite, x, y, onclick) {
function generate_red_border(graphics) { function generate_red_border(graphics) {
graphics.lineStyle(sprite_size * 0.10, 0x862323, 1); graphics.lineStyle(sprite_size * 0.10, 0x862323, 1);
graphics.drawRect(sprite_size * 9 - sprite_size * 0.2, sprite_size * 9 - sprite_size * 0.2, sprite_size * 1.5, sprite_size * 1.5); graphics.drawRect(sprite_size * 1 - sprite_size * 0.2, sprite_size * 9 - sprite_size * 0.2, sprite_size * 1.5, sprite_size * 1.5);
return graphics; return graphics;
} }
@ -292,6 +292,9 @@ function generate_circle(graphics, x, y, color, offset) {
case 'blue': case 'blue':
graphics.beginFill(0x4169E1, 1); graphics.beginFill(0x4169E1, 1);
break; break;
case 'white':
graphics.beginFill(0xFFFFFF, 1);
break;
} }
switch (offset) { switch (offset) {
case 1: case 1: