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;" > <div fxLayout="column" fxFlexFill style="background-image: url(/assets/background.jpg); background-repeat: repeat;" >
<app-header> <app-header socket="{{socket}}">
</app-header> </app-header>
<div fxFlex> <div fxFlex>
<router-outlet></router-outlet> <router-outlet (activate)="socket"></router-outlet>
</div> </div>
<app-footer> <app-footer>
<mat-toolbar color="primary"> <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({ @Component({
selector: 'app-root', selector: 'app-root',
templateUrl: './app.component.html', templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'] styleUrls: ['./app.component.scss']
}) })
export class AppComponent { export class AppComponent implements OnInit {
@Output()
socket: any;
title = 'Tabu'; title = 'Tabu';
ngOnInit(): void {
//this.socket = io(environment.tabuServerURL);
}
} }
...@@ -35,42 +35,34 @@ export class TabuMiddlewareService { ...@@ -35,42 +35,34 @@ export class TabuMiddlewareService {
} }
getGamestatus(req: any): Promise<any> { getGamestatus(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}getGamestatus`, req); return this.request('POST', `${environment.tabuMiddlewareURL}getGamestatus`, req);
} }
getS2C(req: any): Promise<any> { getS2C(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}getS2C`, req); return this.request('POST', `${environment.tabuMiddlewareURL}getS2C`, req);
} }
addPoint(req: any): Promise<any> { addPoint(req: any): Promise<any> {
console.log('TestAddPoint: ', req);
return this.request('POST', `${environment.tabuMiddlewareURL}addPoint`, req); return this.request('POST', `${environment.tabuMiddlewareURL}addPoint`, req);
} }
removePoint(req: any): Promise<any> { removePoint(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}removePoint`, req); return this.request('POST', `${environment.tabuMiddlewareURL}removePoint`, req);
} }
newGame(req: any): Promise<any> { newGame(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}newGame`, req); return this.request('POST', `${environment.tabuMiddlewareURL}newGame`, req);
} }
newRound(req: any): Promise<any> { newRound(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}newRound`, req); return this.request('POST', `${environment.tabuMiddlewareURL}newRound`, req);
} }
endRound(req: any): Promise<any> { endRound(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}endRound`, req); return this.request('POST', `${environment.tabuMiddlewareURL}endRound`, req);
} }
getCard(req: any): Promise<any> { getCard(req: any): Promise<any> {
console.log(req);
return this.request('POST', `${environment.tabuMiddlewareURL}getCard`, req); return this.request('POST', `${environment.tabuMiddlewareURL}getCard`, req);
} }
} }
...@@ -16,6 +16,7 @@ export class ErrorComponent implements OnInit { ...@@ -16,6 +16,7 @@ export class ErrorComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
this.socket = io(environment.tabuServerURL); this.socket = io(environment.tabuServerURL);
this.socket.disconnect();
this.listen(); this.listen();
} }
......
...@@ -5,7 +5,6 @@ import {TabuMiddlewareService} from '../dao/TabuMiddlewareService'; ...@@ -5,7 +5,6 @@ import {TabuMiddlewareService} from '../dao/TabuMiddlewareService';
import {ActivatedRoute, Router} from '@angular/router'; import {ActivatedRoute, Router} from '@angular/router';
import {GameStatus} from '../interface/gameStatus'; import {GameStatus} from '../interface/gameStatus';
import {io} from 'socket.io-client'; import {io} from 'socket.io-client';
import {Environment} from '@angular/compiler-cli/src/ngtsc/typecheck/src/environment';
import {environment} from '../../environments/environment'; import {environment} from '../../environments/environment';
@Component({ @Component({
...@@ -16,6 +15,7 @@ import {environment} from '../../environments/environment'; ...@@ -16,6 +15,7 @@ import {environment} from '../../environments/environment';
export class GameComponent implements OnInit { export class GameComponent implements OnInit {
socket: any; socket: any;
init = true;
sessionName = ''; sessionName = '';
isWatchdog = false; isWatchdog = false;
isExplainer = false; isExplainer = false;
...@@ -65,20 +65,29 @@ export class GameComponent implements OnInit { ...@@ -65,20 +65,29 @@ export class GameComponent implements OnInit {
this.fillGamestatus(); this.fillGamestatus();
this.team = String(params.get('team')); this.team = String(params.get('team'));
this.socket = io(environment.tabuServerURL); this.socket = io(environment.tabuServerURL);
this.listen(); this.listen()
}); });
this.startTimer(); this.startTimer();
} }
listen(): any { listen(): any {
this.socket.on(this.sessionName + ':newCard', (data: any) => { this.socket.on(this.sessionName + ':newCard', (data: any) => {
console.log('CardID:' , data);
this.service.getCard({cardID: data}).then(value => { this.service.getCard({cardID: data}).then(value => {
console.log('NewCard: ', value);
this.fillNewCard(value); this.fillNewCard(value);
this.fillGamestatus(); 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{ onTimesUp(): void{
...@@ -109,7 +118,6 @@ export class GameComponent implements OnInit { ...@@ -109,7 +118,6 @@ export class GameComponent implements OnInit {
this.gameStatus.red = JSON.parse(value.red); this.gameStatus.red = JSON.parse(value.red);
this.gameStatus.blue = JSON.parse(value.blue); this.gameStatus.blue = JSON.parse(value.blue);
}); });
console.log(this.gameStatus);
} }
wrongAnswer(): void{ wrongAnswer(): void{
...@@ -121,18 +129,14 @@ export class GameComponent implements OnInit { ...@@ -121,18 +129,14 @@ export class GameComponent implements OnInit {
this.gameStatus.red = JSON.parse(value.red); this.gameStatus.red = JSON.parse(value.red);
this.gameStatus.blue = JSON.parse(value.blue); this.gameStatus.blue = JSON.parse(value.blue);
}); });
console.log(this.gameStatus);
} }
newCard(): void{ newCard(): void{
this.service.getS2C({spielname: this.sessionName}).then(value => { this.service.getS2C({spielname: this.sessionName}).then(value => {
console.log('Test1:', value);
const status = JSON.parse(value.status); const status = JSON.parse(value.status);
if (status) { if (status) {
console.log('Test2:', value);
this.fillNewCard(value); this.fillNewCard(value);
} }
console.log(this.cardInfo);
}).catch(reason => console.log(reason)); }).catch(reason => console.log(reason));
} }
...@@ -157,7 +161,6 @@ export class GameComponent implements OnInit { ...@@ -157,7 +161,6 @@ export class GameComponent implements OnInit {
this.gameStatus.activeExplainer = JSON.parse(value.activeExplainer); this.gameStatus.activeExplainer = JSON.parse(value.activeExplainer);
this.gameStatus.activeWatchdog = JSON.parse(value.activeWatchdog); 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'; import {Router} from '@angular/router';
@Component({ @Component({
...@@ -7,6 +7,8 @@ import {Router} from '@angular/router'; ...@@ -7,6 +7,8 @@ import {Router} from '@angular/router';
styleUrls: ['./header.component.scss'] styleUrls: ['./header.component.scss']
}) })
export class HeaderComponent implements OnInit { export class HeaderComponent implements OnInit {
@Input()
socket: any;
constructor(private router: Router) { } constructor(private router: Router) { }
......
...@@ -2,7 +2,8 @@ import { Component, OnInit } from '@angular/core'; ...@@ -2,7 +2,8 @@ import { Component, OnInit } from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router'; import {ActivatedRoute, Router} from '@angular/router';
import {TabuMiddlewareService} from '../dao/TabuMiddlewareService'; import {TabuMiddlewareService} from '../dao/TabuMiddlewareService';
import {GameStatus} from '../interface/gameStatus'; import {GameStatus} from '../interface/gameStatus';
import {error} from 'selenium-webdriver'; import {io} from 'socket.io-client';
import {environment} from '../../environments/environment';
@Component({ @Component({
selector: 'app-overview', selector: 'app-overview',
...@@ -10,6 +11,9 @@ import {error} from 'selenium-webdriver'; ...@@ -10,6 +11,9 @@ import {error} from 'selenium-webdriver';
styleUrls: ['./overview.component.scss'] styleUrls: ['./overview.component.scss']
}) })
export class OverviewComponent implements OnInit { export class OverviewComponent implements OnInit {
wantToBeExplainer = false;
socket: any;
red = 'choose'; red = 'choose';
blue = 'choose'; blue = 'choose';
nextTeam = 'Blau'; nextTeam = 'Blau';
...@@ -56,6 +60,26 @@ export class OverviewComponent implements OnInit { ...@@ -56,6 +60,26 @@ export class OverviewComponent implements OnInit {
return; return;
} }
this.getGameStatus(); 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 { ...@@ -71,6 +95,8 @@ export class OverviewComponent implements OnInit {
} }
nextRound(): void { nextRound(): void {
this.wantToBeExplainer = true;
this.service.newRound({spielname: this.sessionName});
this.router.navigate([this.router.url + '/explainer']); this.router.navigate([this.router.url + '/explainer']);
} }
......
export const environment = { export const environment = {
production: true, production: true,
tabuMiddlewareURL: 'http://tabu-middleware.willers.digital/' tabuMiddlewareURL: 'http://tabu-middleware.willers.digital/',
tabuServerURL: 'http://tabu-server.willers.digital'
}; };
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
export const environment = { export const environment = {
production: false, production: false,
// tabuMiddlewareURL: 'http://localhost:8080/' tabuMiddlewareURL: 'http://localhost:8080/',
tabuMiddlewareURL: 'http://tabu-middleware.willers.digital/', //tabuMiddlewareURL: 'http://tabu-middleware.willers.digital/',
//tabuServerURL: 'http://localhost:3000/' tabuServerURL: 'http://localhost:3000/'
tabuServerURL: 'http://tabu-server.willers.digital' //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