This page contains information regarding my online80 game. The game actually has two different names. One is: "Online80" and the other is "OnlineEighty". They're the same thing, except one uses numbers and the other letters.
The game can be found at: http://huron.eecg.utoronto.ca or use an appletviewer with the following command prompt: "appletviewer http://huron.eecg.utoronto.ca/index2_b.html"
I took the game down as I was not working on it and there were some major flaws in it. Once I think I have a more correct version up, I'll put it back on the web page.
Figure out whether long of a kind will accept six or more trump value cards. Also, I think I'll have it so that the long of a kind when they're all trump is a long of a kind, but then I must ensure that it's handled properly. And I'm still not done all of the functions. I guess I shouldn't expect anything else, I came in at 10:30, I'm leaving at 2:00, and I played bridge for quite some time.
I need to make many things final or private or static for optimization purposes. Actually this program should be really good to perform optimizations on (if I can figure out how to test how slow/fast it is). As an aside note, if union is an averaging operation and intersection is a multiplication then we can have fuzzy digital logic... =) (I read an article that said that boolean values can be just multiplied instead of anded and then turned into int's, and I just twisted and extended that). Also having an AI would help so that I can use this in testing for optimizations, since then the server can be under any possible loads imaginable). And of course I still have to remove RMI. And I should also rework where and how all of the errors are handled... I seem to be creating more problems as I go along instead of solving them. Oh well. I also have more functions to implement due to refactoring. That's for tomorrow.
Some bugs: on aces, QKK of non trump produces penalty play. And on the penalty play the person who made the play still has a play button. Also, pressing the button on a text input should cause the associated button to be pressed. Also all the bugs that are listed below.
I'm fixing more mistakes. And finding new ones as I'm testing that I got rid of old ones. I'm also doing some work on paper to refactor some of the functions.
when everybody leaves, and then a game in the same spot is started, everything is okay until the first round, where the third person has to give 2 cards on a single play and the fourth person is skipped. Also, pressing enter on a text input field should press the associated button when rejoin, people still see the original name under initial score Umm... the initial score is not initial b/c it gets updated to say who got serve?? if I have a name which had problems previously it says I haven't logged in yet when I re-log in. forced redeal button doesn't go away? when leave & join don't say I got the kiddie when everybody leaves a game and then comes back and restarts, the game deals the cards and then goes into a forced redeal?? -- strange lets you break pairs need to reset game? pair in trump from long of a kind requests pairs from other people even if they don't have them have a sort option, the new card is always inserted on the left/right and have a resort button in the top right synchronize card sending (if have slow player) kick a user off even if other people don't do anything (might not be doing anything because it's that user's turn) Scenario: even 6, odd 5 1: puts down a 6 now: 1/3 get the kiddie (this is wrong) - 1 should decide in this case If play king of clubs and two people are void and they both trump, the behaviour is not proper (e.g. if both played a king the 2nd person won), and once when the first played higher, the second person won -> when a high combo was played, the 1st person won who trumped (although it was a lower combo) say when server is down and can't connect jar everything
keep a log file allow for more people to play at once?? show full card for a second when focus is over the card/right click?? proper exception handling fix the graphics on the cards comment, put my name everywhere switch from RMI to TCP/IP go to Swing and various languages make all strings into constants (& externalize) windows/text - how to scale everything (or force to a certain size at first) key focus grabbed by applet dialogs are resizable (i.e. make a note of this)
I got my own personal variable/method name changer working, and now online80 does actually work a lot better. The following are still bugs which I have to fix.
I felt that many of the errors that were found were already fixed. Indeed they were. I was trying to mangle my class files so that the source code that was derived from them would not be useful. Unfortunately this does not work. Once I remove some of the other bugs and clean up the code, I will post a new version which will hopefully work better.
when rejoin, people still see the original name under initial score Umm... the initial score is not initial b/c it gets updated to say who got serve?? if I have a name which had problems previously it says I haven't logged in yet when I re-log in. forced redeal button doesn't go away? when leave & join don't say I got the kiddie when everybody leaves a game and then comes back and restarts, the game deals the cards and then goes into a forced redeal?? -- strange lets you break pairs need to reset game? pair in trump from long of a kind requests pairs from other people even if they don't have them have a sort option, the new card is always inserted on the left/right and have a resort button in the top right synchronize card sending (if have slow player) can't read some of the text on "start game" dialog kick a user off even if other people don't do anything (might not be doing anything because it's that user's turn) Scenario: even 6, odd 5 1: puts down a 6 now: 1/3 get the kiddie (this is wrong) - 1 should decide in this case If play king of clubs and two people are void and they both trump, the behaviour is not proper (e.g. if both played a king the 2nd person won), and once when the first played higher, the second person won -> when a high combo was played, the 1st person won who trumped (although it was a lower combo) at end of the game, can't say: start new game ("game already in progress") at end of game, get rid of next round button (probably fixed at this point) for the score, it says 11, but it should be J. (probably fixed at this point) say when server is down and can't connect jar everything
keep a log file allow for more people to play at once?? show full card for a second when focus is over the card/right click?? proper exception handling fix the graphics on the cards comment, put my name everywhere switch from RMI to TCP/IP go to Swing and various languages make all strings into constants (& externalize) windows/text - how to scale everything (or force to a certain size at first) key focus grabbed by applet dialogs are resizable (i.e. make a note of this)
leave/join doesn't work lets you break pairs need to reset game? sort button on the top right game 3 doesn't work pair in trump from long of a kind requests pairs from other people even if they don't have them at end of round, text doesn't have room dr -> cut out (names can't have spaces) rework sending start message (also when resent in added user) code in OnlineGameApplet (start game) needs to be moved to EightyApplet with an extra function call (like add/remove user in GameObject) have a sort option, the new card is always inserted on the left/right and have a resort button in the top right wait time between rounds so that see what's been played show the person who got the kiddie at the end show a point count for the score (single (+ 2xdouble = ##) i.e. one for the game, and one at the end synchronize card sending (if hae slow player) can't read some of the text on "start game" dialog kick a user off even if other people don't do anything (might not be doing anything because it's that user's turn) should remove messages from the log after it gets too long (use parameters) Scenario: even 6, odd 5 1: puts down a 6 now: 1/3 get the kiddie (this is wrong) - 1 should decide in this case also, at one point the game skipped one player to play the cards?? If play king of clubs and two people are void and they both trump, the behaviour is not proper (e.g. if both played a king the 2nd person won), and once when the first played higher, the second person won -> when a high combo was played, the 1st person won who trumped (although it was a lower combo) message text split in 2 when neccessary (e.g. at end of round) add ending animation at end of the game, can't say: start new game ("game already in progress") at end of game, get rid of next round button for the score, it says 11, but it should be J. say when server is down and can't connect jar everything
keep a log file allow for more people to play at once?? show full card for a second when focus is over the card/right click?? proper exception handling fix the graphics on the cards comment, put my name everywhere switch from RMI to TCP/IP go to Swing and various languages make all strings into constants (& externalize) windows/text - how to scale everything (or force to a certain size at first) key focus grabbed by applet dialogs are resizable
Ports: 1024-5999 and 6001-65535 Port: 6000 is not accessible, and neither is anything below 1024. Will have synchronized card sending
This web page is maintained by Borys
Bradel. Last update: Jan. 9, 2002
Address: http://www.eecg.utoronto.ca/~bradel/projects/online80/index.html