Commit 7c4f58c8 authored by Dennis Willers's avatar Dennis Willers 🏀

Buggy Tabu

parent 6db94e66
Pipeline #319 passed with stages
in 5 minutes and 40 seconds
<div fxLayout="column" fxFlexFill style="background-image: url(/assets/background.jpg); background-repeat: repeat;" >
<app-header>
<app-header socket="{{socket}}">
</app-header>
<div fxFlex>
<router-outlet></router-outlet>
<router-outlet (activate)="socket"></router-outlet>
</div>
<app-footer>
<mat-toolbar color="primary">
......
import { Component } from '@angular/core';
import {Component, OnInit, Output} from '@angular/core';
import {io} from 'socket.io-client';
import {environment} from '../environments/environment';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
export class AppComponent implements OnInit {
@Output()
socket: any;
title = 'Tabu';
ngOnInit(): void {
//this.socket = io(environment.tabuServerURL);
}
}
......@@ -35,42 +35,34 @@ export class TabuMiddlewareService {
}
getGamestatus(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}getGamestatus`, req);
}
getS2C(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}getS2C`, req);
}
addPoint(req: any): Promise<any> {
console.log('TestAddPoint: ', req);
return this.request('POST', `${environment.tabuMiddlewareURL}addPoint`, req);
}
removePoint(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}removePoint`, req);
}
newGame(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}newGame`, req);
}
newRound(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}newRound`, req);
}
endRound(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}endRound`, req);
}
getCard(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}getCard`, req);
}
}
......@@ -16,6 +16,7 @@ export class ErrorComponent implements OnInit {
ngOnInit(): void {
this.socket = io(environment.tabuServerURL);
this.socket.disconnect();
this.listen();
}
......
......@@ -5,7 +5,6 @@ import {TabuMiddlewareService} from '../dao/TabuMiddlewareService';
import {ActivatedRoute, Router} from '@angular/router';
import {GameStatus} from '../interface/gameStatus';
import {io} from 'socket.io-client';
import {Environment} from '@angular/compiler-cli/src/ngtsc/typecheck/src/environment';
import {environment} from '../../environments/environment';
@Component({
......@@ -16,6 +15,7 @@ import {environment} from '../../environments/environment';
export class GameComponent implements OnInit {
socket: any;
init = true;
sessionName = '';
isWatchdog = false;
isExplainer = false;
......@@ -65,20 +65,29 @@ export class GameComponent implements OnInit {
this.fillGamestatus();
this.team = String(params.get('team'));
this.socket = io(environment.tabuServerURL);
this.listen();
this.listen()
});
this.startTimer();
}
listen(): any {
this.socket.on(this.sessionName + ':newCard', (data: any) => {
console.log('CardID:' , data);
this.service.getCard({cardID: data}).then(value => {
console.log('NewCard: ', value);
this.fillNewCard(value);
this.fillGamestatus();
});
});
this.socket.on(this.sessionName + ':endRound', (data: any) => {
console.log('GAME: ', data);
if (JSON.parse(data)) {
if (this.init) {
this.init = false;
}
console.log('GAME END: ', data);
this.socket.disconnect();
this.router.navigate([this.sessionName + '/' + this.team]);
}
});
}
onTimesUp(): void{
......@@ -109,7 +118,6 @@ export class GameComponent implements OnInit {
this.gameStatus.red = JSON.parse(value.red);
this.gameStatus.blue = JSON.parse(value.blue);
});
console.log(this.gameStatus);
}
wrongAnswer(): void{
......@@ -121,18 +129,14 @@ export class GameComponent implements OnInit {
this.gameStatus.red = JSON.parse(value.red);
this.gameStatus.blue = JSON.parse(value.blue);
});
console.log(this.gameStatus);
}
newCard(): void{
this.service.getS2C({spielname: this.sessionName}).then(value => {
console.log('Test1:', value);
const status = JSON.parse(value.status);
if (status) {
console.log('Test2:', value);
this.fillNewCard(value);
}
console.log(this.cardInfo);
}).catch(reason => console.log(reason));
}
......@@ -157,7 +161,6 @@ export class GameComponent implements OnInit {
this.gameStatus.activeExplainer = JSON.parse(value.activeExplainer);
this.gameStatus.activeWatchdog = JSON.parse(value.activeWatchdog);
}
console.log(this.gameStatus);
});
}
}
import { Component, OnInit } from '@angular/core';
import {Component, Input, OnInit} from '@angular/core';
import {Router} from '@angular/router';
@Component({
......@@ -7,6 +7,8 @@ import {Router} from '@angular/router';
styleUrls: ['./header.component.scss']
})
export class HeaderComponent implements OnInit {
@Input()
socket: any;
constructor(private router: Router) { }
......
......@@ -2,7 +2,8 @@ import { Component, OnInit } from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router';
import {TabuMiddlewareService} from '../dao/TabuMiddlewareService';
import {GameStatus} from '../interface/gameStatus';
import {error} from 'selenium-webdriver';
import {io} from 'socket.io-client';
import {environment} from '../../environments/environment';
@Component({
selector: 'app-overview',
......@@ -10,6 +11,9 @@ import {error} from 'selenium-webdriver';
styleUrls: ['./overview.component.scss']
})
export class OverviewComponent implements OnInit {
wantToBeExplainer = false;
socket: any;
red = 'choose';
blue = 'choose';
nextTeam = 'Blau';
......@@ -56,6 +60,26 @@ export class OverviewComponent implements OnInit {
return;
}
this.getGameStatus();
this.socket = io(environment.tabuServerURL);
this.listen();
});
}
private listen(): any {
this.socket.on(this.sessionName + ':newRound', (data: any) => {
if (JSON.parse(data)) {
console.log('OVERVIEW: ', data);
if (((this.team === 'red' && this.nextTeam === 'Rot') || (this.team === 'blue' && this.nextTeam === 'Blau'))
&& !this.wantToBeExplainer) {
this.socket.disconnect();
console.log('OVERVIEW GO GUESSER: ', data);
this.router.navigate([this.sessionName + '/' + this.team + '/guesser']);
} else if ((this.team === 'red' || this.team === 'blue') && !this.wantToBeExplainer) {
this.socket.disconnect();
console.log('OVERVIEW GO WATCHDOG: ', data);
this.router.navigate([this.sessionName + '/' + this.team + '/watchdog']);
}
}
});
}
......@@ -71,6 +95,8 @@ export class OverviewComponent implements OnInit {
}
nextRound(): void {
this.wantToBeExplainer = true;
this.service.newRound({spielname: this.sessionName});
this.router.navigate([this.router.url + '/explainer']);
}
......
export const environment = {
production: true,
tabuMiddlewareURL: 'http://tabu-middleware.willers.digital/'
tabuMiddlewareURL: 'http://tabu-middleware.willers.digital/',
tabuServerURL: 'http://tabu-server.willers.digital'
};
......@@ -4,10 +4,10 @@
export const environment = {
production: false,
// tabuMiddlewareURL: 'http://localhost:8080/'
tabuMiddlewareURL: 'http://tabu-middleware.willers.digital/',
//tabuServerURL: 'http://localhost:3000/'
tabuServerURL: 'http://tabu-server.willers.digital'
tabuMiddlewareURL: 'http://localhost:8080/',
//tabuMiddlewareURL: 'http://tabu-middleware.willers.digital/',
tabuServerURL: 'http://localhost:3000/'
//tabuServerURL: 'http://tabu-server.willers.digital'
};
/*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment