%prologues:=2; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Copyright (C) 2005, Christopher Swingley % % Licensed under the terms of the GNU General Public License, Version 2 % available from http://www.gnu.org/copyleft/gpl.html % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % The following Metapost program draws baseball scorecards as well as % allows you to record plays on the same card. It contains two figures. % Figure 0 is a complete, unfilled scorecard that can be converted to PDF % and printed. % % Figure 2 is an example, showing the Cardinals scoring from the game % where Mark McGwire broke Roger Maris' home run record. % % Figure 1 is the Cubs scoring from the same game % % A few variables can be set at the beginning of the card to adjust % colors and line thicknesses and other parameters. Also note that % I am using Adobe's Myriad Condensed fonts for the scorecard, so % you will need to modify the font names to suit your own preferences % and fonts. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Manual for metapost: % $ texdoc mpman % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Locations for stuff: % % ballone, balltwo, ballthree, strikeone, striketwo, foulone, foultwo, % foulthree, foulfour % % These are the locations for writing in the pitch counts to each % batter: % label(btex {\sf 1} etex, ballone) withcolor clr; % label(btex {\sf 2} etex, strikeone) withcolor clr; % % rbione, rbitwo, rbithree, rbifour, rundot, outlabel % % These are the locations for RBI dots, run dots (in the middle % of the diamond), and the out labels (which also go in the middle % of the diamond): % draw_dot(rbione, clr); % draw_dot(rbitwo, clr); % draw_dot(rundot, clr); % label(btex {\bigsf 6-3} etex, outlabel) withcolor clr; % % first, second, third, home % % Locations of the bases. Mostly used for building the paths, % but also useful for pinch runners: % label.top(btex {\sf PR} etex, second) withcolor clr; % % hr, threeb, twob, oneb, bb, hp % % Locations for the hit / walk / HBP text on the right side of % the box. Circled to indicate the result of the at bat: % draw_circle(twob, clr); % % wayfirst, waysecond, waythird, wayhome % % The half-way points between bases. Used as part of the CS and % TO paths, but also useful for labelling CS and TO plays: % label.lft(btex {\sf TO 7-2} etex, wayhome) withcolor clr; % % Paths available: % single, double, triple, homerun % % Paths showing a runner's progress on the bases: % draw(double) withcolor clr; % % firstsecond, firstthird, firsthome, secondthird, secondhome, % thirdhome % % Paths for runners along the bases: % draw(secondhome) withcolor clr; % % ifleft, ifright, ifcenter, ofleft, ofleftc, ofcenterl, ofcenterr, % ofrightc, ofright % % Paths for various type of hits (infield, outfield): % draw(ofleftc) withcolor clr; % % hrleft, hrleftc, hrcenterl, hrcenterr, hrrightc, hrright; % % Paths for home runs: % draw(hrleftc) withcolor clr; % % cs_second, cs_third, to_home % % Paths for caught stealing and thrown out: % draw(cs_second) withcolor clr; % % new_hitter, new_pitcher % % Paths for new hitters (left side of box) and pitchers % (top of box) % draw(new_hitter) withcolor clr; % draw(new_pitcher) withcolor clr; % % Fonts: % % \tiny - used for the Copyright line % \tnsf - used for the basepath plays % \sf - used for balls and strikes, outs, various labelling % \bigsf - used for out labels % % Normal functions: % % draw(path) withcolor clr; - stroke a path % label(btex {\sf 1} etex, pair) withcolor clr; - label % directional suffixes: lft,rt,top,bot,ulft,urt,llft,lrt % label(btex {\sf (6 empty boxes)} etex, \ % 1/2[(xstart, ystart-25u),(xstart+100u,ystart-25u)]) \ % withcolor clr; - use this when the lineup turns over % % User functions: % % % def set_vars(expr xstart, ystart) = % % Used to initialize all the locations and paths for a new % starting locations. Needs to be called right after setting % xstart and ystart. These should be multiples of 100u % % def draw_square(expr xstart, ystart) = % % Draws an at-bat box in cyan % % def draw_out_[one|two|three](expr xstart, ystart, clr) = % % Indicates the first (second or third) out with the out number % in a circle. % % def draw_dot(expr loc, clr) = % % Draws a 5pt dot at the location indicated. Used for RBI's, % and runs scored % % def draw_circle(expr centerpoint, clr) = % % Draws a circle around a location. Used to circle the plays % on the right of the at-bat box. % % def draw_inning_end(expr xstart, ystart, clr) = % % Draws the slash in the lower right that signals the end of % the inning. % % def draw_inning_start(expr xstart, ystart, clr) = % % Draws the slash in the upper left that signals the start of % the inning. % % def draw_strikeout_looking(expr outlabel, clr) = % % Draws a backwards K % % def draw_ibb(expr bb, clr)= % % Adds 'I' in front of BB and circles it for an intentional walk % % Consult the Makefile for the commands used to turn the code in this % file into PDF, EPS or PNG files. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Wed Apr 20 07:58:23 AKDT 2005 % * Reversed figures 1 and 2 so the scoring of the game is in % order % * Added more comments to the beginning of the file % * Christopher Swingley, cswingle@iarc.uaf.edu % % Sat Apr 16 13:33:14 AKDT 2005 % * scoring.mp Version 0.2 % * Pulled out a bunch of variables % * Finished the full scorecard code % * Christopher Swingley, cswingle@iarc.uaf.edu % % Thu Apr 14 14:37:29 AKDT 2005 % * scoring.mp Version 0.1 % * Initial release % * Christopher Swingley, cswingle@iarc.uaf.edu % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % FONTS verbatimtex \font\tiny myriadrcrrl at 9pt etex verbatimtex \font\sf myriadrcbrl at 14pt etex verbatimtex \font\tnsf myriadrcrrl at 14pt etex verbatimtex \font\bigsf myriadrcbrl at 22pt etex % VARIABLES color card; color scoring; % Cyan card: card:=(0,1,1); % Grey card: %card:=(0.4,0.4,0.4); % Black scoring color scoring:=(0,0,0); % Diameter of circles (outs) outcircle_d := 7; % Size of dots (rbi, runs scored) dotsize := 7pt; % Diameter of play circles playcircle_d := 9; % Thickness of play lines playline_t := 1.5pt; % Thickness of thick card lines thickline_t := 0.5pt; % Thickness of thin card lines thinline_t := 0.05pt; def draw_square(expr xstart, ystart) = begingroup pickup pencircle scaled thickline_t; % Outer box draw (xstart,ystart)--(xstart,ystart+100u)--(xstart+100u,ystart+100u)--(xstart+100u,ystart)--cycle withcolor card; pickup pencircle scaled thinline_t; % Pitches pbsize := 15u; pbstart := 50u; draw (xstart+pbstart,ystart)--(xstart+pbstart,ystart+pbsize)--(xstart+pbstart+(1*pbsize),ystart+pbsize)--(xstart+pbstart+pbsize,ystart)--cycle withcolor card; pbstart := pbstart + pbsize; draw (xstart+pbstart,ystart)--(xstart+pbstart,ystart+pbsize)--(xstart+pbstart+(1*pbsize),ystart+pbsize)--(xstart+pbstart+pbsize,ystart)--cycle withcolor card; pbstart := pbstart + pbsize; draw (xstart+pbstart,ystart)--(xstart+pbstart,ystart+pbsize)--(xstart+pbstart+(1*pbsize),ystart+pbsize)--(xstart+pbstart+pbsize,ystart)--cycle withcolor card; pbstart := 50u; draw (xstart+pbstart,ystart+pbsize)--(xstart+pbstart,ystart+pbsize*2)--(xstart+pbstart+(1*pbsize),ystart+pbsize*2)--(xstart+pbstart+pbsize,ystart+pbsize)--cycle withcolor card; pbstart := pbstart + pbsize; draw (xstart+pbstart,ystart+pbsize)--(xstart+pbstart,ystart+pbsize*2)--(xstart+pbstart+(1*pbsize),ystart+pbsize*2)--(xstart+pbstart+pbsize,ystart+pbsize)--cycle withcolor card; % Diamond dsize := 24u; dxstart := xstart+40u; dystart := ystart+pbsize*1.7; ofactor := 1.5; draw (dxstart,dystart)--(dxstart+dsize,dystart+dsize)--(dxstart,dystart+dsize*2)--(dxstart-dsize,dystart+dsize)--cycle withcolor card; % Outfield draw (dxstart+dsize,dystart+dsize)--(dxstart+(dsize*ofactor),dystart+(dsize*ofactor))..(dxstart,dystart+(2*dsize*ofactor))..(dxstart-(dsize*ofactor),dystart+(dsize*ofactor))--(dxstart-dsize,dystart+dsize) withcolor card; % Labels lxstart := xstart+90u; lystart := ystart+92u; lsize := (lystart-ystart+(fsize/2)-pbsize)/6; label(btex {\tnsf HR} etex, (lxstart,lystart)) withcolor card; lystart := lystart - lsize; label(btex {\tnsf 3B} etex, (lxstart,lystart)) withcolor card; lystart := lystart - lsize; label(btex {\tnsf 2B} etex, (lxstart,lystart)) withcolor card; lystart := lystart - lsize; label(btex {\tnsf 1B} etex, (lxstart,lystart)) withcolor card; lystart := lystart - lsize; label(btex {\tnsf BB} etex, (lxstart,lystart)) withcolor card; lystart := lystart - lsize; label(btex {\tnsf HP} etex, (lxstart,lystart)) withcolor card; pickup pencircle scaled playline_t; endgroup enddef; def draw_out_one(expr xstart, ystart, clr) = begingroup pickup pencircle scaled playline_t; label(btex {\sf 1} etex, (xstart+25u, ystart+10u)) withcolor clr; draw (xstart+25u,ystart+10u-outcircle_d)..(xstart+25u+outcircle_d,ystart+10u).. (xstart+25u,ystart+10u+outcircle_d)..(xstart+25u-outcircle_d,ystart+10u)..cycle withcolor clr; endgroup enddef; def draw_out_two(expr xstart, ystart, clr) = begingroup pickup pencircle scaled playline_t; label(btex {\sf 2} etex, (xstart+25u, ystart+10u)) withcolor clr; draw (xstart+25u,ystart+10u-outcircle_d)..(xstart+25u+outcircle_d,ystart+10u).. (xstart+25u,ystart+10u+outcircle_d)..(xstart+25u-outcircle_d,ystart+10u)..cycle withcolor clr; endgroup enddef; def draw_out_three(expr xstart, ystart, clr) = begingroup pickup pencircle scaled playline_t; label(btex {\sf 3} etex, (xstart+25u, ystart+10u)) withcolor clr; draw (xstart+25u,ystart+10u-outcircle_d)..(xstart+25u+outcircle_d,ystart+10u).. (xstart+25u,ystart+10u+outcircle_d)..(xstart+25u-outcircle_d,ystart+10u)..cycle withcolor clr; endgroup enddef; def draw_dot(expr loc, clr) = begingroup pickup pencircle scaled dotsize; draw(loc) withcolor clr; pickup pencircle scaled playline_t; endgroup enddef; def draw_circle(expr centerpoint, clr) = begingroup pickup pencircle scaled playline_t; draw (centerpoint+(0,-playcircle_d))..(centerpoint+(playcircle_d,0))..(centerpoint+(0,playcircle_d)).. (centerpoint+(-playcircle_d,0))..cycle withcolor clr; endgroup enddef; def draw_inning_end(expr xstart, ystart, clr) = begingroup pickup pencircle scaled playline_t; draw (xstart+95u,ystart-5u)--(xstart+105u,ystart+5u) withcolor clr; endgroup enddef; def draw_inning_start(expr xstart, ystart, clr) = begingroup pickup pencircle scaled playline_t; draw (xstart-5u,ystart+95u)--(xstart+5u,ystart+105u) withcolor (0,0,0); endgroup enddef; def draw_strikeout_looking(expr outlabel, clr) = begingroup label(btex {\bigsf K} etex, outlabel) reflectedabout (outlabel+(0,1u), outlabel+(0,-1u)) withcolor clr; endgroup enddef; def draw_ibb(expr bb, clr)= begingroup label(btex {\sf I} etex, bb+(-9u,0)) withcolor clr; draw (bb+(-3u,-playcircle_d))..(bb+(playcircle_d+3u,0))..(bb+(-3u,playcircle_d))..(bb+(-playcircle_d-6u,0))..cycle withcolor clr; endgroup enddef; def draw_player_box(expr xstart, ystart, clr) = % Intended to draw to the *left* of xstart, ystart begingroup iposwidth := 40u; namewidth := 250u; pickup pencircle scaled thickline_t; % Inning and Position box draw (xstart,ystart)--(xstart-iposwidth*2u,ystart)--(xstart-iposwidth*2u,ystart+100u)--(xstart,ystart+100u)--cycle withcolor clr; draw (xstart-iposwidth,ystart)--(xstart-iposwidth,ystart+100u) withcolor clr; % Player name box draw (xstart-iposwidth*2,ystart)--(xstart-iposwidth*2-namewidth,ystart)--(xstart-iposwidth*2-namewidth,ystart+100u)-- (xstart-iposwidth*2,ystart+100u)--cycle withcolor clr; % Number box draw (xstart-iposwidth*2-namewidth,ystart)--(xstart-iposwidth*3-namewidth,ystart)--(xstart-iposwidth*3-namewidth,ystart+100u)-- (xstart-iposwidth*2-namewidth,ystart+100u)--cycle withcolor clr; pickup pencircle scaled thinline_t; % other player lines draw (xstart,ystart+100u/3)--(xstart-iposwidth*3-namewidth,ystart+100u/3) withcolor clr; draw (xstart,ystart+100u/3+100u/3)--(xstart-iposwidth*3-namewidth,ystart+100u/3+100u/3) withcolor clr; endgroup enddef; def draw_pitcher_box(expr xstart, ystart, clr) = % Intended to draw to the *left* of xstart, ystart begingroup iposwidth := 40u; namewidth := 250u; pickup pencircle scaled thickline_t; % Inning and Position box draw (xstart,ystart)--(xstart-iposwidth*2u,ystart)--(xstart-iposwidth*2u,ystart+100u)--(xstart,ystart+100u)--cycle withcolor clr; draw (xstart-iposwidth,ystart)--(xstart-iposwidth,ystart+100u) withcolor clr; % Player name box draw (xstart-iposwidth*2,ystart)--(xstart-iposwidth*2-namewidth,ystart)--(xstart-iposwidth*2-namewidth,ystart+100u)--(xstart-iposwidth*2,ystart+100u)--cycle withcolor clr; % Number box draw (xstart-iposwidth*2-namewidth,ystart)--(xstart-iposwidth*3-namewidth,ystart)--(xstart-iposwidth*3-namewidth,ystart+100u)--(xstart-iposwidth*2-namewidth,ystart+100u)--cycle withcolor clr; pickup pencircle scaled thinline_t; % other player lines draw (xstart-iposwidth,ystart+100u/3)--(xstart-iposwidth*3-namewidth,ystart+100u/3) withcolor clr; draw (xstart-iposwidth,ystart+100u/3+100u/3)--(xstart-iposwidth*3-namewidth,ystart+100u/3+100u/3) withcolor clr; % Column totals key pickup pencircle scaled thickline_t; draw (xstart,ystart+100u/2)--(xstart-iposwidth,ystart+100u/2)--(xstart,ystart+100u) withcolor clr; draw (xstart,ystart+100u/2)--(xstart-iposwidth,ystart) withcolor clr; endgroup enddef; def draw_totals_box(expr xstart, ystart, clr) = begingroup pickup pencircle scaled thickline_t; draw (xstart,ystart)--(xstart,ystart+50u)--(xstart+100u,ystart+50u)--(xstart+100u,ystart)--cycle withcolor clr; pickup pencircle scaled thinline_t; draw 1/3[(xstart,ystart),(xstart+100u,ystart)]-- 2/3[(xstart,ystart+50u),(xstart+100u,ystart+50u)] withcolor clr; endgroup enddef; def draw_row_summary_box(expr xstart,ystart,clr) = begingroup pickup pencircle scaled thickline_t; draw (xstart,ystart)--(xstart,ystart+100u)--(xstart+100u,ystart+100u)--(xstart+100u,ystart)--cycle withcolor clr; pickup pencircle scaled thinline_t; draw (xstart,ystart+100u/3)--(xstart+100u,ystart+100u/3) withcolor clr; draw (xstart,ystart+100u/3*2)--(xstart+100u,ystart+100u/3*2) withcolor clr; draw (xstart+100u/3,ystart)--(xstart+100u/3,ystart+100u) withcolor clr; draw (xstart+100u/3*2,ystart)--(xstart+100u/3*2,ystart+100u) withcolor clr; endgroup enddef; def draw_game_summary_box(expr xstart,ystart,clr) = begingroup pickup pencircle scaled thickline_t; draw (xstart,ystart)--(xstart,ystart+50u)--(xstart+100u/3*2,ystart+50u)--(xstart+100u/3*2,ystart)--cycle withcolor clr; pickup pencircle scaled thinline_t; draw (xstart,ystart)--(xstart+100u/3*2,ystart+50u) withcolor clr; endgroup enddef; def draw_play_total_box(expr xstart,ystart,clr) = begingroup pickup pencircle scaled thickline_t; draw (xstart+100u/3*2,ystart)--(xstart+100u/3*2,ystart+50u)--(xstart+100u/3*2+200u,ystart+50u)--(xstart+100u/3*2+200u,ystart)--cycle withcolor clr; draw (xstart+100u/3*2,ystart+25u)--(xstart+100u/3*2+200u,ystart+25u) withcolor clr; endgroup enddef; def set_vars(expr xstart, ystart) = begingroup % locations pair ballone, balltwo, ballthree, strikeone, striketwo, foulone, foultwo, foulthree, foulfour; ballone := (xstart+50u+(15u/2),ystart+(15u/2)); balltwo := (xstart+50u+(15u/2)+15u,ystart+(15u/2)); ballthree := (xstart+50u+(15u/2)+30u,ystart+(15u/2)); strikeone := (xstart+50u+(15u/2),ystart+(15u/2)+15u); striketwo := (xstart+50u+(15u/2)+15u,ystart+(15u/2)+15u); foulone := (xstart+5u,ystart+9u); foultwo := (xstart+8u,ystart+5u); foulthree := (xstart+10u,ystart+11u); foulfour := (xstart+13u,ystart+7u); pair rbione, rbitwo, rbithree, rbifour, rundot, outlabel; rundot := (xstart+40u,ystart+49.5u); outlabel := (xstart+40u,ystart+49.5u); rbione := (xstart+5u,ystart+25u); rbitwo := (xstart+9u,ystart+20u); rbithree := (xstart+11u,ystart+28u); rbifour := (xstart+15u,ystart+23u); pair first, second, third, home; path single, double, triple, homerun; pbsize := 15u; dsize := 24u; dxstart := xstart+40u; dystart := ystart+pbsize*1.7; home := (dxstart,dystart); first := (dxstart+dsize,dystart+dsize); second := (dxstart,dystart+dsize*2); third := (dxstart-dsize,dystart+dsize); single := home--first--(first+(-7u,0)); double := home--first--second--(second+(0,-7u)); triple := home--first--second--third--(third+(7u,0)); homerun := home--first--second--third--cycle; path firstsecond, firstthird, firsthome, secondthird, secondhome, thirdhome; firstsecond := first--second--(second+(0,-7u)); firstthird := first--second--third--(third+(7u,0)); firsthome := first--second--third--home; secondthird := second--third--(third+(7u,0)); secondhome := second--third--home; thirdhome := third--home; path ifleft, ifright, ifcenter, ofleft, ofleftc, ofcenterl, ofcenterr, ofrightc, ofright; ifleft := home--(home+(-13u,18u)); ifright := home--(home+(13u,18u)); ifcenter := home--(home+(0,18u)); ofleft := home--(home+(-32u, 36u)); ofleftc := home--(home+(-20u, 60u)); ofright := home--(home+(32u, 36u)); ofrightc := home--(home+(20u, 60u)); ofcenterl := home--(home+(-5u, 65u)); ofcenterr := home--(home+(5u, 65u)); path hrleft, hrleftc, hrcenterl, hrcenterr, hrrightc, hrright; hrleft := home--(home+(-37u, 41u)); hrleftc := home--(home+(-27u, 67u)); hrright := home--(home+(37u, 41u)); hrrightc := home--(home+(27u, 67u)); hrcenterl := home--(home+(-5u, 75u)); hrcenterr := home--(home+(5u, 75u)); lxstart := xstart+90u; lystart := ystart+92u; lsize := (lystart-ystart+(fsize/2)-pbsize)/6; pair hr, threeb, twob, oneb, bb, hp; hr := (lxstart,lystart); lystart := lystart - lsize; threeb := (lxstart,lystart); lystart := lystart - lsize; twob := (lxstart,lystart); lystart := lystart - lsize; oneb := (lxstart,lystart); lystart := lystart - lsize; bb := (lxstart,lystart); lystart := lystart - lsize; hp := (lxstart,lystart); pair wayfirst, waysecond, waythird, wayhome; path cs_second, cs_third, to_home; wayfirst := 1/2[home,first]; waysecond := 1/2[first,second]; waythird := 1/2[second,third]; wayhome := 1/2[third,home]; cs_second := first--waysecond--(waysecond+(3u,3u))--(waysecond-(3u,3u)); cs_third := second--waythird--(waythird+(-3u,3u))--(waythird-(-3u,3u)); to_home := third--wayhome--(wayhome+(3u,3u))--(wayhome-(3u,3u)); path new_hitter, new_pitcher; new_hitter := (xstart-3u,ystart-3u)--(xstart+3u,ystart+3u)--(xstart,ystart)--(xstart+3u,ystart-3u)--(xstart-3u,ystart+3u)--(xstart,ystart)--(xstart,ystart+100u)--(xstart-3u,ystart+97u)--(xstart+3u,ystart+103u)--(xstart,ystart+100u)--(xstart+3u,ystart+97u)--(xstart-3u,ystart+103u); new_pitcher := (xstart-3u,ystart+97u)--(xstart+3u,ystart+103u)--(xstart,ystart+100u)--(xstart+3u,ystart+97u)--(xstart-3u,ystart+103u)--(xstart,ystart+100u)--(xstart+100u,ystart+100u)--(xstart+97u,ystart+97u)--(xstart+103u,ystart+103u)--(xstart+100u,ystart+100u)--(xstart+103u,ystart+97u)--(xstart+97u,ystart+103u); endgroup enddef; def draw_full_scorecard = begingroup % Draw the player boxes color clr; clr:=card; u := 1.0pt; size := 100u; fsize := 11u; xstart := 100; for ystart := -100 step 100 until 900: draw_player_box(xstart,ystart,clr); endfor for ystart := -300 step 100 until -200: draw_pitcher_box(xstart,ystart,clr); endfor % Draw all the at-bat boxes for ystart := -100 step 100 until 900: for xstart := 100 step 100 until 1100: draw_square(xstart, ystart); endfor endfor % Draw the totals boxes clr:=card; for ystart := -300 step 50 until -150: for xstart := 100 step 100 until 1100: draw_totals_box(xstart,ystart,clr); endfor endfor % Put key into column totals label(btex {\bigsf R} etex, 1/2[1/2[(100u,-100u),(100u-iposwidth,-150u)],(100u-iposwidth,-100u)]) withcolor clr; label(btex {\bigsf H} etex, 1/2[1/2[(100u,-100u),(100u-iposwidth,-150u)],(100u,-150u)]) withcolor clr; label(btex {\bigsf E} etex, 1/2[1/2[(100u,-150u),(100u-iposwidth,-200u)],(100u-iposwidth,-150u)]) withcolor clr; label(btex {\bigsf LB} etex, 1/2[1/2[(100u,-150u),(100u-iposwidth,-200u)],(100u,-200u)]) withcolor clr; label(btex {\bigsf K} etex, 1/2[1/2[(100u,-200u),(100u-iposwidth,-250u)],(100u-iposwidth,-200u)]) withcolor clr; label(btex {\bigsf BB} etex, 1/2[1/2[(100u,-200u),(100u-iposwidth,-250u)],(100u,-250u)]) withcolor clr; label(btex {\bigsf S} etex, 1/2[1/2[(100u,-250u),(100u-iposwidth,-300u)],(100u-iposwidth,-250u)]) withcolor clr; label(btex {\bigsf P} etex, 1/2[1/2[(100u,-250u),(100u-iposwidth,-300u)],(100u,-300u)]) withcolor clr; % Draw all the row totals boxes for ystart := -100 step 100 until 900: for xstart := 1200 step 100 until 1300: draw_row_summary_box(xstart,ystart,clr); endfor endfor % Draw the game and play total boxes for ystart := -300 step 50 until -150: xstart := 1200; draw_game_summary_box(xstart,ystart,clr); draw_play_total_box(xstart,ystart,clr); endfor % Put the key on the play total boxes nudge := 5u; label.urt(btex {\sf 1B} etex, (1200+100u/3*2,-150+25u+nudge)) withcolor clr; label.urt(btex {\sf 2B} etex, (1200+100u/3*2,-150+nudge)) withcolor clr; label.urt(btex {\sf DP} etex, (1200+100u/3*2+100u,-150+25u+nudge)) withcolor clr; label.urt(btex {\sf HBP} etex, (1200+100u/3*2+100u,-150+nudge)) withcolor clr; label.urt(btex {\sf 3B} etex, (1200+100u/3*2,-200+25u+nudge)) withcolor clr; label.urt(btex {\sf HR} etex, (1200+100u/3*2,-200+nudge)) withcolor clr; label.urt(btex {\sf PB} etex, (1200+100u/3*2+100u,-200+25u+nudge)) withcolor clr; label.urt(btex {\sf SB} etex, (1200+100u/3*2+100u,-200+nudge)) withcolor clr; label.urt(btex {\sf SF} etex, (1200+100u/3*2,-250+25u+nudge)) withcolor clr; label.urt(btex {\sf SAC} etex, (1200+100u/3*2,-250+nudge)) withcolor clr; label.urt(btex {\sf CS} etex, (1200+100u/3*2+100u,-250+25u+nudge)) withcolor clr; % Side information label(btex {\bigsf Team:} etex rotated 90, (1420,-50)) withcolor clr; label(btex {\bigsf Date:} etex rotated 90, (1420,600)) withcolor clr; label(btex {\bigsf At:} etex rotated 90, (1450,-50)) withcolor clr; label(btex {\bigsf Weather:} etex rotated 90, (1450,600)) withcolor clr; label(btex {\tiny Copyright \char'251 2005, Christopher Swingley, cswingle@iarc.uaf.edu} etex rotated 90, (1472,-210)) withcolor clr; % Title boxes xstart:=100; ystart:=1000; pickup pencircle scaled thickline_t; % Inning and Position box draw (xstart,ystart)--(xstart-iposwidth*2u,ystart)--(xstart-iposwidth*2u,ystart+100u/3)--(xstart,ystart+100u/3)--cycle withcolor clr; draw (xstart-iposwidth,ystart)--(xstart-iposwidth,ystart+100u/3) withcolor clr; label(btex {\bigsf Pos} etex, 1/2[(xstart-iposwidth*2u,ystart),(xstart-iposwidth,ystart+100u/3)]) withcolor clr; label(btex {\bigsf Inn} etex, 1/2[(xstart-iposwidth,ystart),(xstart,ystart+100u/3)]) withcolor clr; % Player name box draw (xstart-iposwidth*2,ystart)--(xstart-iposwidth*2-namewidth,ystart)--(xstart-iposwidth*2-namewidth,ystart+100u/3)-- (xstart-iposwidth*2,ystart+100u/3)--cycle withcolor clr; label(btex {\bigsf Player} etex, 1/2[(xstart-iposwidth*2-namewidth,ystart),(xstart-iposwidth*2,ystart+100u/3)]) withcolor clr; % Number box draw (xstart-iposwidth*2-namewidth,ystart)--(xstart-iposwidth*3-namewidth,ystart)--(xstart-iposwidth*3-namewidth,ystart+100u/3)-- (xstart-iposwidth*2-namewidth,ystart+100u/3)--cycle withcolor clr; label(btex {\bigsf \#} etex, 1/2[(xstart-iposwidth*2-namewidth,ystart),(xstart-iposwidth*3-namewidth,ystart+100u/3)]) withcolor clr; % Inning boxes ystart:=1000; for xstart := 100 step 100 until 1100: draw (xstart,ystart)--(xstart+100u,ystart)--(xstart+100u,ystart+100u/3)--(xstart,ystart+100u/3)--cycle withcolor clr; endfor label(btex {\bigsf 1} etex, 1/2[(100,ystart),(200,ystart+100u/3)]) withcolor clr; label(btex {\bigsf 2} etex, 1/2[(200,ystart),(300,ystart+100u/3)]) withcolor clr; label(btex {\bigsf 3} etex, 1/2[(300,ystart),(400,ystart+100u/3)]) withcolor clr; label(btex {\bigsf 4} etex, 1/2[(400,ystart),(500,ystart+100u/3)]) withcolor clr; label(btex {\bigsf 5} etex, 1/2[(500,ystart),(600,ystart+100u/3)]) withcolor clr; label(btex {\bigsf 6} etex, 1/2[(600,ystart),(700,ystart+100u/3)]) withcolor clr; label(btex {\bigsf 7} etex, 1/2[(700,ystart),(800,ystart+100u/3)]) withcolor clr; label(btex {\bigsf 8} etex, 1/2[(800,ystart),(900,ystart+100u/3)]) withcolor clr; label(btex {\bigsf 9} etex, 1/2[(900,ystart),(1000,ystart+100u/3)]) withcolor clr; label(btex {\bigsf 10} etex, 1/2[(1000,ystart),(1100,ystart+100u/3)]) withcolor clr; label(btex {\bigsf 11} etex, 1/2[(1100,ystart),(1200,ystart+100u/3)]) withcolor clr; % Player totals ystart:=1000; for xstart := 1200 step 100u/3 until 1300+100u/3*2: draw (xstart,ystart)--(xstart+100u/3,ystart)--(xstart+100u/3,ystart+100u/3)--(xstart,ystart+100u/3)--cycle withcolor clr; endfor label(btex {\bigsf AB} etex, 1/2[(1200,1000),(1200+100u/3,1000+100u/3)]) withcolor clr; label(btex {\bigsf R} etex, 1/2[(1200+100u/3,1000),(1200+100u/3*2,1000+100u/3)]) withcolor clr; label(btex {\bigsf H} etex, 1/2[(1200+100u/3*2,1000),(1300,1000+100u/3)]) withcolor clr; label(btex {\bigsf RBI} etex, 1/2[(1300,1000),(1300+100u/3,1000+100u/3)]) withcolor clr; label(btex {\bigsf SO} etex, 1/2[(1300+100u/3,1000),(1300+100u/3*2,1000+100u/3)]) withcolor clr; label(btex {\bigsf BB} etex, 1/2[(1300+100u/3*2,1000),(1400,1000+100u/3)]) withcolor clr; pickup pencircle scaled playline_t; endgroup enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Make a Scorecard %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginfig(0); draw_full_scorecard; endfig; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Cubs scoring when McGwire broke the Maris home run record %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginfig(1); draw_full_scorecard; clr:=scoring; % Identify this as the top of the inning label(btex {\bigsf TOP} etex, (1450, 1020)) withcolor clr; % Put names in the boxes label.urt(btex {\bigsf Johnson, Lance} etex, (xstart-iposwidth*2-namewidth,900+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Hernandez, Jose} etex, (xstart-iposwidth*2-namewidth,800+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Grace, Mark} etex, (xstart-iposwidth*2-namewidth,700+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Sosa, Sammy} etex, (xstart-iposwidth*2-namewidth,600+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Hill, Glenallen} etex, (xstart-iposwidth*2-namewidth,500+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Gaetti, Gary} etex, (xstart-iposwidth*2-namewidth,400+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Morandini, Micky} etex, (xstart-iposwidth*2-namewidth,300+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Servais, Scott} etex, (xstart-iposwidth*2-namewidth,200+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Trachsel, Steve} etex, (xstart-iposwidth*2-namewidth,100+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Kent Mercker} etex, (xstart-iposwidth*2-namewidth,-200+100u-100u/3)) withcolor clr; % Replacements label.urt(btex {\bigsf Mieske, Matt / Maxwell, Jason} etex, (xstart-iposwidth*2-namewidth,300+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf Merced, Orlando} etex, (xstart-iposwidth*2-namewidth,300+100u-100u/3*3)) withcolor clr; label.urt(btex {\bigsf Alexander, Manny} etex, (xstart-iposwidth*2-namewidth,100+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf Rick Croushore} etex, (xstart-iposwidth*2-namewidth,-200+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf Lance Painter} etex, (xstart-iposwidth*2-namewidth,-200+100u-100u/3*3)) withcolor clr; label.urt(btex {\bigsf John Frascatorie} etex, (xstart-iposwidth*2-namewidth,-300+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Juan Acevedo} etex, (xstart-iposwidth*2-namewidth,-300+100u-100u/3*2)) withcolor clr; % Put position and inning numbers in label.urt(btex {\bigsf 8} etex, (xstart-iposwidth*2,900+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,900+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 6} etex, (xstart-iposwidth*2,800+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,800+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 3} etex, (xstart-iposwidth*2,700+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,700+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 9} etex, (xstart-iposwidth*2,600+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,600+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 7} etex, (xstart-iposwidth*2,500+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,500+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 5} etex, (xstart-iposwidth*2,400+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,400+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 4} etex, (xstart-iposwidth*2,300+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,300+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 2} etex, (xstart-iposwidth*2,200+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,200+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth*2,100+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,100+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth*2,-200+100u-100u/3)) withcolor clr; % Replacements label.urt(btex {\sf ph~/} etex, (xstart-iposwidth*2,300+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 7~/} etex, (xstart-iposwidth,300+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 4} etex, (xstart-iposwidth*2+iposwidth/2,300+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 7} etex, (xstart-iposwidth+iposwidth/2,300+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf ph} etex, (xstart-iposwidth*2,300+100u-100u/3*3)) withcolor clr; label.urt(btex {\bigsf 9} etex, (xstart-iposwidth,300+100u-100u/3*3)) withcolor clr; label.urt(btex {\bigsf ph} etex, (xstart-iposwidth*2,100+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 8} etex, (xstart-iposwidth,100+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 7} etex, (xstart-iposwidth*2,-200+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 7 2/3} etex, (xstart-iposwidth*2,-200+100u-100u/3*3)) withcolor clr; label.urt(btex {\bigsf 8 1/3} etex, (xstart-iposwidth*2,-300+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 9} etex, (xstart-iposwidth*2,-300+100u-100u/3*2)) withcolor clr; % Side information label.lft(btex {\bigsf Chicago Cubs} etex rotated 90, (1435,100)) withcolor clr; label.lft(btex {\bigsf 8 September 1998} etex rotated 90, (1435,700)) withcolor clr; label.lft(btex {\bigsf Busch Stadium, St. Louis} etex rotated 90, (1465,100)) withcolor clr; label.lft(btex {\bigsf } etex rotated 90, (1450,650)) withcolor clr; %%% First inning ystart := 900; set_vars(xstart,ystart); draw_square(xstart,ystart); clr := (0,0,0); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\bigsf F8} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Cubs, Inning 1, Hernandez clr := (0,0,0); ystart := 800; set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, balltwo) withcolor clr; label(btex {\sf 3} etex, ballthree) withcolor clr; draw_circle(bb, clr); draw(single) withcolor clr; % Cubs, Inning 1, Grace clr := (0,0,0); ystart := 700; set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, strikeone) withcolor clr; label(btex {\sf 3} etex, balltwo) withcolor clr; label(btex {\sf 4} etex, striketwo) withcolor clr; label(btex {\sf 5} etex, ballthree) withcolor clr; draw(ofcenterl) withcolor clr; draw(single) withcolor clr; draw_circle(oneb, clr); draw_dot(rbione, clr); ystart := 800; % other runner set_vars(xstart,ystart); label.urt(btex {\sf WP} etex, waysecond) withcolor clr; draw(firstsecond) withcolor clr; draw(secondhome) withcolor clr; draw_dot(rundot, clr); % Cubs, Inning 1, Sosa clr := (0,0,0); ystart := 600; set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, strikeone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\sf 4} etex, balltwo) withcolor clr; draw(ofleftc) withcolor clr; draw(single) withcolor clr; draw_circle(oneb, clr); ystart := 700; % other runner set_vars(xstart,ystart); draw(firstsecond) withcolor clr; % Cubs, Inning 1, Hill clr := (0,0,0); ystart := 500; set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, balltwo) withcolor clr; draw_out_two(xstart,ystart,clr); draw(single) withcolor clr; label.lrt(btex {\sf FC} etex, wayfirst) withcolor clr; ystart := 700; % Grace set_vars(xstart,ystart); draw(secondthird) withcolor clr; ystart := 600; % Sosa set_vars(xstart,ystart); draw(cs_second) withcolor clr; label.urt(btex {\sf FC6-4} etex, waysecond) withcolor clr; % Cubs, Inning 1, Gaetti clr := (0,0,0); ystart := 400; set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; draw(ofrightc) withcolor clr; draw(single) withcolor clr; draw_circle(oneb, clr); draw_dot(rbione, clr); ystart := 700; % Grace set_vars(xstart,ystart); draw(thirdhome) withcolor clr; draw_dot(rundot, clr); ystart := 500; % Hill set_vars(xstart,ystart); draw(firstthird) withcolor clr; % Cubs, Inning 1, Morandini clr := (0,0,0); ystart := 300; set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\bigsf F7} etex, outlabel) withcolor clr; draw_out_three(xstart, ystart, clr); draw_inning_end(xstart,ystart,clr); % Inning 1 totals (2R, 3H, 0E, 2LB, 0K, 1BB, 14S, 27P) label(btex {\bigsf 2} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 3} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 2} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 0} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB label(btex {\bigsf 14} etex, 1/2[(xstart,-300),(xstart+50u,-250)]) withcolor clr; % S label(btex {\bigsf 27} etex, 1/2[(xstart+50u,-300),(xstart+100u,-250)]) withcolor clr; % P % Inning 2, Servais xstart := 200; ystart := 200; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\bigsf F8} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Cubs, Inning 2, Trachsel ystart := 100; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, strikeone) withcolor clr; label(btex {\sf 3} etex, balltwo) withcolor clr; label(btex {\sf 4} etex, striketwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\bigsf F8} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); % Cubs, Inning 2, Johnson ystart := 900; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\bigsf F7} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 2 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 0} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cubs, Inning 3, Hernandez xstart := 300; ystart := 800; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\bigsf F3} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Cubs, Inning 3, Grace ystart := 700; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, strikeone) withcolor clr; draw(ofleftc) withcolor clr; draw_circle(oneb, clr); draw(single) withcolor clr; % Cubs, Inning 3, Sosa ystart := 600; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\bigsf DP 4-3} etex, outlabel) withcolor clr; draw_out_two(xstart-10u,ystart+10u,clr); draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); ystart := 700; % Grace set_vars(xstart,ystart); draw(cs_second) withcolor clr; label.urt(btex {\sf DP 5-4} etex, waysecond) withcolor clr; % Inning 3 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 0} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cubs, Inning 4, Hill xstart := 400; ystart := 500; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\bigsf F9} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Cubs, Gaetti ystart := 400; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, balltwo) withcolor clr; label(btex {\sf 3} etex, ballthree) withcolor clr; label(btex {\sf 4} etex, strikeone) withcolor clr; label(btex {\sf 5} etex, striketwo) withcolor clr; draw(single) withcolor clr; draw_circle(oneb, clr); draw(ofleftc) withcolor clr; %% Morandini ystart := 300; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, balltwo) withcolor clr; label(btex {\sf 3} etex, strikeone) withcolor clr; label(btex {\sf 4} etex, ballthree) withcolor clr; draw(single) withcolor clr; draw_circle(bb, clr); ystart := 400; % Gaetti set_vars(xstart,ystart); draw(firstsecond) withcolor clr; label.urt(btex {\sf BK} etex, waysecond) withcolor clr; %% Servais ystart := 200; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw(single) withcolor clr; draw_circle(oneb, clr); draw(ofleftc) withcolor clr; ystart := 400; % Gaetti set_vars(xstart,ystart); draw(secondthird) withcolor clr; ystart := 300; % Morandini set_vars(xstart,ystart); draw(firstsecond) withcolor clr; %% Trachsel ystart := 100; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, striketwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\sf x} etex, foultwo) withcolor clr; label(btex {\sf x} etex, foulthree) withcolor clr; label(btex {\sf x} etex, foulfour) withcolor clr; label(btex {\sf 6} etex, ballone) withcolor clr; label(btex {\bigsf K} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); %% Johnson ystart := 900; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, balltwo) withcolor clr; label(btex {\sf 3} etex, strikeone) withcolor clr; label(btex {\bigsf F9} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 4 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 2} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 3} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 1} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cubs, Inning 5, Hernandez xstart := 500; ystart := 800; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); draw_out_one(xstart,ystart,clr); % Grace ystart := 700; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\bigsf 6-3} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); %% Sosa ystart := 600; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, balltwo) withcolor clr; label(btex {\sf 4} etex, striketwo) withcolor clr; label(btex {\sf 5} etex, ballthree) withcolor clr; draw(single) withcolor clr; draw_circle(bb, clr); %% Hill ystart := 500; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, striketwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\bigsf F6} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 5 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 0} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cubs, Inning 6, Gaetti xstart := 600; ystart := 400; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, balltwo) withcolor clr; label(btex {\sf 3} etex, strikeone) withcolor clr; label(btex {\sf 4} etex, striketwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\bigsf K} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Morandini ystart := 300; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, striketwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\bigsf 4-3} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); %% Servais ystart := 200; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; draw(single) withcolor clr; draw(ofcenterl) withcolor clr; draw_circle(oneb, clr); %% Trachsel ystart := 100; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw(single) withcolor clr; draw(ofleftc) withcolor clr; draw_circle(oneb, clr); ystart := 200; % Servais set_vars(xstart,ystart); draw(firstsecond) withcolor clr; %% Johnson ystart := 900; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\bigsf 4-3} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 6 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 2} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 2} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 1} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cubs, Inning 7, Hernandez xstart := 700; ystart := 800; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); draw(new_pitcher) withcolor clr; label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, strikeone) withcolor clr; label(btex {\bigsf F9} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Grace ystart := 700; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, strikeone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\sf 4} etex, balltwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\sf 5} etex, ballthree) withcolor clr; draw(single) withcolor clr; draw_circle(bb, clr); %% Sosa ystart := 600; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\bigsf F7} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); %% Hill ystart := 500; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw(single) withcolor clr; draw_circle(oneb, clr); draw(ofcenterl) withcolor clr; ystart := 700; % Grace set_vars(xstart,ystart); draw(firstsecond) withcolor clr; %% Gaetti ystart := 400; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, balltwo) withcolor clr; label(btex {\sf 4} etex, ballthree) withcolor clr; label(btex {\sf 5} etex, striketwo) withcolor clr; draw(single) withcolor clr; draw_circle(bb, clr); ystart := 700; % Grace set_vars(xstart,ystart); draw(secondthird) withcolor clr; ystart := 500; % Hill set_vars(xstart,ystart); draw(firstsecond) withcolor clr; %% Mieske ystart := 300; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw(new_pitcher) withcolor clr; draw(new_hitter) withcolor clr; label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, strikeone) withcolor clr; label(btex {\sf 3} etex, balltwo) withcolor clr; label(btex {\bigsf F8} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 7 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 2} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 0} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 2} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cubs, Inning 8, Servais xstart := 800; ystart := 200; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); draw(single) withcolor clr; draw(ofrightc) withcolor clr; draw_circle(oneb, clr); % Alexander ystart := 100; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw(new_hitter) withcolor clr; label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; draw(single) withcolor clr; draw(ofrightc) withcolor clr; draw_circle(oneb, clr); ystart := 200; % Servais set_vars(xstart,ystart); draw(firstsecond) withcolor clr; %% Johnson ystart := 900; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, strikeone) withcolor clr; label(btex {\sf 3} etex, balltwo) withcolor clr; label(btex {\sf 4} etex, striketwo) withcolor clr; label(btex {\sf 5} etex, ballthree) withcolor clr; label(btex {\bigsf 3-1} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); ystart := 200; % Servais set_vars(xstart,ystart); draw(secondthird) withcolor clr; ystart := 100; % Alexander set_vars(xstart,ystart); draw(firstsecond) withcolor clr; %% Hernandez ystart := 800; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw(new_pitcher) withcolor clr; label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\bigsf 6-3} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); draw_dot(rbione, clr); ystart := 200; % Servais set_vars(xstart,ystart); draw(thirdhome) withcolor clr; draw_dot(rundot, clr); ystart := 100; % Alexander set_vars(xstart,ystart); draw(secondthird) withcolor clr; %% Grace ystart := 700; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\bigsf F7} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 8 totals label(btex {\bigsf 1} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 2} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 0} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cubs, Inning 9, Sosa xstart := 900; ystart := 600; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); draw(new_pitcher) withcolor clr; label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\sf 5} etex, balltwo) withcolor clr; label(btex {\bigsf K} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Hill ystart := 500; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw(double) withcolor clr; draw(ofleftc) withcolor clr; draw_circle(twob, clr); %% Gaetti ystart := 400; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\bigsf F7} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); %% Merced ystart := 300; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw(new_hitter) withcolor clr; label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\sf 5} etex, balltwo) withcolor clr; label(btex {\sf 6} etex, ballthree) withcolor clr; label(btex {\bigsf 5-3} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 9 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 1} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Game totals nudge := 10u; label(btex {\bigsf 3} etex, 1/2[(1200,-150+nudge),(1200+100u/3,-100)]) withcolor clr; % R label(btex {\bigsf 12} etex, 1/2[(1200+100u/3,-150),(1200+100u/3*2,-100-nudge)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(1200,-200+nudge),(1200+100u/3,-150)]) withcolor clr; % E label(btex {\bigsf 13} etex, 1/2[(1200+100u/3,-200),(1200+100u/3*2,-150-nudge)]) withcolor clr; % LB label(btex {\bigsf 3} etex, 1/2[(1200,-250+nudge),(1200+100u/3,-200)]) withcolor clr; % K label(btex {\bigsf 5} etex, 1/2[(1200+100u/3,-250),(1200+100u/3*2,-200-nudge)]) withcolor clr; % BB endfig; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Cardinals scoring when McGwire broke the Maris home run record %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginfig(2); draw_full_scorecard; clr:=scoring; % Identify this as the top of the inning label(btex {\bigsf BOTTOM} etex, (1435, 1020)) withcolor clr; % Put names in the boxes label.urt(btex {\bigsf Deshields, Delino} etex, (xstart-iposwidth*2-namewidth,900+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Tatis, Fernando} etex, (xstart-iposwidth*2-namewidth,800+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf McGwire, Mark} etex, (xstart-iposwidth*2-namewidth,700+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Lankford, Ray} etex, (xstart-iposwidth*2-namewidth,600+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Gant, Ron} etex, (xstart-iposwidth*2-namewidth,500+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Mabry, John} etex, (xstart-iposwidth*2-namewidth,400+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Ordaz, Luis} etex, (xstart-iposwidth*2-namewidth,300+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Mercker, Kent} etex, (xstart-iposwidth*2-namewidth,200+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Marrero, Eli} etex, (xstart-iposwidth*2-namewidth,100+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf Steve Trachsel} etex, (xstart-iposwidth*2-namewidth,-200+100u-100u/3)) withcolor clr; % Replacements label.urt(btex {\bigsf Drew, JD} etex, (xstart-iposwidth*2-namewidth,200+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf Lampkin, Tom} etex, (xstart-iposwidth*2-namewidth,100+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf Terry Mulholland} etex, (xstart-iposwidth*2-namewidth,-200+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf Don Wengert} etex, (xstart-iposwidth*2-namewidth,-200+100u-100u/3*3)) withcolor clr; label.urt(btex {\bigsf Felix Hereda} etex, (xstart-iposwidth*2-namewidth,-300+100u-100u/3)) withcolor clr; % Put position and inning numbers in label.urt(btex {\bigsf 4} etex, (xstart-iposwidth*2,900+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,900+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 5} etex, (xstart-iposwidth*2,800+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,800+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 3} etex, (xstart-iposwidth*2,700+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,700+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 8} etex, (xstart-iposwidth*2,600+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,600+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 7} etex, (xstart-iposwidth*2,500+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,500+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 9} etex, (xstart-iposwidth*2,400+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,400+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 6} etex, (xstart-iposwidth*2,300+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,300+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth*2,200+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,200+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 2} etex, (xstart-iposwidth*2,100+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth,100+100u-100u/3)) withcolor clr; label.urt(btex {\bigsf 1} etex, (xstart-iposwidth*2,-200+100u-100u/3)) withcolor clr; % Replacements label.urt(btex {\sf ph~/} etex, (xstart-iposwidth*2,200+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 6~/} etex, (xstart-iposwidth,200+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 7} etex, (xstart-iposwidth*2+iposwidth/2,200+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 7} etex, (xstart-iposwidth+iposwidth/2,200+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 2} etex, (xstart-iposwidth*2,100+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 9} etex, (xstart-iposwidth,100+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 6 2/3} etex, (xstart-iposwidth*2,-200+100u-100u/3*2)) withcolor clr; label.urt(btex {\bigsf 8} etex, (xstart-iposwidth*2,-200+100u-100u/3*3)) withcolor clr; label.urt(btex {\bigsf 8 2/3} etex, (xstart-iposwidth*2,-300+100u-100u/3)) withcolor clr; % Side information label.lft(btex {\bigsf St. Louis Cardinals} etex rotated 90, (1435,100)) withcolor clr; label.lft(btex {\bigsf 8 September 1998} etex rotated 90, (1435,700)) withcolor clr; label.lft(btex {\bigsf Busch Stadium, St. Louis} etex rotated 90, (1465,100)) withcolor clr; label.lft(btex {\bigsf } etex rotated 90, (1450,650)) withcolor clr; % Cards, Inning 1, Deshields xstart := 100; ystart := 900; set_vars(xstart,ystart); draw_square(xstart,ystart); clr := (0,0,0); draw(ifcenter) withcolor clr; draw(single) withcolor clr; draw_circle(oneb, clr); % Cards, Inning 1, Tatis ystart := 800; clr := (0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; draw_strikeout_looking(outlabel, clr); draw_out_two(xstart,ystart,clr); % Deshields ystart := 900; set_vars(xstart,ystart); draw(cs_second) withcolor clr; label.urt(btex {\sf PO 1-3} etex, waysecond) withcolor clr; draw_out_one(xstart,ystart,clr); % Cards, Inning 1, Tatis ystart := 700; clr := (0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, balltwo) withcolor clr; label(btex {\sf 3} etex, ballthree) withcolor clr; label(btex {\bigsf 6-3} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 1 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 1} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB label(btex {\bigsf 5} etex, 1/2[(xstart,-300),(xstart+50u,-250)]) withcolor clr; % S label(btex {\bigsf 9} etex, 1/2[(xstart+50u,-300),(xstart+100u,-250)]) withcolor clr; % P % Cardinals, Inning 2, Lankford xstart := 200; ystart := 600; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, strikeone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\sf 4} etex, balltwo) withcolor clr; label(btex {\bigsf K} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Cardinals, Inning 2, Gant ystart := 500; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, striketwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\sf 4} etex, ballone) withcolor clr; label(btex {\sf x} etex, foultwo) withcolor clr; label(btex {\bigsf F9} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); % Cardinals, Inning 2, Mabry ystart := 400; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, balltwo) withcolor clr; label(btex {\sf 3} etex, strikeone) withcolor clr; label(btex {\sf 4} etex, striketwo) withcolor clr; label(btex {\bigsf F8} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 2 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 1} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cardinals, Inning 3, Ordaz xstart := 300; ystart := 300; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, balltwo) withcolor clr; label(btex {\sf 3} etex, strikeone) withcolor clr; label(btex {\sf 4} etex, ballthree) withcolor clr; label(btex {\sf 5} etex, striketwo) withcolor clr; label(btex {\bigsf F4} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Cardinals, Mercker ystart := 200; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, striketwo) withcolor clr; label(btex {\sf 3} etex, ballone) withcolor clr; label(btex {\sf 4} etex, balltwo) withcolor clr; draw_strikeout_looking(outlabel, clr); draw_out_two(xstart,ystart,clr); %% Cardinals, Marrero ystart := 100; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\bigsf F7} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 3 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 1} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cardinals, Inning 4, Deshields xstart := 400; ystart := 900; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, striketwo) withcolor clr; label(btex {\sf 3} etex, ballone) withcolor clr; label(btex {\bigsf 5-3} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Cardinals, Tatis ystart := 800; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\bigsf K} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); %% McGwire ystart := 700; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw(homerun) withcolor clr; draw home--(home+(-29u,65u)) withcolor clr; draw_circle(hr, clr); draw_dot(rbione, clr); draw_dot(rundot, clr); label.top(btex {\bigsf 62!!!} etex, second) withcolor clr; label.lrt(btex {\sf 341ft} etex, wayfirst) withcolor clr; %% Lankford ystart := 600; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\bigsf K} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 4 totals label(btex {\bigsf 1} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 2} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cardinals, Inning 5, Gant xstart := 500; ystart := 500; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\bigsf F9} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Mabry ystart := 400; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, balltwo) withcolor clr; label(btex {\bigsf 4-3} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); %% Ordaz ystart := 300; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, balltwo) withcolor clr; label(btex {\bigsf F8} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 5 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 0} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cardinals, Inning 6, Drew xstart := 600; ystart := 200; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); draw(new_hitter) withcolor clr; label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\sf 4} etex, balltwo) withcolor clr; label(btex {\sf 5} etex, ballthree) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; draw_strikeout_looking(outlabel, clr); draw_out_one(xstart,ystart,clr); label.top(btex {\sf ML debut!} etex, second) withcolor clr; % Marrero ystart := 100; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, strikeone) withcolor clr; label(btex {\sf 3} etex, balltwo) withcolor clr; label(btex {\sf 4} etex, ballthree) withcolor clr; label(btex {\sf 5} etex, striketwo) withcolor clr; draw(single) withcolor clr; draw_circle(bb, clr); %% Deshields ystart := 900; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, striketwo) withcolor clr; label(btex {\sf 3} etex, ballone) withcolor clr; draw(single) withcolor clr; draw(ofleftc) withcolor clr; draw_circle(oneb, clr); draw_dot(rbione, clr); ystart := 100; % Marrero set_vars(xstart,ystart); label.urt(btex {\sf BK} etex, waysecond) withcolor clr; draw(firstsecond) withcolor clr; draw(secondhome) withcolor clr; draw_dot(rundot, clr); %% Tatis ystart := 800; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\bigsf F7} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); ystart := 900; % DeShields set_vars(xstart,ystart); draw(firstsecond) withcolor clr; label.urt(btex {\sf E7} etex, waysecond) withcolor clr; %% McGwire ystart := 700; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, balltwo) withcolor clr; label(btex {\sf 3} etex, ballthree) withcolor clr; draw_ibb(bb, clr); draw(single) withcolor clr; %% Lankford ystart := 600; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\sf 4} etex, balltwo) withcolor clr; label(btex {\sf 5} etex, ballthree) withcolor clr; draw(homerun) withcolor clr; draw_circle(hr, clr); draw_dot(rundot, clr); draw_dot(rbione, clr); draw_dot(rbitwo, clr); draw_dot(rbithree, clr); draw(hrrightc) withcolor clr; ystart := 900; % DeShields set_vars(xstart,ystart); draw(secondhome) withcolor clr; draw_dot(rundot,clr); ystart := 700; % McGwire set_vars(xstart,ystart); draw(firsthome) withcolor clr; draw_dot(rundot,clr); %% Gant ystart := 500; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, ballone) withcolor clr; label(btex {\sf 2} etex, strikeone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\sf x} etex, foultwo) withcolor clr; label(btex {\sf 6} etex, balltwo) withcolor clr; draw(homerun) withcolor clr; draw_circle(hr, clr); draw_dot(rundot, clr); draw_dot(rbione, clr); draw(hrcenterr) withcolor clr; %% Mabry ystart := 400; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw(new_pitcher) withcolor clr; label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\bigsf F7} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 6 totals label(btex {\bigsf 4} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 3} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 1} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 1} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 2} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cardinals, Inning 7, Ordaz xstart := 700; ystart := 300; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\sf 4} etex, balltwo) withcolor clr; label(btex {\sf x} etex, foulone) withcolor clr; label(btex {\bigsf 4-3} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Drew ystart := 200; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\bigsf F8} etex, outlabel) withcolor clr; draw_out_two(xstart,ystart,clr); %% Marrero ystart := 100; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, striketwo) withcolor clr; draw_strikeout_looking(outlabel, clr); draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 7 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 1} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Cardinals, Inning 8, Deshields xstart := 800; ystart := 900; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw_inning_start(xstart,ystart,clr); draw(new_pitcher) withcolor clr; label(btex {\bigsf 3U} etex, outlabel) withcolor clr; draw_out_one(xstart,ystart,clr); % Tatis ystart := 800; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, striketwo) withcolor clr; label(btex {\sf 3} etex, ballone) withcolor clr; label(btex {\sf 4} etex, balltwo) withcolor clr; draw_strikeout_looking(outlabel, clr); draw_out_two(xstart,ystart,clr); %% McGwire ystart := 700; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, balltwo) withcolor clr; label(btex {\sf 4} etex, striketwo) withcolor clr; label(btex {\sf 5} etex, ballthree) withcolor clr; draw(single) withcolor clr; draw_circle(bb, clr); %% Lankford ystart := 600; clr := (0.0,0,0); set_vars(xstart,ystart); draw_square(xstart,ystart); draw(new_pitcher) withcolor clr; label(btex {\sf 1} etex, strikeone) withcolor clr; label(btex {\sf 2} etex, ballone) withcolor clr; label(btex {\sf 3} etex, striketwo) withcolor clr; label(btex {\sf 4} etex, balltwo) withcolor clr; label(btex {\bigsf F8} etex, outlabel) withcolor clr; draw_out_three(xstart,ystart,clr); draw_inning_end(xstart,ystart,clr); % Inning 8 totals label(btex {\bigsf 0} etex, 1/2[(xstart,-150),(xstart+50u,-100)]) withcolor clr; % R label(btex {\bigsf 0} etex, 1/2[(xstart+50u,-150),(xstart+100u,-100)]) withcolor clr; % H label(btex {\bigsf 0} etex, 1/2[(xstart,-200),(xstart+50u,-150)]) withcolor clr; % E label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-200),(xstart+100u,-150)]) withcolor clr; % LB label(btex {\bigsf 1} etex, 1/2[(xstart,-250),(xstart+50u,-200)]) withcolor clr; % K label(btex {\bigsf 1} etex, 1/2[(xstart+50u,-250),(xstart+100u,-200)]) withcolor clr; % BB % Game totals nudge := 10u; label(btex {\bigsf 6} etex, 1/2[(1200,-150+nudge),(1200+100u/3,-100)]) withcolor clr; % R label(btex {\bigsf 5} etex, 1/2[(1200+100u/3,-150),(1200+100u/3*2,-100-nudge)]) withcolor clr; % H label(btex {\bigsf 1} etex, 1/2[(1200,-200+nudge),(1200+100u/3,-150)]) withcolor clr; % E label(btex {\bigsf 1} etex, 1/2[(1200+100u/3,-200),(1200+100u/3*2,-150-nudge)]) withcolor clr; % LB label(btex {\bigsf 8} etex, 1/2[(1200,-250+nudge),(1200+100u/3,-200)]) withcolor clr; % K label(btex {\bigsf 3} etex, 1/2[(1200+100u/3,-250),(1200+100u/3*2,-200-nudge)]) withcolor clr; % BB endfig; end