diff --git a/client/src/components/instance.component.jsx b/client/src/components/instance.component.jsx
index 859e80ab..0ff4d243 100644
--- a/client/src/components/instance.component.jsx
+++ b/client/src/components/instance.component.jsx
@@ -37,9 +37,9 @@ function Instance(args) {
if (!instance) return false;
const instanceClasses = `instance ${nav === 'constructs' ? 'constructs-visible' : ''}`;
- const lobbyInfo = (instance.phase === 'Lobby')
- ?
- : null;
+ const lobbyInfo = (instance.phase === 'InProgress')
+ ? null
+ : ;
return (
setInfo(null)} >
diff --git a/server/src/instance.rs b/server/src/instance.rs
index debf9a08..66865bc2 100644
--- a/server/src/instance.rs
+++ b/server/src/instance.rs
@@ -101,6 +101,7 @@ pub struct Instance {
open: bool,
max_players: usize,
+ max_rounds: usize,
password: Option,
time_control: TimeControl,
@@ -120,6 +121,7 @@ impl Instance {
phase: InstancePhase::Lobby,
open: true,
max_players: 2,
+ max_rounds: 5,
name: String::new(),
time_control: TimeControl::Standard,
password: None,
@@ -137,6 +139,7 @@ impl Instance {
phase: InstancePhase::InProgress,
open: false,
max_players: 0,
+ max_rounds: 5,
time_control: TimeControl::Standard,
name: "Global Matchmaking".to_string(),
password: None,
@@ -199,6 +202,11 @@ impl Instance {
self
}
+ fn set_max_rounds(mut self, rounds: usize) -> Instance {
+ self.max_rounds = rounds;
+ self
+ }
+
fn add_bots(mut self) -> Instance {
self.open = false;
iter::repeat_with(|| {
@@ -355,11 +363,6 @@ impl Instance {
return false;
}
- // both players afk
- if self.players.iter().all(|p| p.wins == 0) {
- return true;
- }
-
// tennis
for player in self.players.iter() {
if player.wins >= 4 && player.wins >= player.losses + 2 {
@@ -368,6 +371,11 @@ impl Instance {
}
}
+ // both players afk
+ if self.players.iter().all(|p| p.wins == 0) {
+ return true;
+ }
+
return false;
// boN
@@ -712,6 +720,7 @@ pub fn instance_new(params: InstanceLobbyParams, tx: &mut Transaction, account:
let mut instance = match params.pve {
true => Instance::new()
.set_time_control(TimeControl::Practice)
+ .set_max_rounds(10)
.set_name(params.name)?
.add_bots(),
@@ -798,8 +807,7 @@ mod tests {
instance.player_ready(player_account).unwrap();
assert_eq!(instance.phase, InstancePhase::Finished);
- println!("{:#?}", instance);
- // assert!(instance.players.iter().any(|p| p.wins as usize == instance.max_rounds / 2 + 1));
+ assert!(instance.players.iter().any(|p| p.wins as usize == instance.max_rounds / 2 + 1));
}
#[test]