Commit Graph

574 Commits

Author SHA1 Message Date
Andy Janata 7600ec27de - refactor game handlers a bit to add another abstract class that ensures the user requesting is in the game in question
- add play card handler. need to send the white card count down to users that refresh the page.
- ajax event handlers get the request object as well as the result object so the server doesn't have to send the game id back in a response
2012-01-26 18:07:39 -08:00
Andy Janata 6ed6bdb365 resize hand cards when resizing window.
fix font being fucking huge in firefox.
2012-01-25 00:03:41 -08:00
Andy Janata f92258fb56 able to select and deselect cards in hand 2012-01-24 22:39:19 -08:00
Andy Janata 234b82afd2 - display black card in game
- display message indicating what the game is currently waiting for
- reload the black card when reloading page
- change the js constant generator to explain what the dummy things are for in the output
- add support for enums that need two user-visible values (specifically the game player state: the short message for the scoreboard and the long message telling the player what they need to do)
- hide the start game button after the game is started
- refactor game event longpoll handlers to use a helper that gets the game and reports an error if it can't
- game (should) reset to a lobby if it loses players to put it less than 3
2012-01-24 16:20:43 -08:00
Andy Janata 44153c549a resize the cards when zooming them so the other cards flow 2012-01-23 23:13:40 -08:00
Andy Janata 363bfc1147 get rid of unneeded zindex hack 2012-01-23 23:04:52 -08:00
Andy Janata 3253be9530 comment out bad browser warning 2012-01-23 23:04:14 -08:00
Andy Janata 347dfb0b02 toString in QueuedMessage 2012-01-23 23:03:08 -08:00
Andy Janata 5915a3558d - reload hand after reloading page
- use transform animation in all browsers to reduce complexity :(
2012-01-23 23:02:59 -08:00
Andy Janata 2f2d683384 fix card zoom in firefox and opera, and display a message that this looks better in chrome for those browsers the first time the page loads 2012-01-23 19:14:29 -08:00
Andy Janata d41b06ffde fix card scaling in ie, but the logo still is broken 2012-01-23 17:41:02 -08:00
Andy Janata 1f9d4722be delete local game object after leaving game 2012-01-23 17:40:21 -08:00
Andy Janata c73ce88646 deal cards to players when the game starts 2012-01-23 15:06:20 -08:00
Andy Janata 44dcc45c48 update the scoreboard when a player leaves or joins the game 2012-01-23 13:37:11 -08:00
Andy Janata eec3ad81ca - make currentGames be a list instead of a single object, just in case I do multiple games later
- add event handlers for leave and start game buttons
- leave game button works
2012-01-23 13:20:15 -08:00
Andy Janata 2ce38e4222 refactor to get a base abstract GameHandler since a bunch of handlers will need to get the game object 2012-01-23 12:52:33 -08:00
Andy Janata e21fd8ed00 debug ajax responses to stdout, if new code uncommented 2012-01-22 23:58:59 -08:00
Andy Janata 8e3c1372dc - fix formatting in css file
- add some templates for game lobbies
- client properly joins a game and shows the lobby!
- reconnect to in-progress game when refreshing page
2012-01-22 23:58:36 -08:00
Andy Janata 109a58444a don't sanitize chat, instead use a text element to display chat and log messages 2012-01-22 23:54:58 -08:00
Andy Janata 922207736a start working on in-game view 2012-01-21 17:34:18 -08:00
Andy Janata 8b6d171d66 fix warnings 2012-01-20 19:11:39 -08:00
Andy Janata bd0c11fcf7 fix some alignment 2012-01-20 18:56:33 -08:00
Andy Janata 019505e0b4 make stuff more relative-size-friendly 2012-01-20 16:11:59 -08:00
Andy Janata 577586139e - escape html in chat on client and server
- rework how the gamelist was shown
2012-01-20 14:55:08 -08:00
Andy Janata 890964b85d card classes 2012-01-19 21:19:55 -08:00
Andy Janata 4a3a9d95bd add templates for cards. change how game list lobbies are cleaned up 2012-01-19 18:19:05 -08:00
Andy Janata 4fe85b5233 add some comments to Constants 2012-01-19 00:37:45 -08:00
Andy Janata 7f376faa10 disable all interface objects when we detect the server has restarted 2012-01-19 00:34:55 -08:00
Andy Janata 5bda9fd452 client can join games. doesn't load the game yet, which is the same thing that happens with creating a game. the same thing should happen for both cases.
reworked some tests to be able to hide a method from GameManager. part of this goal was to reduce unnecessary game refresh broadcasts if a client tried to create multiple games.
2012-01-18 16:42:18 -08:00
Andy Janata 8187147e74 catch assertion errors in CahServlet 2012-01-18 16:39:11 -08:00
Andy Janata 979a9c4123 - create games
- list games
  - automatically refreshes list when game is created or destroyed
  - destroy games after removing all players (including at logout)
2012-01-17 21:58:09 -08:00
Andy Janata 40de91b5ac some work on the game list 2012-01-17 20:37:09 -08:00
Andy Janata 90b3129f66 cah.bind to bind functions to objects 2012-01-17 20:36:34 -08:00
Andy Janata e832d4fd02 dump a stack on an invalid operation, in case it was guice's fault 2012-01-17 17:48:44 -08:00
Andy Janata 79f2f59716 - add game list ajax call
- skeleton for game lobby list
- fix ajax handlers to use the constants instead of literals for the ops
2012-01-17 17:48:21 -08:00
Andy Janata 565c17b338 - add GameManager and test
- fix up Guice
2012-01-16 23:59:56 -08:00
Andy Janata e64978a0da remove literals from AjaxServlet 2012-01-16 23:58:48 -08:00
Andy Janata 76d9be8f1c more constants instead of immediate strings.
add a wrapper around the request parameters so we can use our enum values as the parameter names.
2012-01-16 16:28:21 -08:00
Andy Janata 61451105b0 do not return error messages, only return the error code and let the client look up the error message. this could eventually allow for localization of the error messages (but not the rest of the client yet) 2012-01-16 14:33:58 -08:00
Andy Janata 9a281cd38f use constants for long poll events, ajax request operation names, ajax response field names, and error codes 2012-01-12 21:36:31 -08:00
Andy Janata f33070ab7e move the js constant updater build tool down after java compile since it needs the new constant file compiled first
make the js constant updater only run on enums
2012-01-12 21:33:54 -08:00
Andy Janata 61fc4ece55 fix a compiler warning 2012-01-12 20:05:48 -08:00
Andy Janata 8da78ebac7 move MessageType back inside QueuedMessage since the client doesn't need it
make converter to produce js enums out of java enums
make everything use the constants on both sides for ajax operation code and disconnect reason
move the handler update out of the subpackage that it generates into
make the enum update and handler update run at build
2012-01-12 20:05:39 -08:00
Andy Janata a7cc7c8d36 messing around with the ajax stuff to make autocomplete work better 2012-01-12 17:05:09 -08:00
Andy Janata 9e8c46ec2f make ajax requests come from a builder to work on removing constant strings 2012-01-12 14:25:04 -08:00
Andy Janata 7f1158f59c add findbugs to build 2012-01-12 14:24:23 -08:00
Andy Janata 45e5705e56 move Type and DisconnectReason enums to a single file, preparing to do the same for all the scattered strings for operations 2012-01-12 13:35:53 -08:00
Andy Janata de1be43753 tweak GameTest 2012-01-12 13:13:51 -08:00
Andy Janata 0183bb0732 game data object with methods to add and remove players from the game 2012-01-12 13:09:01 -08:00
Andy Janata 3906b5582c cleanup 2012-01-12 13:07:34 -08:00