Coder Social home page Coder Social logo

lorenzopiazza / tabroot Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 3.0 20.03 MB

Un software di IA in grado di giocare partite al gioco da tavolo Tablut.

Java 100.00%
artificial-intelligence board-game tablut iterative-deepening-search minimax-algorithm

tabroot's Introduction

Tabroot Project

Hi! We're Team Tabroot and this is an AI software capable of playing to the Tablut board game.

This player joined the "2018/19 Board Game Students Challenge" proposed by the AI course of the Master's degree in Computer Engineering at UNIBO.

(Following this link you can find more information about the competition and the game's rule: http://lia.disi.unibo.it/Courses/AI/fundamentalsAI2018-19/challenge/Challenge2019.pdf)

(Here instead you can see the Challenge Results: http://ai.unibo.it/games/boardgamecompetition/tablut/1819INF)

Our player ranked 4th out of 22 Teams!!

Project structure

The project is structured in package as follows:

  • it.unibo.ai.didattica.competition.tablut.client:

    This package contains some basic player as the HumanPlayer or the Random Player.

  • it.unibo.ai.didattica.competition.tablut.client.tabrootplayer:

    This package contains our player partecipating to the competition.

  • it.unibo.ai.didattica.competition.tablut.client.search:

    This package contains the strategy used for the Black and White Player and the implementation of the search Algorithm.

  • it.unibo.ai.didattica.competition.tablut.optimization:

    This package contains some optimizations to our current algorithm (e.g with the Transposition Table technique) but actually we haven't finished yet (it has some unresolved problem) and so they aren't used for the competition. However we're going to finish it in the near future.

  • it.unibo.ai.didattica.competition.tablut.server:

    This package contains the server to whom connect with the client players to play.

How to use:

In the folder "Executable files" are available two executable (jar) files:

  • TabrootClient.jar launches our Tabroot player.
  • Server.jar launches the Server.

REQUIRED LIBRARIES: The TabrootClient.jar need the following library to be executed:

  • aima-core-3.0.0.jar (/Tabroot/lib/aima-core-3.0.0.jar)
  • gson-2.2.2.jar (/Tabroot/lib/gson-2.2.2.jar)

1 Firstly run the server

2 Then run the client you want to use. Our player is the TabrootClient and these following are the command to launch it.

java -jar TabrootClient.jar white|black [-t <timeToMove>] [-n <nameOfTheTeam>]
  • The parameter white or black is case insensitive and let you to choose which side you want to play.
  • -t parameter let you to specified the time in seconds allowed to calculate the next move. (Default is 59 second).
  • -n parameter let you to specified the name of the player. (Default is Tabroot)

Authors:

Lorenzo Piazza

Simone Cancello

Andrea Fuschino

Alan Dalmonte

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.