1
0
mirror of https://github.com/danbee/chess synced 2025-03-04 08:39:06 +00:00
Commit Graph

136 Commits

Author SHA1 Message Date
048db4c71c
Rename function 2018-03-31 15:21:48 -04:00
320cb03b1f
Add tests for king in check 2018-03-31 15:21:47 -04:00
aa7f685521
Check for attacks from pawns 2018-03-31 15:21:47 -04:00
92b0b08298
Move piece getter to board module 2018-03-31 15:21:47 -04:00
6c944243fb
Re-organise pieces 2018-03-31 15:21:47 -04:00
18aa9faab4
Determine whether a piece is being attacked
This also refactors a bunch of the movement generation code to simplify
things and make it more flexible. This allows us to use the same code to
check pieces under attack.

* Still need to add pawns
2018-03-31 15:21:47 -04:00
7cbc4f3acd
More idiomatic language 2018-03-15 08:45:46 -04:00
ea635086a0
Add pawn taking moves 2018-03-14 21:47:00 -04:00
17b9108173
Kings are obstructed 2018-03-14 20:36:29 -04:00
7e1665781a
Knights are obstructed 2018-03-14 20:36:20 -04:00
8a5adc44f5
Bishops can be obstructed 2018-03-14 18:24:04 -04:00
edda70b4f2
Consistent language 2018-03-14 18:23:48 -04:00
ab9900d1e3
Make a move generator file 2018-03-14 18:10:22 -04:00
0062af2736
Rooks can be obstructed 2018-03-14 09:40:57 -04:00
bfa49b48b6
Make code clearer 2018-03-13 22:45:13 -04:00
682ce67652
These should be function calls 2018-03-13 22:30:39 -04:00
2c8f2c7bcd
Pawn can be blocked 2018-03-13 22:20:48 -04:00
8c9d52a0a4
King moves 2018-03-12 15:53:33 -04:00
3a421ca213
Knight moves 2018-03-12 15:53:33 -04:00
a7fbffcb5d
Queen moves 2018-03-12 15:53:33 -04:00
47bba0555c
Bishop moves 2018-03-12 15:53:32 -04:00
8efecebc4a
Stop all other pieces causing an error 2018-03-12 15:53:32 -04:00
568c2cf7ff
Add Rook moves 2018-03-12 15:53:32 -04:00
4ffc61f075
Fix a couple of warnings 2018-03-12 11:29:22 -04:00
375be4711c
Show available moves for pawn 2018-03-12 11:29:22 -04:00
c64d40f99a
Add basic pawn move generation 2018-03-12 11:29:21 -04:00
fe0c58917f
Remove unnecessary API controller 2018-03-12 11:17:26 -04:00
0d68eeabfb
Move everything to websockets 2018-03-12 11:17:26 -04:00
67f0d8f45e
Split out move feature tests and add opponent test 2018-03-09 15:29:33 -05:00
4df7dc0dae
Better number format 2018-03-09 14:51:47 -05:00
d288db3370
Add auth token for websocket 2018-03-09 14:45:52 -05:00
a271287361
Some text accidentally got added 2018-03-05 13:09:23 -05:00
ccc938fc08
Refactor game controller update 2018-03-05 10:21:48 -05:00
a05d4ad2e3
Update layout and CSS 2018-03-05 10:19:47 -05:00
a50b12b0ea
Move opponents function to User module 2018-03-04 11:38:53 -05:00
b09cb26b85
Move user into the store module 2018-03-04 11:15:33 -05:00
f3d2010e93
Enable concurrent Wallaby tests 2018-03-03 20:43:45 -05:00
155284139e
Change username to email 2018-03-03 20:24:33 -05:00
c92b1b5aef
Add name to user 2018-03-03 20:24:32 -05:00
eb7e171551
Figure we should validate required first 2018-03-01 08:55:44 -05:00
a8bb242385
Better way of setting defaults 2018-03-01 08:46:53 -05:00
059b45d40d
More idiomatic Elixir 2018-02-28 10:12:26 -05:00
b0c6ea1ff4
Game updates are now pushed to each client 2018-02-25 16:45:15 -05:00
3b3f3e687a
Create a channel and connect the socket 2018-02-25 15:07:45 -05:00
c0facfa4d5
Players take turns
Restricts players to only be able to move their own pieces and only when
it's their turn.
2018-02-24 15:52:22 -05:00
2f1411f075
Render the board correctly for the black player 2018-02-23 17:26:37 -05:00
a742c8faf0
Add foreign key constraints to game
Not that they seem to be working 🤔
2018-02-23 13:51:24 -05:00
34b985fa77
Refactor controllers a bit 2018-02-23 13:51:24 -05:00
08786460d0
Pipe all the things 2018-02-23 13:51:24 -05:00
c0422693c0
Pull out a required_attrs function 2018-02-23 13:51:24 -05:00
51698cfa4d
Better name for this association 2018-02-23 13:51:24 -05:00
88b5607a86
Pipe all the things! 2018-02-23 13:51:24 -05:00
4745a2cce1
Add back the user/opponent preload 2018-02-23 13:51:23 -05:00
66c2bf2817
Refactor Game controller queries 2018-02-23 13:51:23 -05:00
7d31ebdc98
Restrict access to API update endpoint 2018-02-23 13:51:23 -05:00
21d843ebc8
Refactor current_user 2018-02-23 13:51:23 -05:00
c2bb7f3052
Add API controller test 2018-02-23 13:51:22 -05:00
5511ef0a06
Restrict game viewing to players 2018-02-23 13:51:22 -05:00
8634d7aa9f
Show opponent on game screen 2018-02-23 13:51:22 -05:00
9b47a85d8f
Show correct opponent in the games list 2018-02-23 13:51:22 -05:00
b122c4d44f
Games list shows opponent 2018-02-23 13:51:21 -05:00
8f19a086df
Game controller accepts opponent id 2018-02-23 13:51:21 -05:00
fffff9624e
WIP: Opponent is now required
Only the tests fail with "can't be blank" for some reason...
2018-02-23 13:51:21 -05:00
46c3109b7c
Game now has an opponent 2018-02-23 13:51:21 -05:00
5ac47f3ac7
Add opponent association 2018-02-23 13:51:21 -05:00
3c6cceabaa
Small style fix 2018-02-19 11:20:28 -05:00
e88545de0c
Fix some Credo warnings 2018-02-19 11:16:00 -05:00
ea79ba962a
Games are now associated to a user 2018-02-18 11:51:36 -05:00
d5b8f7d7c2
Add uniqueness constraint 2018-02-02 15:42:07 -05:00
19037c723f
More idiomatic password hashing 2018-02-02 14:37:45 -05:00
3a57a2a593
Use a view function for current_user 2018-02-02 10:58:56 -05:00
9712823fe6
Make error handler a controller 2018-02-02 10:58:42 -05:00
ddcb204758
Make session language consistent 2018-02-02 10:31:05 -05:00
1299d4f5e5
User can login and create games 2018-02-02 10:31:05 -05:00
dda4bf0c5a
Validate uniqueness of username 2018-02-02 10:31:05 -05:00
e8de008466
User model doesn't need two changeset functions 2018-02-02 10:31:05 -05:00
9fb960fa5e
Add log in link and fix game tests 2018-02-02 10:31:04 -05:00
558b4a5ff9
Registration works 2018-02-02 10:31:04 -05:00
374524bb1d
User can sign in 2018-02-02 10:31:04 -05:00
80e58f765f
WIP: Authentication with Guardian/Comeonin 2018-02-02 10:30:38 -05:00
96a278c88b
⚠️💥 2018-01-19 16:18:00 -05:00
0ec6972122
Remove unused alias 2018-01-15 22:34:58 -05:00
6697231935
Move models into lib/chess 2018-01-12 17:24:13 -05:00
43a4299478
Upgrade to Phoenix 1.3
I've also moved everything around to match the new Phoenix 1.3 directory
structure.
2018-01-12 16:47:26 -05:00
27444fc154 Fix more renaming stuff 2016-12-10 19:35:01 +01:00
418eaa6f47 Make it a Phoenix app 2016-12-10 19:35:01 +01:00