-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the foosobsplus wiki!
The following code scheme will allow you to record every possession in a game by just learning what each position in the code designates and learning only a handful of codes. Using these codes, the score and timers can be automatically maintained throughout the match. Each position in the code has from 2 to 10 possible mostly intuitive values. Below is the breakdown of the code.
1st position - team: which team has the ball.
- y - yellow team
- b - black team
- x - command trigger (see below for list of commands)
2nd position - rod: where is the ball:
- 2 - 2 bar or 3 bar goalie rod. These rods are treated as one rod.
- 3 - 3 bar forward rod.
- 5 - 5 bar forward rod.
- g - goal (someone scored)
- o - off table
- d - dead ball
3rd position - action: how did the ball get here:
- c - clear
- p - pass
- s - shot
- d - drop (serving ball after a score or being knocked off the table or after time out called)
- t - time out
- r - reset
- w - reset warning
- x - penalty (see 4th position for penalty modifiers)
- y - ball placement after a technical foul shot has been taken
- e - error (turnover)
4th position - detail: provides more detail for the action if needed.
- b - break - used with pass or shot to designate that the attempt was successful, but only because of a lucky break
- f - stuff - used with shot or pass to indicate shot/pass was stuffed into shooters/passers goal (y3p, ygsf)
- w - 3 walls 5 bar violation - used with 3rd position set to x
- s - spin violation - used with 3rd position set to x
- j - jarring violation - used with 3rd position set to x
- d - distraction - used with 3rd position set to x
- t - too many time outs - used with 3rd position set to x
- p - illegal pass - used with 3rd position set to x
- x - technical foul - used with 3rd position set to x
- r - ready protocol violation - used with 3rd position set to x
- o - other violation - future rules or ones just overlooked - used with 3rd position set to
Examples (this is laid out in the form of an actual game taking place):
- y5d - ball is on the 5 bar of the yellow team who "has the drop" either due to winning the coin toss, ball off the table, or oppenent scored.
- y5d or b5d will always be how a new point, game, and match start out.
- y3p - ball is passed to the 3 bar
- bgs - ball shot into black team's goal (score y=1, b=0)
- b5d - now black team has ball on the 5 from the drop.
- y5xw - ball on yellow 5 man because black team hit 3 walls on their 5 bar possession.
- y3p - ball successfully passed from 5 bar to 3 bar.
- y2s - ball was shot, but missed and landed on yellow 2 bar.
- y5p - ball passed to yellow 5 bar successfully.
- ygp - yellow tried to pass to 3 but was blocked into their own goal (score y=1, b=1)
- y5d - yellow has ball on 5 bar after black scored.
- y5t - yellow called time out, ball still on the 5 bar
- y5d - yellow starts play again from 5 bar
- b3p - pass to 3 bar successful
- b3r - yellow blocking agressively and reset is called
- ygs - ball shot into yellow goal (score y=1, b=2)
Commands: (These are just like hitting the corrsponding buttons in the UI)
- xu - push undo button
- xr - push redo button
- xpsm - push Start Match button
- xppm - push Pause Match button
- xpsg - push Start Game button
- xsst - start shot timer
- xspt - start pass timer
- xsgt - start game timer
- xstt - start timeout timer
- xsrt - start recall timer
- xprt - push reset timer
- xist1 - increase score team 1
- xist2 - increase score team 2
- xdst1 - decrease score team 1
- xdst2 - decrease score team 2
- xigt1 - increase game count team 1
- xigt2 - increase game count team 2
- xdgt1 - decrease game count team 1
- xdgt2 - decrease game count team 2
- xutt1 - use timeout for team 1
- xutt2 - use timeout for team 2
- xrtt1 - return timeout for team 1
- xrtt2 - return timeout for team 2
- xprt1 - push reset button for team 1
- xprt2 - push reset button for team 2
- xpwt1 - push warn button for team 1
- xpwt2 - push warn button for team 2
- xxpt1 - switch positions team 1
- xxpt2 - switch positions team 2
- xpss - push switch sides button
- xpst - switch teams
- xpssc - switch scores
- xpsgc - switch game counts
- xpsto - switch time outs
- xpsr - switch reset/warns
- xpca - clear all (switch)
- xpct1 - push clear team 1
- xpct2 - push clear team 2
- xprn - push reset names
- xprs - push reset scores
- xprg - push reset game counts
- xprto - push reset time outs
- xprr - push reset reset/warns
- xpra - push reset all
To Do:
-Bugs:
- Undo past a XPSM works, but does not show the history. May need to make memento for statsentrypanel
- How to handle an informal timeout (e.g. was that legal discussion)
- Reset All, reset game counts should reset currentGameNumber and repaint game tables. Same with Clear button in team panels
-Impactful:
- Handle Penalties (too many timeouts, 3 walls, etc) - no clue what to do here. Penalty window? or add to Team panels?
- Put Clear stats in Stat History and make undo work for it.
- Write Game Scores
- Add Game Scores file names to files window (maybe make one file to hold entire game table for use in reloading/saving)
- Make Start Match button alternate to End Match and when pressed, it logs match info to database.
- Database??? - https://www.oracle.com/technical-resources/articles/java/db-desktop-apps.html
- #10 Show who took time out for parameter number of seconds or until ball back in play
-Beneficial:
- Need 4th character for TimeOut??? (so far no)
- Allow Action Position vs Position Action - paramaterize?
- Settings - Prevent same letter for two mnemonics
- Add legend to Help
- Add Win by last game only parameter and logic
- Incrementing score should unpause match??? since it restarts and unpauses the last score timer. maybe it should not unpause the last score timer???
-Undecided:
- Split out 5 bar passing?
- Aces Stats - how to determine aces - what is an ace?
- Match winner show team name or forward/goalie name - or parameter so user decides - if team names blank, show f/g names and vice versa
- Code Settings Page (allow setting of stat codes if they don't like the default)
- Add handicap match checkbox parameter and Points to win for each team (team 1 - 9 points, team 2 - 5 points)
- change statsDisplayPanel to a table??
-Rejected:
- Add match time to game Table Window Panel - already have match time as separate file and not a nice way to add to table.
- Time since last score - each team: (Reject since already have times as windows)
- c. Write times to files - not wanting to do this - concerns of speed/io issues - but can let filename control (if empty - do not write)
- d. Add filesnames in files settings screen
- Add game winner pointer (similar to LastScored) - game table shows game winners
- Add match winner pointer (similar to LastScored) - game table shows match winner
- Game Time Start/Stop/Reset - Maybe make minutes only for match/game timers?? - Start Game already resets Game time. Pause Match pauses game timer.