originalutkin / chess-game Goto Github PK
View Code? Open in Web Editor NEWChess game with basic rules and some simple graphical user interface
Chess game with basic rules and some simple graphical user interface
Coordinates x and y are inverted
Since new Mouse listener
was added to game board JPanel
, pictures aren't drawn
Recalculate possible movements for piece right after clicking to cell on the game board.
Some refactor this right panel without moving code to other place
this method should be definitely refactored.
Create parser for loading turn notations and create board object using it
Find a solution, how path to images should look like
Show turns which were made during the game on board panel and made this entries clickable
Set max possible tabs to 5 (or other number, doesn't matter). After that show Error message to user and don't create a new one
just for fun
Currently we cannot check which tab is opened and which tab should be changed by board operations as redo, undo, save etc.
letter designation for columns
number designation for rows
Controller should be totally refactored. A lot of stuff is written dirty
a) aplikace obsahuje grafické uživatelské rozhraní šachovnice je zobrazena včetně popisů řádků (1-8) a sloupců (a-h) (need info)
b) figurky jsou reprezentovány obrázky
c) vedle šachovnice je zobrazen zápis partie (in progress)
d) je možné otevřít více partií ve více tabech (nikoliv oknech); tyto partie jsou nezávislé
e) vždy se provádí kontrola, zda jsou tahy přípustné podle pravidel (není třeba uvažovat všechny detaily, postačí základní tahy figur)
a) po spuštění je možné načíst partii, provede se ověření formátu zápisu
b) přehrávání je buď manuální nebo automatizované, je možné kdykoliv přepínat mezi těmito režimy; je možné přehrávat (krokovat) partii dopředu i zpět
c) manuální: ovládá uživatel prostřednictvím tlačítek
d) automatizované: je možné nastavit prodlevu mezi jednotlivými kroky; kdykoliv je možné zastavit a pokračovat dopředu či zpět.
e) kdykoliv je možné restartovat přehrávání na začátek partie
f) při přehrávání se vždy zobrazuje celý zápis partie a zvýrazňuje pozice aktuálního tahu
g) kliknutím na pozici v zápisu lze okamžitě zobrazit stav partie na této pozici; další krokování pokračuje z této pozice
a) pokud uživatel provede vlastní tah při zastaveném přehrávání, zruší se zbytek zápisu od aktuální pozice a další vývoj partie již provádí uživatel nové tahy uživatele se zaznamenávají do zápisu
tuto novou partii je opět možné přehrávat
b) uvedený postup je možné opakovat - pokud je rozehrána a krokována vlastní partie a je právě zobrazen některý ze starších tahů, může uživatel opět provést vlastní tah; v tom případě se opět zruší zbytek zápisu od zobrazeného tahu
c) možnost operace undo a redo: tahy provedené uživatelem lze vracet zpět (undo) a opět obnovit (redo) až do okamžiku před prvním vlastním tahem, tj. až do návratu k původní načtené partii (undo a redo při přehrávání partie nedává smysl)
d) nově vytvořený zápis partie lze uložit
Add tab counter and use it for checking opened tabs / tab names
Save turn notations to file
Change pawn to other chess piece when it reach last row on the game board
Initialise chess pieces on board while creating the game board.
Add shortcuts for redo, undo and add new tab buttons
Block pieces during enemy player turn
Please add replay button to gui ("kdykoliv je možné restartovat přehrávání na začátek partie")
Expected flow as :
https://github.com/OriginalUtkin/IJA/issues/8
backend
packageGame Controller
packagegui
packageChange color for possible movement cells.
Change color for cells in possible movements list
https://github.com/OriginalUtkin/IJA/blob/master/src/gui/Tab.java#L165
Reset color to common when turn is over https://github.com/OriginalUtkin/IJA/blob/master/src/gui/Tab.java#L134
After tab is closed and removed from Tabs
variable program will crash / incorrect work with mouse input because all of the tab indexes will be recalculated in list
Color isn't set for pieces properly in game init process. Pawns have a correct color, other pieces not
Make objects serializable for easier saving / loading them
Full notation
Brief notation
GUI representation of moves
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.