a3911c21a3
Go ahead and fix this: party tables now have a 0-length occupants array. TableDirector.java already had this same code (and I wrote it!) so I feel safe making the change.
Ray Greenwell
2007-10-23 23:46:51 +00:00
1d3a53757c
Renamed endTurn() to startNextTurn().
Ray Greenwell
2007-10-23 02:02:09 +00:00
3bb6c7e3f6
- In TurnGameManagerDelegate, pulled out random-turn picking into its own method, so that subclasses can get that behavior without assuming their their superclass implementation of setFirstTurnHolder does that. - Use that in EZ's code, and also fall back to it if there's some problem with the user-specified next-turn value and it's nobody's turn.
Ray Greenwell
2007-10-23 01:36:20 +00:00
df72a961db
- Start up EZGames so that it's nobody's turn. - If the turn ends when it's nobody's turn and the user didn't specify who goes next, pick a random player to go next. - Fixed ancient bug that caused a NPE, every time. Nobody tickled it by having a game where turns progress in a custom order.
Ray Greenwell
2007-10-23 01:27:05 +00:00
3fc47c0b9b
Comment clarification.
Ray Greenwell
2007-10-23 01:23:34 +00:00
ef70bd5752
Comment spelling fix.
Ray Greenwell
2007-10-23 01:23:11 +00:00
456b93e08f
Allow our derived class to override our width/height configuration.
Michael Bayne
2007-10-20 00:06:18 +00:00
c6f72fbdf8
Create an empty occupants and oids array if we're creating a party table.
Michael Bayne
2007-10-19 22:04:33 +00:00
f1a511d80c
Bye-bye extensible player lists. Your functionality will be simplified and supplanted by the one true player list.
Ray Greenwell
2007-10-18 02:31:03 +00:00
2736d652e3
Need to do that before we clear out _userFuncs.
Michael Bayne
2007-10-18 00:59:43 +00:00
60b3eabc16
Disconnect the client side when we disconnect on the backend so that we don't end up differing in opinion about whether or not we're connected.
Michael Bayne
2007-10-18 00:57:56 +00:00
4e462ce974
getOccupants -> getOccupantIds.
Michael Bayne
2007-10-17 21:38:46 +00:00
ec1a243d19
When we start and end a transaction in EZGame do so on the InvocationDirector as that's where all of our messages are generated.
Michael Bayne
2007-10-17 21:33:52 +00:00
18ac5a065f
getOccupants() -> getOccupantIds(), which is more accurate and consistent with SeatingControl's getPlayerIds().
Ray Greenwell
2007-10-17 21:09:48 +00:00
c9fddfdc39
Checkpoint this crap, even though it's going to be moved and reworked. Meanwhile I'm busy investigating rabbit holes of rabbit holes.
Ray Greenwell
2007-10-17 19:24:29 +00:00
1b7f810246
Added getTopRatings(), moved constants into RatingCodes.
Michael Bayne
2007-10-15 19:28:20 +00:00
e8bd79d1e3
Start the game immediately if the user specifies to restart in 0 seconds.
Ray Greenwell
2007-10-15 18:28:40 +00:00
1fca67a044
Factored createTable() out into a method that can be called on the server.
Michael Bayne
2007-10-12 01:09:46 +00:00
a70048dfde
Don't start the game while we're still initializing the manager. Let the manager finish the startup process and then call startGame().
Michael Bayne
2007-10-10 03:32:03 +00:00
f6b716c4ea
Reset the round number to zero before each EZ game (in case the player keeps restarting the game without quitting it). This also ensures they will get a fresh RoundStarted event at the beginning of each new game.
Robert Zubeck
2007-10-10 00:52:26 +00:00
70ea63f6cb
Un-negate the round id if a game does decide to endRound() first and then endGame().
Michael Bayne
2007-10-09 23:49:02 +00:00
d136386348
Note that endRound() should not be called immediately prior to endGame(), rather endGame() should be called and the last round is never officially "ended". This ensures that GameObject.roundId is left in a sane state at the end of the game in case of a rematch.
Michael Bayne
2007-10-09 23:47:37 +00:00
a88a5a3482
No need to wait for didStartup() to create this set.
Michael Bayne
2007-10-08 17:14:17 +00:00
2862b32763
Comment fiddling; clear out _pendingOids at the end of the game to avoid potential weirdness if someone got into the room but never reported ready.
Michael Bayne
2007-10-08 17:12:46 +00:00
377d0c93f5
Keep track of of players that have arrived and players that are ready separately. The old check would start the game as soon as everyone had arrived and *one* person called playerReady(). Now we do the right thing and only start the game once everyone has arrived and everyone has called playerReady().
Nathan Curtis
2007-10-06 00:35:30 +00:00
2558e82959
Make sure our seatedness variable accurately reflects the departure of our table.
Par Winzell
2007-10-02 23:01:40 +00:00
962c33d900
Pass the GameManager to gameCreated().
Michael Bayne
2007-09-27 19:38:09 +00:00
52259f26dd
Track the last update time for ratings.
Michael Bayne
2007-09-25 16:32:59 +00:00
3eff6e03cd
Allow derived classes to not rate games for other reasons.
Michael Bayne
2007-09-25 16:32:17 +00:00
2d24116c97
Don't rate anything if the game is not marked as rated.
Michael Bayne
2007-09-25 16:12:28 +00:00
c76474a640
Drop forced move requests if they come in while we have a move pending. We may have to do some things on the server as well which blindly ejects the user from their current place, but now the worst case is that a player ends up nowhere in the event of extreme lag and clicks the button to go somewhere again rather than having a move half-completed get aborted and the code ending up confused and not properly able to clean up after itself.
Michael Bayne
2007-09-24 20:49:01 +00:00
e21c14c4c1
Since returning -1 is perfectly acceptable for this method, let's be robust in handling an call to it for an unknown player; we already checked for unknown opponents.
Par Winzell
2007-09-14 15:35:25 +00:00
6194948d56
Added toString().
Michael Bayne
2007-09-12 02:16:19 +00:00
8e52521b20
Nix debug logging.
Michael Bayne
2007-09-11 22:24:21 +00:00
ea3ab0bf3f
Nix PercentileRecord.type allow gameId to be fiddled by derive class.
Michael Bayne
2007-09-11 21:47:06 +00:00
fe3db313bf
Grammar patrol.
Michael Bayne
2007-09-11 20:58:28 +00:00
93d65cfb61
Need to reset modified when saving rating for departing player.
Michael Bayne
2007-09-11 20:57:42 +00:00
8316c3f40c
Revamped the rating manager delegate to support party games and to only read and write ratings once regardless of how many times the game is played.
Michael Bayne
2007-09-11 20:56:45 +00:00
9450dc5f2c
Don't complain about transitioning back to PRE_GAME.
Michael Bayne
2007-09-11 19:45:38 +00:00
2b81903c73
Zoiks, missed the parameterized type.
Michael Bayne
2007-09-11 18:39:05 +00:00
e95d0aa58f
Oops, we need 412 bytes to store a percentiler's data.
Michael Bayne
2007-09-11 02:20:30 +00:00
27c8eac61c
Added getRecordedCount().
Michael Bayne
2007-09-11 01:50:24 +00:00
c08cad2642
Added tracking for percentiler modification; nixed some unneeded casts.
Michael Bayne
2007-09-11 00:36:35 +00:00
15dd17a308
Added SCHEMA_VERSION.
Michael Bayne
2007-09-10 23:17:19 +00:00
5dd8695a9a
Added support for tracking multiple per-game percentile distributions.
Michael Bayne
2007-09-10 20:44:50 +00:00
81f49e4125
Use junit4.jar.
Michael Bayne
2007-08-28 20:26:18 +00:00
de0537d516
how long has this been broken? In party games, there is a "private" checkbox instead of a "watchable" checkbox, but it was treating it like "watchable", even thought that makes no sense for party games (at present).
Nathan Curtis
2007-08-27 18:53:54 +00:00
cc3976a213
Use playerInRoom() to let the game manager know we've arrived but aren't ready to start the game yet.
Michael Bayne
2007-08-24 23:54:06 +00:00
388c616b40
Reset EZ games to PRE_GAME after they end so that they can be restarted.
Michael Bayne
2007-08-24 23:45:47 +00:00
5392df8770
Make it possible for a player to report in when they arrive in a room but not cause the game to start. In Whirled we'll have all players report in immediately for games that want to handle playerReady() themselves so that they can do whatever they want before the game starts and then finally start it with a call to playerReady() from all the players.
Michael Bayne
2007-08-24 23:40:21 +00:00
74665f1663
Added EZGameControl.restartGameIn(seconds).
Michael Bayne
2007-08-23 23:19:51 +00:00
71f2a1442c
Added setWinners().
Michael Bayne
2007-08-23 23:10:02 +00:00
b9ba20c19b
Derived classes that are not in this package need to be able to call dispatch().
Michael Bayne
2007-08-23 00:32:36 +00:00
7c29339626
Extract that handy method.
Michael Bayne
2007-08-22 23:54:01 +00:00
1a272ef171
Widening and removal of compatibility code for never-in-the-wild functionality.
Michael Bayne
2007-08-22 23:29:54 +00:00
8f3293eb0b
Don't try to rate players if there are no winners. Otherwise everyone is rated as losing.
Michael Bayne
2007-08-22 00:19:02 +00:00
f1a94dfac9
More tidying.
Michael Bayne
2007-08-22 00:14:26 +00:00
a6398a2d60
Oops missed a spot.
Michael Bayne
2007-08-22 00:10:59 +00:00
f6481922f6
Tidied things up, avoid doing things on the invoker thread that should be done on the dobj thread.
Michael Bayne
2007-08-22 00:09:57 +00:00
df1b8277fb
Use FieldDefinition instead of FieldOverride wherever appropriate (almost everywhere).
Par Winzell
2007-08-21 23:12:44 +00:00
abeac5d1b2
Allow rating records to be deleted (we'll probably want a delete for just the game and one for just the user as well but I'll add those later).
Michael Bayne
2007-08-21 21:50:11 +00:00
d3cc74bc0d
Tidying.
Michael Bayne
2007-08-21 21:49:41 +00:00
4567264b91
We're not going to do this INDEX: comment thing.
Par Winzell
2007-08-16 21:53:47 +00:00
01db2cc225
Scratch that, reverse it.
Michael Bayne
2007-08-15 19:47:51 +00:00
41c1ca44b7
No need to validate here.
Michael Bayne
2007-08-15 19:07:01 +00:00
b4e207eeae
columns -> fields.
Michael Bayne
2007-08-13 23:21:16 +00:00
568b1f6ab2
Some log fiddling.
Michael Bayne
2007-08-11 00:37:48 +00:00
e386d6c3a0
Add an index, document index use for Depot operations. Do you think this is worthwhile? We should really just about never see a non-indexed query during normal production use and one way to maintain that discipline is with a comment line like this.
Par Winzell
2007-08-07 18:05:44 +00:00
96b42efbae
Switch stataData to an untyped column so that Depot can do the right thing with it. BLOB on MySQL has a maximum length of 65535, so we'll preserve those semantics even though Depot will now use VARBINARY on MySQL for columns of length 65535 and lower.
Michael Bayne
2007-08-07 17:20:22 +00:00
30d7bc4be3
When we add a chat display, we must remove it once we're done.
Michael Bayne
2007-08-02 19:12:08 +00:00
8d9ff98273
columnNames -> fieldNames.
Michael Bayne
2007-07-31 21:36:49 +00:00
09ad0ca87d
Updates to reflect SpeakProvider refactoring.
Michael Bayne
2007-07-31 21:05:36 +00:00
8233be01e7
Added filter(text) to the EZGame API. Untested.
Ray Greenwell
2007-07-31 06:51:20 +00:00
2bbca9894b
Have distclean just call what it needs in common-clean
Jonathan Le Plastrier
2007-07-28 04:17:20 +00:00
beb58c2c41
Another tweak, now that code/value is the full key.
Par Winzell
2007-07-27 21:18:30 +00:00
0444af1792
Forgot to turn this check on properly.
Par Winzell
2007-07-27 21:15:27 +00:00
3f7c1f9466
The old schema had STAT_DATA be a BLOB, and Depot currently defaults to varbinary(255). This raises at least two questions; first, does it make sense to assume that in the absence of any other markup, 255 is a reasonable size limit? I am not at all sure. Second, whatever the default translation of byte[] ends of being, how to we deal dialect-agnostically with schema compatibility issues?
Par Winzell
2007-07-27 21:12:29 +00:00
a010a130fc
This should work better.
Par Winzell
2007-07-27 20:59:38 +00:00
7d3de02e7c
As tidy as it was to tuck this record away inside StatRepository, we'd really like the benefit of the 'genrecord' transformation. Also the inner class couldn't be protected for reflection access reasons so some of the tidy wasn't so tidy.
Par Winzell
2007-07-27 19:17:57 +00:00
8defc9da5e
So CODE is not in fact part of the primary key, thanks Mark.
Par Winzell
2007-07-27 18:53:24 +00:00
ae02a37f74
Out with the old.
Michael Bayne
2007-07-26 20:50:16 +00:00
12130830e7
Don't need legacy ConnectionProvider support here, so nix it.
Michael Bayne
2007-07-26 20:39:27 +00:00
fa7eb87945
Nixed stale method, some minor tidying.
Michael Bayne
2007-07-26 20:38:08 +00:00
2d5a5ca033
Depot implementation of the stat system persistence - hopefully schema compatible with the old version. This one is a little more complicated and Whirled doesn't have any stats yet so I was a little at a loss at how to test all of it. Perhaps somebody at Bang could make sure nothing crashes and burns horribly when e.g. a new string code is assigned?
Par Winzell
2007-07-26 20:28:50 +00:00
a2d446d3cf
Away with ye, Depot dependency check.
Par Winzell
2007-07-26 20:26:37 +00:00
7dea421cca
Depot implementation of the Game Cookie persistence - hopefully schema compatible with the old version.
Par Winzell
2007-07-26 20:20:07 +00:00
2885a2b41c
Use a PersistenceContext to initialize the RatingRepository.
Michael Bayne
2007-07-26 00:22:38 +00:00
505d75ca6c
Note our persistent record classes.
Michael Bayne
2007-07-25 23:48:10 +00:00
a68b0aee35
Pipe down Mister.
Michael Bayne
2007-07-25 21:47:48 +00:00
c826583754
More Depot NWO.
Michael Bayne
2007-07-25 21:07:35 +00:00
e6b104f688
Don't trigger that the players have all arrived if it happens after the game has already started. This could previously occur if all the participants of the game leave and come back (without the game shutting down, possibly due to watchers).
Mike Thomas
2007-07-25 16:33:11 +00:00
8ad7f5eaef
Actually, this looks like the "right" way to do this - use the PlaceOid as our comparator.
Mike Thomas
2007-07-24 17:41:20 +00:00
85d3e3c7a7
location is an object, compare appropriately.
Mike Thomas
2007-07-24 17:31:19 +00:00