Skip to content

Releases: software-challenge/player_python

v1.0.2

12 Mar 15:48
Compare
Choose a tag to compare

What's Changed

  • update(script): shell script to work on the system

  • add(package builder): feature which will build and zip a package for the contest

Full Changelog: v1.0.1...v1.0.2

v1.0.1

25 Jan 18:10
86da9cd
Compare
Choose a tag to compare

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.

Full Changelog: v1.0.0...v1.0.1

v1.0.0

20 Dec 15:02
Compare
Choose a tag to compare

What's Changed

  • release/0.9.9 by @FalconsSky in #17
  • penguins: resolve NoneType error for get_most_fish by @tms-hl in #19

New Contributors

Full Changelog: v0.9.9...v1.0.0

v0.9.9

14 Nov 13:11
Compare
Choose a tag to compare

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.

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.

Starter(logic=Logic(), survive=True)

Full Changelog: v0.9.8...v0.9.9

v0.9.8

27 Oct 10:37
10dffdf
Compare
Choose a tag to compare

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: v0.9.7...v0.9.8

v0.9.7

13 Oct 14:48
96dacad
Compare
Choose a tag to compare

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: v0.9.6...v0.9.7

v0.9.6

08 Oct 22:14
e498151
Compare
Choose a tag to compare

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: v0.9.5...v0.9.6

v0.9.5

07 Sep 23:02
Compare
Choose a tag to compare

What's Changed

  • the client runs now on python 3.6 or later

v0.9.4

07 Sep 11:31
Compare
Choose a tag to compare

What's Changed

  • The README contains now a description on how to use venvs
  • The repo now contains a start script for the contest system
  • The start arguments have been reworked. Please type python <Your Logic>.py --help to get any help.
  • The client now stores all historic game states.

v0.9.3

05 Sep 19:31
Compare
Choose a tag to compare

Bugfixes

  • fixes an error that prevented high index moves