Commit 2958b95e authored by Isabell Heider's avatar Isabell Heider

Added Timer for guesser

parent fbd9fe2b
Pipeline #307 passed with stages
in 5 minutes and 24 seconds
...@@ -13,14 +13,16 @@ ...@@ -13,14 +13,16 @@
<th>Team blau</th> <th>Team blau</th>
</tr> </tr>
<tr> <tr>
<th>{{gameStatus.red}}</th> <th class = "red">{{gameStatus.red}}</th>
<th>{{gameStatus.blue}}</th> <th class = "blue">{{gameStatus.blue}}</th>
</tr> </tr>
</table> </table>
</mat-card-content> </mat-card-content>
<br> <br>
<mat-progress-spinner class = "center" color="primary" mode="determinate" value={{timeLeft}}> <mat-progress-spinner class = "center" color="primary" mode="determinate" value={{timeLeft}} aria-label="Rating">
</mat-progress-spinner> </mat-progress-spinner>
<mat-card-content class = "timer">{{timeRemaining}}</mat-card-content>
</mat-card> </mat-card>
</div> </div>
......
...@@ -12,3 +12,21 @@ table{ ...@@ -12,3 +12,21 @@ table{
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
} }
.blue{
margin: 5px;
color: rgba(0,0,139);
}
.red{
margin: 5px;
color: rgba(200, 0, 0);
}
.timer{
position:relative;
top: -60px;
left: 0px;
font-size: medium;
font-weight: bold;
}
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import {ActivatedRoute} from '@angular/router';
import {TabuMiddlewareService} from '../dao/TabuMiddlewareService'; import {TabuMiddlewareService} from '../dao/TabuMiddlewareService';
import {GameStatus} from '../interface/gameStatus'; import {GameStatus} from '../interface/gameStatus';
import {ActivatedRoute, Router} from '@angular/router';
@Component({ @Component({
selector: 'app-guesser', selector: 'app-guesser',
templateUrl: './guesser.component.html', templateUrl: './guesser.component.html',
...@@ -10,7 +9,10 @@ import {GameStatus} from '../interface/gameStatus'; ...@@ -10,7 +9,10 @@ import {GameStatus} from '../interface/gameStatus';
}) })
export class GuesserComponent implements OnInit { export class GuesserComponent implements OnInit {
sessionName = ''; sessionName = '';
TIME_LIMIT = 20; TIME_LIMIT = 100;
timePassed = 0;
timeRemaining = 60;
timerInterval = 0;
timeLeft = this.TIME_LIMIT; timeLeft = this.TIME_LIMIT;
gameStatus: GameStatus = { gameStatus: GameStatus = {
sessionID: -1, sessionID: -1,
...@@ -20,12 +22,14 @@ export class GuesserComponent implements OnInit { ...@@ -20,12 +22,14 @@ export class GuesserComponent implements OnInit {
activeExplainer: false, activeExplainer: false,
activeWatchdog: false activeWatchdog: false
}; };
team = '';
constructor(private activatedRoute: ActivatedRoute, private service: TabuMiddlewareService) { } constructor(private router: Router, private activatedRoute: ActivatedRoute, private service: TabuMiddlewareService) { }
ngOnInit(): void { ngOnInit(): void {
this.activatedRoute.paramMap.subscribe(params => { this.activatedRoute.paramMap.subscribe(params => {
this.sessionName = String(params.get('sessionName')); this.sessionName = String(params.get('sessionName'));
this.team = String(params.get('team'));
this.service.getGamestatus({spielname: this.sessionName}).then(value => { this.service.getGamestatus({spielname: this.sessionName}).then(value => {
const status = JSON.parse(value.status); const status = JSON.parse(value.status);
if (status) { if (status) {
...@@ -39,5 +43,26 @@ export class GuesserComponent implements OnInit { ...@@ -39,5 +43,26 @@ export class GuesserComponent implements OnInit {
console.log(this.gameStatus); console.log(this.gameStatus);
}); });
}); });
this.startTimer();
}
onTimesUp(): void{
this.router.navigate([this.sessionName + '/' + this.team]);
}
startTimer(): void {
this.startCountdown();
this.timerInterval = setInterval(() => {
this.timePassed = this.timePassed += 1;
this.timeLeft = (this.TIME_LIMIT - this.timePassed);
if (this.timeLeft === 0) {
this.onTimesUp();
}
}, 593);
}
startCountdown(): void {
setInterval(() => {
this.timeRemaining = this.timeRemaining -= 1;
}, 1000);
} }
} }
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