49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:cabo_counter/data/game_session.dart';
 | |
| 
 | |
| /// This class represents a single round in the game.
 | |
| /// It is stored within the [GameSession] class.
 | |
| /// [roundNum] is the number of the round its reppresenting.
 | |
| /// [scores] is a list of the actual scores the players got.
 | |
| /// [scoreUpdates] is a list of how the players scores updated this round.
 | |
| /// [kamikazePlayerIndex] is the index of the player who got kamikaze. If no one got
 | |
| /// kamikaze, this value is null.
 | |
| class Round {
 | |
|   final int roundNum;
 | |
|   final int caboPlayerIndex;
 | |
|   final int? kamikazePlayerIndex;
 | |
|   final List<int> scores;
 | |
|   final List<int> scoreUpdates;
 | |
| 
 | |
|   Round({
 | |
|     required this.roundNum,
 | |
|     required this.caboPlayerIndex,
 | |
|     this.kamikazePlayerIndex,
 | |
|     required this.scores,
 | |
|     required this.scoreUpdates,
 | |
|   });
 | |
| 
 | |
|   @override
 | |
|   toString() {
 | |
|     return 'Round $roundNum, caboPlayerIndex: $caboPlayerIndex, '
 | |
|         'kamikazePlayerIndex: $kamikazePlayerIndex, scores: $scores, '
 | |
|         'scoreUpdates: $scoreUpdates, ';
 | |
|   }
 | |
| 
 | |
|   /// Converts the Round object to a JSON map.
 | |
|   Map<String, dynamic> toJson() => {
 | |
|         'roundNum': roundNum,
 | |
|         'caboPlayerIndex': caboPlayerIndex,
 | |
|         'kamikazePlayerIndex': kamikazePlayerIndex,
 | |
|         'scores': scores,
 | |
|         'scoreUpdates': scoreUpdates,
 | |
|       };
 | |
| 
 | |
|   /// Creates a Round object from a JSON map.
 | |
|   Round.fromJson(Map<String, dynamic> json)
 | |
|       : roundNum = json['roundNum'],
 | |
|         caboPlayerIndex = json['caboPlayerIndex'],
 | |
|         kamikazePlayerIndex = json['kamikazePlayerIndex'],
 | |
|         scores = List<int>.from(json['scores']),
 | |
|         scoreUpdates = List<int>.from(json['scoreUpdates']);
 | |
| }
 | 
