everything ive stated is pretty much an assumption. but im trying to use fairly simple logic, specifically from a process control perspective and general maths.
So I split the two events initially, based on the fact that, before shots are taken, selected events happen, which are
- steal/turnover/halfcourt prayer/foul.
Now i say 'Bring the ball up the court' but in reality, thats describing 'all events before the shot selection engine'.
So for instance, certain events will occur before a shot selection engine is entered (in my opinion). like fouling at end of game as soon as possession is lost/rebound, timeouts etc etc....
It would be very inefficient for the game engine to run through an entire shot selection/passing/matchups etc etc, and then at the end, take into account the shot clock and exit with a timeout.
Its more likely that that Game engine takes in some initial data, and then enters a pathway.
eg: If game clock is greater than 2 mins, run normal process. If less than 2 mins, enter 'low-time process'.
.... --Normal Process
......... - Then if shot clock is greater than 20, run half court process
................. - Half court process
..........................runs some numbers for determining steals/timeouts/turnovers etc.
- if no event, then exit half court process and enter Shot selection process.
etc.
Not sure how that formatting is going to come out.
Thats purely my view, i have no stats or anything to back that up, its more just thinking about how you would write the whole thing.
With regards to the 3 players involved in the shot selection process, thats just my thoughts on this and can be discussed at leisure.