From c3eff3f0f5611c4910b3b5fc13c995ea6e2e2b82 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Fri, 12 Jun 2020 15:57:26 +0200 Subject: [PATCH] swap wip --- INSTALL.md | 4 ++-- katrain/gui.kv | 2 ++ katrain/gui/kivyutils.py | 5 +++++ katrain/img/swap.png | Bin 0 -> 7482 bytes 4 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 katrain/img/swap.png diff --git a/INSTALL.md b/INSTALL.md index b7f5ea2..a0e882c 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -36,10 +36,10 @@ * Run the command `git clone https://github.com/sanderland/katrain.git` to download the repository. * Changing directory using `cd katrain` * Run the command `pip3 install .` to install the package globally, or use `--user` to install locally, then run the program by typing `katrain` in the terminal. - * If you prefer not to install, run without installing using `python3 -m katrain` + * If you prefer not to install, run without installing using `python3 -m katrain` after installing the kivy dependencies mentioned in the next section. * A binary for KataGo is included, but if you have compiled your own, point the 'engine/katago' setting to the relevant KataGo v1.4+ binary. -## Troubleshooting +## Troubleshooting Older linux machines may have trouble installing, you can try to manually install dependencies to resolve some issues. diff --git a/katrain/gui.kv b/katrain/gui.kv index e06bfe7..925aa90 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -853,6 +853,8 @@ height: (self.parent.item_height or 50) * 5 + + : katrain: app.gui player_setup: player_setup diff --git a/katrain/gui/kivyutils.py b/katrain/gui/kivyutils.py index b929c67..0d0a6cd 100644 --- a/katrain/gui/kivyutils.py +++ b/katrain/gui/kivyutils.py @@ -283,6 +283,11 @@ class PlayerSetupBlock(MDBoxLayout): self.add_widget(self.white) PlayerSetupBlock.INSTANCES.append(self) + def swap_players(self): + player_dump = {bw: p.player_type_dump for bw,p in self.players.items()} + for bw in 'BW': + self.update_players(bw,player_dump['B' if bw=='W' else 'W']) + def update_players(self, bw, player_info): # update sub widget based on gui state change self.players[bw].update_widget(player_type=player_info.player_type, player_subtype=player_info.player_subtype) diff --git a/katrain/img/swap.png b/katrain/img/swap.png new file mode 100644 index 0000000000000000000000000000000000000000..830fb67c757b2e267a47b07745c72c7e291c081f GIT binary patch literal 7482 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 B-|hea literal 0 HcmV?d00001