1. 29 Mar, 2020 1 commit
    • saviola's avatar
      Add CLI client, change kryonet version · 1ce0d184
      saviola authored
      - initial implementation of a CLI client for testing purposes
      - change kryonet version to a more recent fork
      - add shadowjar support and allow the client and server to be run
      - fix some typos
      - small refactoring for Java 9+
      1ce0d184
  2. 25 Feb, 2020 1 commit
  3. 09 Jun, 2017 1 commit
    • saviola's avatar
      Match-making client side code · 3a785551
      saviola authored
      - client now joins the provided room when receiving a
      MatchMakingResponse
      - improve IllegalMoveException with exception messages
      - use concurrent collections and synchronize match-making in the
      match-making broker
      3a785551
  4. 20 May, 2017 1 commit
    • saviola's avatar
      Match-making (#11) · 5dd721a5
      saviola authored
      - add simple sequential match-making strategy
      - add test for match-making
      - formatting
      5dd721a5
  5. 19 May, 2017 1 commit
    • saviola's avatar
      Match-making (#11) · 713a5773
      saviola authored
      - improve message content access
      - some classes and logic for match-making
      - some formatting and refactoring
      713a5773
  6. 21 Apr, 2017 2 commits
  7. 17 Apr, 2017 1 commit
  8. 08 Apr, 2017 1 commit
    • saviola's avatar
      Bump dependency versions · 8e5569cd
      saviola authored
      - update dependency versions
      - remove kryonet from the repo, it is now in maven central
      - add intellij .iml files to .gitignore
      8e5569cd
  9. 03 Oct, 2015 1 commit
  10. 05 Aug, 2015 1 commit
  11. 14 Jul, 2015 1 commit
  12. 09 Jul, 2015 1 commit
    • saviola's avatar
      Fix issue #4. · 71cb204d
      saviola authored
      - Fix an issue where the client always connects to the first server in
        the server list after returning to the lobby from a game, instead of
        reamining connected to the current server
      71cb204d
  13. 14 Jun, 2015 1 commit
    • saviola's avatar
      Refactoring, comments. · c9b02009
      saviola authored
      - Set of small changes that do not alter any functionality and were
        kept out of previous commits to avoid clutter.
      c9b02009
  14. 13 Jun, 2015 1 commit
    • saviola's avatar
      Fix issue #1. · e264bb71
      saviola authored
      - client now checks for game state after processing moves from the
        server, and disconnects if the game is over, allowing the server to
        close the room
      e264bb71
  15. 22 May, 2015 1 commit
  16. 20 May, 2015 1 commit
  17. 19 May, 2015 1 commit
    • saviola's avatar
      Improve the single player AI opponent. · 360696df
      saviola authored
      The AI opponent now has something like a very lazy minmax algorithm to
      support its decision-making: each player is always expected to make the
      move which is most beneficial right now (board position). Based on that,
      the AI evaluates moves according to the evaluation of the board after a
      specific number of turns was simulated in that manner.
      
      * add BallCountBoardPositionEvaluator, which contains code extracted
        from the DefaultMoveGenerator to evaluate the board based on the
        number of balls of each player
      * add interface for BoardPositionEvaluators
      * add RecursiveBestMoveEvaluator which implements the algorithm
        described above
      * modify the ComputerOpponentClientWrapper to use the new FieldEvaluator
      * prepare the config.xml for the new hexx development server
      * add convenience methods in several core logic classes
      * refactor several core logic classes (method names)
      360696df
  18. 04 May, 2015 1 commit
  19. 25 Apr, 2015 1 commit
  20. 04 Mar, 2015 1 commit
  21. 02 Sep, 2014 1 commit
    • saviola's avatar
      Refactoring. · 78b7e8f9
      saviola authored
      - move assertion of valid parameters from FrontierFieldEvaluator to
        CachingFieldEvaluator
      - add method to allow subclasses to register evaluations in
        CachingFieldEvaluator
      78b7e8f9
  22. 29 Jul, 2014 1 commit
  23. 25 Jul, 2014 1 commit
  24. 05 Jul, 2014 1 commit
  25. 01 Jul, 2014 1 commit
    • saviola's avatar
      Extend evaluation infrastructure, refactoring · d12dd0fc
      saviola authored
      - add LayeredCumulativeFieldEvaluator
      - add base evaluator for cumulative field evaluators
      - rename OpponentProximityFieldEvaluator to FrontierFieldEvaluator
      - change field evaluations from double to integer
      - add use of evaluation constants in evaluators
      - make move evaluator more flexible by using generics for evaluation
        type
      - refactoring: add comments, formatting, etc.
      d12dd0fc
  26. 14 Apr, 2014 1 commit
    • saviola's avatar
      Refactoring, cleanup, evaluation infrastructure · a719cb41
      saviola authored
      - cleanup of maven dependencies and modules (bumped dependency versions,
        removed build-tools module)
      - complete first working version of the evaluation infrastructure
      - refactoring
      a719cb41
  27. 01 Mar, 2014 1 commit
    • saviola's avatar
      Start adding field evaluator infrastructure · 061b6e78
      saviola authored
      - add interfaces for field evaluator and default field evaluator
      - prevent another explosion from happening when the board is frozen
      - add method to get player field count in Game class
      - refactoring of test classes
      061b6e78
  28. 29 Jan, 2014 1 commit
    • saviola's avatar
      Fix #37, refactoring. · 80e78636
      saviola authored
      - fix #37
      - fix several bugs in the DefaultMoveGenerator (simulating moves did
        not work properly)
      - refactor Game, Board, Field and Player classes (move logic around)
      - move logback config to core module to avoid duplicate configurations
        in server and client
      - remove Game_Abstract class and move logic to Game class
      - change WeakObserverReference implementation to no longer silently
        ignore (or rather, misunderstand) NullPointerExceptions in the
        observer update method
      - switching logging in some classes over to logback
      80e78636
  29. 20 Jan, 2014 1 commit
    • saviola's avatar
      Start switch to slf4j + logback; debugging AI · abdd3b16
      saviola authored
      - add debug statements in hexx-ai classes
      - add slf4j and logback dependencies in hexx-core
      - make Log.getInstance() in hexx-log deprecated
      - add logback configurations in hexx-client and hexx-server
      abdd3b16
  30. 24 Dec, 2013 1 commit
    • saviola's avatar
      Add simple "intelligent" move generator · b5103d80
      saviola authored
      - add a number of convenience methods in the Field class
      - add a MoveEvaluation class that combines an evaluation and a set of
        positions sharing the evaluation
      - add simple "intelligent" move generator which uses alpha-beta-pruning
        for triggerable fields (unfinished)
      - known bugs
        - invalid move by the computer opponent (when game over occurs)
        - stack overflow in the client (source not yet found)
        - empty fields are preferred too often
      b5103d80
  31. 14 Dec, 2013 1 commit
  32. 12 Dec, 2013 1 commit
  33. 28 Nov, 2013 1 commit
    • saviola's avatar
      First steps towards single-player mode · 9bffa2e0
      saviola authored
      - add module hexx-ai and update pom.xml files
      - add convenience method getNumberOfAdjacentFields() in Field
      - in the postMove() method of Game, the player queue is updated before
        the observers are notified of the board change
      - change implementation of string representations for the LogLevel enum
      - refactoring
      9bffa2e0
  34. 02 Mar, 2013 1 commit
  35. 28 Feb, 2013 5 commits