Code Monkey home page Code Monkey logo

boardgame's Introduction

BoardGame

Projekt gry planszowej tworzony w ramach pracy inżynierskiej. Grą którą staraliśmy się przenieść na ekran jest SmallWorld. Dodatkowo postanowiliśmy wzbogacić go o jedną z fanowskich modyfikacji, czyli generowanie mapy losowo z klocków o kształcie sześcioboku.

###Uruchomienie Do zbudowania paczki zawierającej grę razem z wszystkimi potrzebnymi zasobami należy użyć gradlowego taska zip. Zbuduje on wykonywalnego jara a następnie spakuje go razem z zasobami do archiwum zip. Teraz wystarczy rozpakować je w miejscu z którego chcemy uruchomić grę.

Aby uruchomić projekt należy pamiętać o stworzeniu własnego pliku boardgame.properties w katalogu resources. Można wpomóc się przy tym odpowiednim plikiem .sample znajdującym się już w tej lokalizaji.

Należy przy tym pamiętać, że do generowania mapy w sposób prawidłowy liczba pól z których ma składać się mapa powinna być kwadratem liczby z zakresu 1-9. Osobście polecamy wartość 25 lub 36. Pozwalają one na komfortową rozgrywkę 4 graczy, jednocześnie utrzymując wysoki poziom rywalizacji.

Na większości systemów operacyjnych w celu uruchomienia gry wystarczy dwukrotnie kliknąć archiwum jar. W przypadku gdy to nie zadziała, możemy uruchomić grę z wiersza poleceń komendą: java -jar SmallWorld.jar

###Grupa osób tworzących projekt:

  • Bartosz Sądel
  • Dariusz Małkowski
  • Michał Ziara

boardgame's People

Contributors

dcortezmeleth avatar

Watchers

 avatar

boardgame's Issues

Task budujący wykonywalego jara

Dodać w plikach gradla tak budujący wykonywalnego jara.
Dobrze gdyby dodatkowo potrafil spakować go razem z assetami i resourcami w zipa.

ConcurrentModificationException przy części operacji na listach tokenów armii

Przy części operacji na listach (dodawanie lub usuwanie) leci poniższy wyjątek.
Trzeba rozwarzyć jak rozwiązać ten problem.

Exception in thread "LWJGL Application" java.util.ConcurrentModificationException
at java.util.ArrayList$SubList.checkForComodification(ArrayList.java:1169)
at java.util.ArrayList$SubList.listIterator(ArrayList.java:1049)
at java.util.AbstractList.listIterator(AbstractList.java:299)
at java.util.ArrayList$SubList.iterator(ArrayList.java:1045)
at java.util.AbstractCollection.contains(AbstractCollection.java:99)
at java.util.ArrayList.batchRemove(ArrayList.java:700)
at java.util.ArrayList.removeAll(ArrayList.java:671)
at pl.agh.edu.boardgame.core.Player.removeNecessaryTokens(Player.java:184)
at pl.agh.edu.boardgame.core.BoardGameMain.nextTurn(BoardGameMain.java:404)
at pl.agh.edu.boardgame.adapters.NextTurnButtonAdapter.touchDown(NextTurnButtonAdapter.java:56)
at com.badlogic.gdx.InputMultiplexer.touchDown(InputMultiplexer.java:90)
at com.badlogic.gdx.backends.lwjgl.LwjglInput.processEvents(LwjglInput.java:317)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:199)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)

Podbój innego gracza

Przy podboju innego gracza jego tokeny armi sa przesuwane randomowo - czasem znikaja z danego pola tak ze ich nie widac a dalej sa liczone jakby tam byly - ciezko wtedy okreslic z jaka sila nalezy go atakowac

Oszalałe

Oszalałe mogą uzywać kości posiłków n-razy, ale tylko 1 raz na pole.

Błąd tokenu

Jesli atakuje graczem 1 dane pole lecz nie mam wystarczajacej liczby armi token ten nie jest usuwany i kolejny gracz moze zaatakowac tylko to pole ktore atakowal poprzedni

Amazonki

dodatkowe zetony dla amazonek pokazuja sie w fazie przegrupowania zamiast w fazie ataku - amazonki maja dodatkowe zetony do ataku ktore powinny zniknac przy przegrupowaniu a nie sie wtedy pojawiac

Wymieranie

Po naciśnięciu przycisku wymierania dostalem taki bład:
Exception in thread "LWJGL Application" java.lang.NullPointerException
at pl.agh.edu.boardgame.core.Player.generateMoreTokens(Player.java:164)
at pl.agh.edu.boardgame.core.BoardGameMain.nextTurn(BoardGameMain.java:398)
at pl.agh.edu.boardgame.adapters.ExtinctButtonAdapter.touchDown(ExtinctButtonAdapter.java:60)
at com.badlogic.gdx.InputMultiplexer.touchDown(InputMultiplexer.java:90)
at com.badlogic.gdx.backends.lwjgl.LwjglInput.processEvents(LwjglInput.java:317)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:199)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)

Wprowadzenie pełnej dwujęzyczności

Przetłumaczenie tekstów ras i umiejetnosci a nastepnie przezucenie ich do GameBundle.
Pozmienianie w kodzie klas i umiejetnosci, tego by zwracaly klucze z bundle a nie cale opisy.

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.