aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/Mayte'MayteApolix 2022-01-161-13/+14
|\
| * fixed indentation splash.cssMayteApolix 2022-01-161-13/+14
| |
* | Fully switch stats over from the environment to the statTrackerThomas Voss 2022-01-163-23/+17
| |
* | Fix some grammatical errorsThomas Voss 2022-01-161-8/+8
| |
* | Remove unneeded fileThomas Voss 2022-01-161-52/+0
| |
* | Revert "Basic formatting fixes"Thomas Voss 2022-01-161-25/+23
| | | | | | | | This reverts commit 484082a034e6a6eafb2fef11039e96b1a7054725.
* | Basic formatting fixesThomas Voss 2022-01-161-23/+25
| |
* | Merge branch 'main' of github.com:MayteSteeghs/draughtsThomas Voss 2022-01-164-6/+28
|\|
| * Updates buttonMayteApolix 2022-01-164-6/+28
| |
* | Merge remote-tracking branch 'origin/Mayte'Thomas Voss 2022-01-169-70/+248
|\|
| * Finished splash screen and stat trackingMayteApolix 2022-01-169-71/+249
| |
* | Add a cringe af animation and make use of :active and display: gridThomas Voss 2022-01-161-7/+22
|/
* Fix class IDThomas Voss 2022-01-141-1/+1
|
* Remove games from the environment when they endThomas Voss 2022-01-141-1/+3
|
* Check for the game actually endingThomas Voss 2022-01-141-3/+16
|
* Add a shit load of documentationThomas Voss 2022-01-141-13/+93
|
* Add support for the game actually endingThomas Voss 2022-01-142-0/+7
|
* Add support for game historyThomas Voss 2022-01-144-7/+58
|
* Update the READMEThomas Voss 2022-01-141-2/+46
|
* Inform the clients of various events via alertsThomas Voss 2022-01-134-5/+11
|
* Remove game IDs, they are uselessThomas Voss 2022-01-132-4/+2
|
* Remove emacs modelineThomas Voss 2022-01-131-3/+1
|
* Fix indentationThomas Voss 2022-01-131-5/+4
|
* Add king piece supportThomas Voss 2022-01-136-51/+161
|
* Spaces -> TabsThomas Voss 2022-01-133-10/+10
|
* Fix shebangThomas Voss 2022-01-131-1/+1
|
* Merge branch 'main' of github.com:MayteSteeghs/draughtsThomas Voss 2022-01-136-7/+107
|\
| * ejs splash screen renderingMayteApolix 2022-01-136-7/+107
| |
* | Move the Color enumeration to the public/ folderThomas Voss 2022-01-136-16/+16
|/
* Remove duplicate codeThomas Voss 2022-01-131-2/+8
| | | | | Instead of duplicating code for removing captured pieces, we can use a general function that both removes pieces *and* updates the piece delta.
* Fix some signaturesThomas Voss 2022-01-131-2/+2
|
* Basically make the whole game workThomas Voss 2022-01-139-40/+480
| | | | Too many changes to write a commit message, just read the code.
* Ignore my custom MakefileThomas Voss 2022-01-131-0/+1
|
* Remove unused fileThomas Voss 2022-01-131-84/+0
|
* Add tabulation scriptThomas Voss 2022-01-101-0/+8
|
* Use tabs instead of spaces like a normal personThomas Voss 2022-01-102-28/+27
|
* Be a bit more verbose in message descriptionsThomas Voss 2022-01-101-3/+3
|
* Add a `totalGames' variableThomas Voss 2022-01-101-0/+1
| | | | This will be important in order to calculate the `averageMoves' variable.
* Remove all sorts of unused codeThomas Voss 2022-01-091-146/+68
| | | | | | | The removed code has either been moved to other files such as the `Piece' class, or has been upgraded elsewhere (such as the `start()' function becoming the `boardInit()' function found in `/draughts/game.js').
* Add a game queue and handle disconnectsThomas Voss 2022-01-091-9/+50
| | | | | | | | | | | | | | The server now has an array of games that currently exist. When a client attempts to join a game, the server will check if another player is already waiting for an opponent and if so, matches the two players against each other. If all the games are full the server will create a new game and the player will need to wait for an opponent. The server also has handling for clients that disconnect. When that event occurs, the remaining client is sent a message informing them that their opponent disconnected, and the game is deleted. None of the statistics are updated as it wouldn't make sense to count a statistic such as `minimumMoves' if the opponent disconnected only a few moves in.
* Create a game classThomas Voss 2022-01-091-15/+36
| | | | | | | | The game class contains the entire state of the game, its history, and the websockets connected to both clients. The class also has a `messageAll()' method which can be used to send a message to both of the clients. The `boardInit()' function can be used to initialize a brand new 10x10 draughts board.
* Add a game scriptThomas Voss 2022-01-092-40/+45
| | | | | | | | At the moment this script does not do much, it simply registers an event listener to inform the server about when one of the clients resigns the game which activates when someone clicks the "resign" button. In the future this script will most likely house all the client-side functionality related to the game.
* Create a Messages enumerationThomas Voss 2022-01-091-0/+5
| | | | | | | | This enumeration contains all of the different Messages that can be communicated between the clients and the server. The enum names should make the meaning of each obvious enough, but they still have comments besides them explaining who sends the message to who, and what the message actually entails.
* Create a Piece classThomas Voss 2022-01-091-0/+23
| | | | | This class represents a piece on a draughts board. Pretty obvious why this would exist I think.
* Create an environment objectThomas Voss 2022-01-091-0/+10
| | | | | | | | | | The environment object holds basically all the information about the state of all the games, statistics regarding games, etc. The `minimumMoves` and `averageMoves` variables start out at infinity just so that we have an easy way to check if they've actually been set yet or not, since they won't be properly set before any games have even been played.
* Make the upper left square a light squareThomas Voss 2022-01-091-100/+100
| | | | | | | The previous version had a dark square as the upper left corner, but a proper draughts board has a light square in the upper left, and we don't want to look like monkeys that don't know the rules of the game we're making.
* Remove semicolonsThomas Voss 2022-01-091-11/+5
| | | | They are optional in javascript, so why waste screen space on them?
* Add a Color enumerationThomas Voss 2022-01-091-0/+7
| | | | | | | | | This enumeration represents the two colors of the pieces on the board, it should allow you to refer to a color as `Color.BLUE' or `Color.RED' as opposed to having to use strings or random numbers or whatever. It also means that if for whatever reason we decide to flip the positions of blue and red or something similiar, it should be a very quick and easy fix.
* filled board and basic legal move checkingMayteApolix 2022-01-092-0/+181
|
* Finish the HTML and CSS for the main game screenThomas Voss 2022-01-092-411/+182
|