Socha

Latest version: v3.5.2

Safety actively analyzes 682416 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 7

1.0.1

**Many thanks to YoEnte and RubyKanima for their contribution.**

What's Changed

1. Classes and attributes:
- Added `Coordinate` super class
- Added `TeamEnum` enumeration class
- Added `team_enum` attribute to `Move` class
- Added `Penguin` class
- Added `penguin` and `fish` attributes to the `Field` class
- Removed color and added `name`, `fish`, `penguins`, `moves` attributes in the `Team` class
- Added `first_team`, `second_team` attribute to `GameState` class
- Removed the `Fish` class
- Adapted the methods of `GameState` to the new classes
- Moved `opponent` from `Team` to `GameState`


2. Renamed and remade existing elements:
- Remade `pretty_print` for a more concise look
- Adapted methods of `Board`
- Remade `get_teams_penguins` which returns `List[Penguin]` now
- Reworked the `NetworkSocket` class
- Reworked the `XmlProtocolInterface` class
- Reworked `GameClient`

3. Fixed bugs and issues:
- Fixed an issue with move that it no longer changes the original board
- Fixed a problem with `_get_possible_moves`
- Fixed a problem with `current_team_from_turn`
- Fixed a problem with `perform_move`
- Fixed several issues that caused crashes in socha
- Fixed a problem where it wouldn't connect to the server in auto-reconnect
- Fixed several issues that prevented the correct simulation and storing of game states in penguin
- Fixed an issue where the protocol tag doesn't get sent if auto reconnect in `XmlProtocolInterface`
- Fixed an issue where the client doesn't reconnect with auto-reconnect in `NetworkSocket`

4. Other changes:

- Added auto-reconnect feature to starter
- Changed license to MIT
- Extended history list in `GameClient`
- Added some logging in `GameClient`
- Added a doc that lists all changes from previous version, that can be found [here](https://github.com/FalconsSky/socha-python-client/blob/master/changes.md).


**Full Changelog**: https://github.com/FalconsSky/socha-python-client/compare/v1.0.0...v1.0.1

1.0.0

What's Changed

0.9.9

What's Changed
* implement the survive feature

It is now possible to let the client run when the game is over and the server closes its connection. This is very practical if the client is to play several games in succession. The test server is recommended for this, as it works without a UI and you do not have to start the game manually each time.

If this feature wants to be used, then this method must be implemented from `IClientHandler` and reconnect to the server and join a game.
python
def while_disconnected(self, player_client):
player_client.connect_to_server()
player_client.join_game()


It should also be noted that the starter requires the argument `survive=True` so that the client is not terminated when the servers closes the connection.
python
Starter(logic=Logic(), survive=True)


**Full Changelog**: https://github.com/FalconsSky/socha-python-client/compare/v0.9.8...v0.9.9

0.9.8

*Please consider using Python 3.11 as this version has improved its performance and error messages.*

What's Changed
* remove the `Coordinate`-Class with all its corresponding methods
* fix an import error in `player_client`


**Full Changelog**: https://github.com/FalconsSky/socha-python-client/compare/v0.9.7...v0.9.8

0.9.7

What's Changed
* Solve a problem that prevented the method `on_game_over` not getting executed.
* Splitt the `Coordinate`-Class into `CartesianCoordinate` and `HexCoordinate`.
* Expansion of the logging function. There is now a verbose option.


**Full Changelog**: https://github.com/FalconsSky/socha-python-client/compare/v0.9.6...v0.9.7

0.9.6

> Please make sure to check that you have the current version with `pip freeze`

What's Changed
- Remove the method `get_most_fish_moves` as this is an extended logic which is not permitted as students should develop methods like this themselves.
- Resolve a bug that prevented the client from moving if the client was the starting player and the opponent did not repond fast enough.

**Full Changelog**: https://github.com/FalconsSky/socha-python-client/compare/v0.9.5...v0.9.6

Page 6 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.