unit Verbosity;
interface
const
Maxverbosity = 10;
Type
VPlayResultType = (VNone,Vrun,VpassComplete,VpassIncomplete,Vfumble,VfieldGoal,
VFieldGoalMissed,Vsacked,VKick,VInterception,vPickSix,vTouchdown,VLast);
var
Vplay:VPlayResultType;
Commentary:array[vnone..vlast,0..MaxVerbosity-1] of string;
procedure buildVerbosity;
Function getcommentary(Comment:VPlayResultType):string;
implementation
procedure buildVerbosity;
var
j:integer;
c:VPlayResultType;
begin
fillchar(commentary,sizeof(commentary),0);
// --- Run plays ---
Commentary[vRun,0] := 'He powers ahead for a few yards.';
Commentary[vRun,1] := 'A strong run up the middle.';
Commentary[vRun,2] := 'He finds a crease and pushes forward.';
Commentary[vRun,3] := 'Bounces to the outside and gains ground.';
Commentary[vRun,4] := 'The defense closes in quickly, short gain.';
Commentary[vRun,5] := 'He bursts through the line for good yardage!';
Commentary[vRun,6] := 'Cuts back inside and breaks a tackle.';
Commentary[vRun,7] := 'Met in the backfield for a loss.';
Commentary[vRun,8] := 'Dragged down after a tough run.';
Commentary[vRun,9] := 'Weaves through defenders for extra yards.';
// --- Pass completed ---
Commentary[vPassComplete,0] := 'Caught near the sideline for a solid gain.';
Commentary[vPassComplete,1] := 'He threads it in for the completion!';
Commentary[vPassComplete,2] := 'Quick slant — caught and tackled immediately.';
Commentary[vPassComplete,3] := 'He hits his man in stride!';
Commentary[vPassComplete,4] := 'Nice grab over the middle.';
Commentary[vPassComplete,5] := 'Perfect throw and catch for a first down!';
Commentary[vPassComplete,6] := 'The receiver makes a great adjustment.';
Commentary[vPassComplete,7] := 'He hauls it in despite tight coverage.';
Commentary[vPassComplete,8] := 'Short pass turns into a decent gain.';
Commentary[vPassComplete,9] := 'Beautiful timing on that route.';
// --- Pass incomplete ---
Commentary[vPassIncomplete,0] := 'Overthrown and incomplete.';
Commentary[vPassIncomplete,1] := 'He had a man open but missed him.';
Commentary[vPassIncomplete,2] := 'The pass falls harmlessly to the turf.';
Commentary[vPassIncomplete,3] := 'Defender gets a hand on it — incomplete.';
Commentary[vPassIncomplete,4] := 'Receiver couldn’t hang on.';
Commentary[vPassIncomplete,5] := 'Thrown out of bounds to avoid the sack.';
Commentary[vPassIncomplete,6] := 'Tight coverage, incomplete.';
Commentary[vPassIncomplete,7] := 'He threw it too low to handle.';
Commentary[vPassIncomplete,8] := 'Just off the fingertips — incomplete.';
Commentary[vPassIncomplete,9] := 'No connection on that play.';
// --- Fumble ---
Commentary[vFumble,0] := 'The ball is out!';
Commentary[vFumble,1] := 'He loses the handle — it’s a fumble!';
Commentary[vFumble,2] := 'The defense pounces on the loose ball!';
Commentary[vFumble,3] := 'Stripped from behind, the ball’s loose!';
Commentary[vFumble,4] := 'Big hit — and the ball comes free!';
Commentary[vFumble,5] := 'He coughs it up under pressure!';
Commentary[vFumble,6] := 'That one just slipped away!';
Commentary[vFumble,7] := 'He fumbles it on contact!';
Commentary[vFumble,8] := 'Scramble for the ball!';
Commentary[vFumble,9] := 'Turnover on the ground!';
// --- Field Goal made ---
Commentary[vFieldGoal,0] := 'The kick is up — and it’s good!';
Commentary[vFieldGoal,1] := 'Splits the uprights with ease.';
Commentary[vFieldGoal,2] := 'Drilled right down the middle!';
Commentary[vFieldGoal,3] := 'Plenty of leg — it’s good!';
Commentary[vFieldGoal,4] := 'He nails it from long range!';
Commentary[vFieldGoal,5] := 'That one sneaks just inside the post.';
Commentary[vFieldGoal,6] := 'Clean contact — good from distance.';
Commentary[vFieldGoal,7] := 'Right through the uprights!';
Commentary[vFieldGoal,8] := 'A clutch kick — it’s good!';
Commentary[vFieldGoal,9] := 'Three points on the board.';
// --- Field Goal missed ---
Commentary[vFieldGoalMissed,0] := 'The kick was short!';
Commentary[vFieldGoalMissed,1] := 'The kick was wide right!';
Commentary[vFieldGoalMissed,2] := 'The kick was wide left!';
Commentary[vFieldGoalMissed,3] := 'The kick hit the crossbar!';
Commentary[vFieldGoalMissed,4] := 'He hooked it badly — no good.';
Commentary[vFieldGoalMissed,5] := 'It drifts wide — missed!';
Commentary[vFieldGoalMissed,6] := 'Off the upright — no good!';
Commentary[vFieldGoalMissed,7] := 'He pushed it right.';
Commentary[vFieldGoalMissed,8] := 'Didn’t have the distance.';
Commentary[vFieldGoalMissed,9] := 'No good from that range.';
// --- Sacked ---
Commentary[vSacked,0] := 'He’s brought down for a sack!';
Commentary[vSacked,1] := 'The pocket collapses — down he goes.';
Commentary[vSacked,2] := 'Blitz gets there — sack!';
Commentary[vSacked,3] := 'Nowhere to go, he’s taken down.';
Commentary[vSacked,4] := 'He’s dragged down behind the line.';
Commentary[vSacked,5] := 'Swarmed by the defense for a loss.';
Commentary[vSacked,6] := 'He’s sacked before he can throw.';
Commentary[vSacked,7] := 'Pressure off the edge — sack!';
Commentary[vSacked,8] := 'He’s hit hard and dropped!';
Commentary[vSacked,9] := 'Big defensive play — sack!';
// --- Kickoff ---
Commentary[vKick,0] := 'A deep kick to start the drive.';
Commentary[vKick,1] := 'He boots it far upfield.';
Commentary[vKick,2] := 'Fielded and returned.';
Commentary[vKick,3] := 'High kick!';
Commentary[vKick,4] := 'Short kick!';
Commentary[vKick,5] := 'A booming kick!';
Commentary[vKick,6] := 'Returner takes it up the sideline.';
Commentary[vKick,7] := 'Kick lands and takes a bounce.';
Commentary[vKick,8] := 'Decent return after the kick.';
Commentary[vKick,9] := 'Kick coverage team gets downfield quickly.';
// --- Interception ---
Commentary[vInterception,0] := 'Intercepted!';
Commentary[vInterception,1] := 'He jumps the route and picks it off!';
Commentary[vInterception,2] := 'The pass is intercepted by the defense!';
Commentary[vInterception,3] := 'He threw it right to the defender!';
Commentary[vInterception,4] := 'Picked off deep downfield!';
Commentary[vInterception,5] := 'Deflected and intercepted!';
Commentary[vInterception,6] := 'Bad decision — it’s intercepted!';
Commentary[vInterception,7] := 'Defense snags the turnover!';
Commentary[vInterception,8] := 'He undercut the route perfectly.';
Commentary[vInterception,9] := 'Picked and taken back the other way!';
// --- Pick Six (interception returned for a touchdown) ---
Commentary[vPickSix,0] := 'Intercepted — and he’s taking it all the way back!';
Commentary[vPickSix,1] := 'Picked off! He’s got open field ahead — touchdown!';
Commentary[vPickSix,2] := 'He jumps the route and takes it to the house!';
Commentary[vPickSix,3] := 'Interception! He breaks a tackle — he’s gone!';
Commentary[vPickSix,4] := 'What a play! The defense scores on the interception!';
Commentary[vPickSix,5] := 'He reads the quarterback perfectly and scores!';
Commentary[vPickSix,6] := 'That’s a defensive touchdown — pick six!';
Commentary[vPickSix,7] := 'He cuts across the field — end zone! Pick six!';
Commentary[vPickSix,8] := 'The crowd erupts as he returns it for six!';
Commentary[vPickSix,9] := 'Touchdown defense! Unbelievable return on the interception!';
// --- Touchdown ---
Commentary[vTouchdown,0] := 'Touchdown! He crosses the goal line!';
Commentary[vTouchdown,1] := 'He’s in for the score!';
Commentary[vTouchdown,2] := 'Touchdown! What a play!';
Commentary[vTouchdown,3] := 'He breaks free and dives into the end zone!';
Commentary[vTouchdown,4] := 'Touchdown pass — perfect connection!';
Commentary[vTouchdown,5] := 'He shakes off the defender and scores!';
Commentary[vTouchdown,6] := 'He finds the end zone untouched!';
Commentary[vTouchdown,7] := 'The crowd goes wild — touchdown!';
Commentary[vTouchdown,8] := 'He stretches for the pylon — touchdown!';
Commentary[vTouchdown,9] := 'Touchdown! Six points on the board!';
end;
Function getcommentary(Comment:VPlayResultType):string;
var
j:integer;
begin
j := random(MaxVerbosity);
result := commentary[Comment,j];
end;
end.