<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>// do something here &#187; C#</title>
	<atom:link href="http://www.dosomethinghere.com/category/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dosomethinghere.com</link>
	<description>Turning impossibilities into 1s and 0s professionally since 0&#120;07C1</description>
	<lastBuildDate>Fri, 20 Jan 2012 20:07:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Compound comparison in a LINQ join statement</title>
		<link>http://www.dosomethinghere.com/2011/01/17/compound-comparison-in-a-linq-join-statement/</link>
		<comments>http://www.dosomethinghere.com/2011/01/17/compound-comparison-in-a-linq-join-statement/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 00:09:08 +0000</pubDate>
		<dc:creator>BP</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[C#.NET]]></category>

		<guid isPermaLink="false">http://www.dosomethinghere.com/?p=644</guid>
		<description><![CDATA[I&#8217;ve been doing pretty much iPhone only postings recently, so this might change it up a bit. So I am trying to go into our web application&#8217;s C# code to make some changes to the administration area of the web site.  (This is usually the only place I feel comfortable making changes, as this is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing pretty much iPhone only postings recently, so this might change it up a bit.</p>
<p>So I am trying to go into our web application&#8217;s C# code to make some changes to the administration area of the web site.  (This is usually the only place I feel comfortable making changes, as this is not an area that customers actually use.)  We have a page that uses a store procedure to pull data from our SQL Server database and presents it on the page.</p>
<p>I needed to get more information out of the database than the store procedure was giving me, and I didn&#8217;t feel like modifying the procedure and then trying to rebuild the DBML, so I decided to convert it to a LINQ statement and bind to that instead of binding to the results of the stored procedure.</p>
<p>These things never go as planned.  I took a similar LINQ statement that I found in the application, but it did not do exactly what I wanted to do.  Basically, the LINQ statement I found used a simple comparison.  I needed to check for two different things in my comparison, so after a bit of research and trial and error, here is what I came up with:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">var p <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">from</span> ord <span style="color: #0600FF; font-weight: bold;">in</span> dc<span style="color: #008000;">.</span><span style="color: #0000FF;">orders</span>
    join ordSt <span style="color: #0600FF; font-weight: bold;">in</span> dc<span style="color: #008000;">.</span><span style="color: #0000FF;">orderStatus</span> on 
        <span style="color: #008000;">new</span> <span style="color: #008000;">&#123;</span> ord<span style="color: #008000;">.</span><span style="color: #0000FF;">orderID</span>, b <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span> <span style="color: #008000;">&#125;</span> equals <span style="color: #008000;">new</span> <span style="color: #008000;">&#123;</span> ordSt<span style="color: #008000;">.</span><span style="color: #0000FF;">orderID</span>, b <span style="color: #008000;">=</span> ordSt<span style="color: #008000;">.</span><span style="color: #0000FF;">isDeleted</span> <span style="color: #008000;">&#125;</span>
    <span style="color: #0600FF; font-weight: bold;">where</span> ord<span style="color: #008000;">.</span><span style="color: #0000FF;">customerID</span> <span style="color: #008000;">==</span> custID
    <span style="color: #0600FF; font-weight: bold;">select</span>
        <span style="color: #008000;">new</span> <span style="color: #008000;">&#123;</span> ord<span style="color: #008000;">.</span><span style="color: #0000FF;">orderID</span>, ordSt<span style="color: #008000;">.</span><span style="color: #0000FF;">deletionDate</span> <span style="color: #008000;">&#125;</span> <span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p>I had to add the little &#8220;b = true&#8221; and &#8220;b = ordSt.isDeleted&#8221; parts because it would not let me use just the &#8220;true&#8221; in the comparison.  Ah, isn&#8217;t it great that LINQ is so simple?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dosomethinghere.com/2011/01/17/compound-comparison-in-a-linq-join-statement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t try, don&#8217;t catch</title>
		<link>http://www.dosomethinghere.com/2010/11/03/dont-try-dont-catch/</link>
		<comments>http://www.dosomethinghere.com/2010/11/03/dont-try-dont-catch/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 14:52:38 +0000</pubDate>
		<dc:creator>BP</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[C#.NET]]></category>
		<category><![CDATA[VB.NET]]></category>
		<category><![CDATA[VS 2008]]></category>

		<guid isPermaLink="false">http://www.dosomethinghere.com/?p=614</guid>
		<description><![CDATA[Have you ever had a situation where all of those nested try/catch blocks just get in your way when trying to chase down a problem? I just hate that. Luckily, in Visual Studio 2008 (and other versions, I am sure), there is a handy dandy way to disable all of the try/catch blocks when you [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever had a situation where all of those nested try/catch blocks just get in your way when trying to chase down a problem?  I just hate that.</p>
<p>Luckily, in Visual Studio 2008 (and other versions, I am sure), there is a handy dandy way to disable all of the try/catch blocks when you run the application in debug mode from the IDE.  Just go to the Debug menu, select Exceptions, click the box under the Thrown column for Common Language Runtime Exceptions (or others if that is what you are looking for), and click OK.  Now when the code has a problem, you see it right away instead of trying to work backwards through nested try/catch blocks in different classes and modules.</p>
<p>Just don&#8217;t forget to put it back to the way it was when you are done. I am not a huge fan of try/catch blocks, but their normal use definitely has its place.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dosomethinghere.com/2010/11/03/dont-try-dont-catch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2010 Central Ohio Day of .NET</title>
		<link>http://www.dosomethinghere.com/2010/06/05/2010-central-ohio-day-of-net/</link>
		<comments>http://www.dosomethinghere.com/2010/06/05/2010-central-ohio-day-of-net/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 23:48:56 +0000</pubDate>
		<dc:creator>BP</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[C#.NET]]></category>
		<category><![CDATA[CONDG]]></category>
		<category><![CDATA[VB.NET]]></category>

		<guid isPermaLink="false">http://www.dosomethinghere.com/?p=535</guid>
		<description><![CDATA[A co-w0rker and I attended the Central Ohio Day of .NET on June 5, 2010. There was quite a bit of good content at the conference, which is a real tribute to the organizers, volunteers, and presenters. The highlights of my day were sitting in on Matt Casto&#8217;s regular expressions talk, Phil Japikse&#8217;s M-V-VM primer, [...]]]></description>
			<content:encoded><![CDATA[<p>A co-w0rker and I attended the Central Ohio Day of .NET on June 5, 2010. There was quite a bit of good content at the conference, which is a real tribute to the organizers, volunteers, and presenters.</p>
<p>The highlights of my day were sitting in on Matt Casto&#8217;s regular expressions talk, Phil Japikse&#8217;s M-V-VM primer, discussing the etymology of the MongoDB project with Sam Corder (I still say it was named such after the character in Blazing Saddles), Michael Eaton&#8217;s talk on WPF, and Parag Joshi&#8217;s demonstration of XNA/Windows Phone 7 game development.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dosomethinghere.com/2010/06/05/2010-central-ohio-day-of-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Demo days (CONDG meeting, December 14, 2009)</title>
		<link>http://www.dosomethinghere.com/2009/12/15/demo-days-condg-meeting-december-14-2009/</link>
		<comments>http://www.dosomethinghere.com/2009/12/15/demo-days-condg-meeting-december-14-2009/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 14:52:58 +0000</pubDate>
		<dc:creator>BP</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[C#.NET]]></category>
		<category><![CDATA[CONDG]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[VB.NET]]></category>

		<guid isPermaLink="false">http://www.dosomethinghere.com/?p=426</guid>
		<description><![CDATA[2009-12-15 09.13.18]]></description>
			<content:encoded><![CDATA[<p>The Central Ohio .NET Developers Group held their final meeting of the year last night at the Microsoft office in Polaris. Four people gave short demos of Xbox, Zune HD, Windows Mobile, and iPhone, and talked about developing for each platform.</p>
<p>The highlight of the evening was my name being drawn as winning the year&#8217;s final and perhaps most craptastic door prize, which I then gave to my coworker who was attending the meeting with me. He is into free t-shirts.</p>
<p><img class="alignnone size-full wp-image-429" title="2009-12-15 09.13.18" src="http://www.dosomethinghere.com/wp-content/uploads/2009/12/2009-12-15-09.13.18.jpg" alt="2009-12-15 09.13.18" width="480" height="643" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dosomethinghere.com/2009/12/15/demo-days-condg-meeting-december-14-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Battleship AI contest on Stack Overflow</title>
		<link>http://www.dosomethinghere.com/2009/11/26/battleship-ai-contest-on-stack-overflow/</link>
		<comments>http://www.dosomethinghere.com/2009/11/26/battleship-ai-contest-on-stack-overflow/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 16:39:27 +0000</pubDate>
		<dc:creator>BP</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Stack Overflow]]></category>
		<category><![CDATA[C#.NET]]></category>

		<guid isPermaLink="false">http://www.dosomethinghere.com/?p=400</guid>
		<description><![CDATA[Recently there was a contest running on Stack Overflow to design the best Battleship AI. Here is a link to the page: What is the best Battleship AI? I must admit that I am still smarting over this contest, as my BP7 contest entry did awesomely well and incredibly poor at the same time. Here [...]]]></description>
			<content:encoded><![CDATA[<p>Recently there was a contest running on Stack Overflow to design the best Battleship AI. Here is a link to the page:</p>
<p><a href="http://stackoverflow.com/questions/1631414/what-is-the-best-battleship-ai" target="_blank">What is the best Battleship AI?</a></p>
<p>I must admit that I am still smarting over this contest, as my BP7 contest entry did awesomely well and incredibly poor at the same time. Here is the code:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">namespace</span> Battleship
<span style="color: #008000;">&#123;</span>
    <span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
    <span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
    <span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Drawing</span><span style="color: #008000;">;</span>
    <span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Linq</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> BP7 <span style="color: #008000;">:</span> IBattleshipOpponent
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> Name <span style="color: #008000;">&#123;</span> get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #666666;">&quot;BP7&quot;</span><span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> Version Version <span style="color: #008000;">&#123;</span> get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">version</span><span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span> <span style="color: #008000;">&#125;</span>
&nbsp;
        Random rand <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Random<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        Version version <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Version<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">0</span>, <span style="color: #FF0000;">7</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        Size gameSize<span style="color: #008000;">;</span>
        List<span style="color: #008000;">&lt;</span>Point<span style="color: #008000;">&gt;</span> scanShots<span style="color: #008000;">;</span>
        List<span style="color: #008000;">&lt;</span>NextShot<span style="color: #008000;">&gt;</span> nextShots<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> wins, losses<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> totalWins <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> totalLosses <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> maxWins <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> maxLosses <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> matchWins <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> matchLosses <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">enum</span> Direction <span style="color: #008000;">&#123;</span> VERTICAL <span style="color: #008000;">=</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span>, UNKNOWN <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span>, HORIZONTAL <span style="color: #008000;">=</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">;</span>
        Direction hitDirection, lastShotDirection<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #6666cc; font-weight: bold;">enum</span> ShotResult <span style="color: #008000;">&#123;</span> UNKNOWN, MISS, HIT <span style="color: #008000;">&#125;</span><span style="color: #008000;">;</span>
        ShotResult<span style="color: #008000;">&#91;</span>,<span style="color: #008000;">&#93;</span> board<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">struct</span> NextShot
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">public</span> Point point<span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">public</span> Direction direction<span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">public</span> NextShot<span style="color: #008000;">&#40;</span>Point p, Direction d<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                point <span style="color: #008000;">=</span> p<span style="color: #008000;">;</span>
                direction <span style="color: #008000;">=</span> d<span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">struct</span> ScanShot
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">public</span> Point point<span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">int</span> openSpaces<span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">public</span> ScanShot<span style="color: #008000;">&#40;</span>Point p, <span style="color: #6666cc; font-weight: bold;">int</span> o<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                point <span style="color: #008000;">=</span> p<span style="color: #008000;">;</span>
                openSpaces <span style="color: #008000;">=</span> o<span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> NewGame<span style="color: #008000;">&#40;</span>Size size, TimeSpan timeSpan<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">gameSize</span> <span style="color: #008000;">=</span> size<span style="color: #008000;">;</span>
            scanShots <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> List<span style="color: #008000;">&lt;</span>Point<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            nextShots <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> List<span style="color: #008000;">&lt;</span>NextShot<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            fillScanShots<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            hitDirection <span style="color: #008000;">=</span> Direction<span style="color: #008000;">.</span><span style="color: #0000FF;">UNKNOWN</span><span style="color: #008000;">;</span>
            board <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> ShotResult<span style="color: #008000;">&#91;</span>size<span style="color: #008000;">.</span><span style="color: #0000FF;">Width</span>, size<span style="color: #008000;">.</span><span style="color: #0000FF;">Height</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> fillScanShots<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #6666cc; font-weight: bold;">int</span> x<span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">for</span> <span style="color: #008000;">&#40;</span>x <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> x <span style="color: #008000;">&lt;</span> gameSize<span style="color: #008000;">.</span><span style="color: #0000FF;">Width</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span> x<span style="color: #008000;">++</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                scanShots<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>x, x<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>gameSize<span style="color: #008000;">.</span><span style="color: #0000FF;">Width</span> <span style="color: #008000;">==</span> <span style="color: #FF0000;">10</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">for</span> <span style="color: #008000;">&#40;</span>x <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> x <span style="color: #008000;">&lt;</span> <span style="color: #FF0000;">3</span><span style="color: #008000;">;</span> x<span style="color: #008000;">++</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    scanShots<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">9</span> <span style="color: #008000;">-</span> x, x<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    scanShots<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>x, <span style="color: #FF0000;">9</span> <span style="color: #008000;">-</span> x<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> PlaceShips<span style="color: #008000;">&#40;</span><span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">ObjectModel</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ReadOnlyCollection</span><span style="color: #008000;">&lt;</span>Ship<span style="color: #008000;">&gt;</span> ships<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</span>Ship s <span style="color: #0600FF; font-weight: bold;">in</span> ships<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                s<span style="color: #008000;">.</span><span style="color: #0000FF;">Place</span><span style="color: #008000;">&#40;</span>
                    <span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>
                        rand<span style="color: #008000;">.</span><span style="color: #0000FF;">Next</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">gameSize</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Width</span><span style="color: #008000;">&#41;</span>,
                        rand<span style="color: #008000;">.</span><span style="color: #0000FF;">Next</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">gameSize</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Height</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>,
                    <span style="color: #008000;">&#40;</span>ShipOrientation<span style="color: #008000;">&#41;</span>rand<span style="color: #008000;">.</span><span style="color: #0000FF;">Next</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">2</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> Point GetShot<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            Point shot<span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>hitDirection <span style="color: #008000;">!=</span> Direction<span style="color: #008000;">.</span><span style="color: #0000FF;">UNKNOWN</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>hitDirection <span style="color: #008000;">==</span> Direction<span style="color: #008000;">.</span><span style="color: #0000FF;">HORIZONTAL</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span><span style="color: #008000;">.</span><span style="color: #0000FF;">OrderByDescending</span><span style="color: #008000;">&#40;</span>x <span style="color: #008000;">=&gt;</span> x<span style="color: #008000;">.</span><span style="color: #0000FF;">direction</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToList</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
                    <span style="color: #0600FF; font-weight: bold;">else</span>
                    <span style="color: #008000;">&#123;</span>
                        <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span><span style="color: #008000;">.</span><span style="color: #0000FF;">OrderBy</span><span style="color: #008000;">&#40;</span>x <span style="color: #008000;">=&gt;</span> x<span style="color: #008000;">.</span><span style="color: #0000FF;">direction</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToList</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
&nbsp;
                shot <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span><span style="color: #008000;">.</span><span style="color: #0000FF;">First</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">point</span><span style="color: #008000;">;</span>
                lastShotDirection <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span><span style="color: #008000;">.</span><span style="color: #0000FF;">First</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">direction</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span><span style="color: #008000;">.</span><span style="color: #0000FF;">RemoveAt</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> shot<span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            List<span style="color: #008000;">&lt;</span>ScanShot<span style="color: #008000;">&gt;</span> scanShots <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> List<span style="color: #008000;">&lt;</span>ScanShot<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> x <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> x <span style="color: #008000;">&lt;</span> gameSize<span style="color: #008000;">.</span><span style="color: #0000FF;">Width</span><span style="color: #008000;">;</span> x<span style="color: #008000;">++</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> y <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> y <span style="color: #008000;">&lt;</span> gameSize<span style="color: #008000;">.</span><span style="color: #0000FF;">Height</span><span style="color: #008000;">;</span> y<span style="color: #008000;">++</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>board<span style="color: #008000;">&#91;</span>x, y<span style="color: #008000;">&#93;</span> <span style="color: #008000;">==</span> ShotResult<span style="color: #008000;">.</span><span style="color: #0000FF;">UNKNOWN</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        scanShots<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ScanShot<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>x, y<span style="color: #008000;">&#41;</span>, OpenSpaces<span style="color: #008000;">&#40;</span>x, y<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
            scanShots <span style="color: #008000;">=</span> scanShots<span style="color: #008000;">.</span><span style="color: #0000FF;">OrderByDescending</span><span style="color: #008000;">&#40;</span>x <span style="color: #008000;">=&gt;</span> x<span style="color: #008000;">.</span><span style="color: #0000FF;">openSpaces</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToList</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #6666cc; font-weight: bold;">int</span> maxOpenSpaces <span style="color: #008000;">=</span> scanShots<span style="color: #008000;">.</span><span style="color: #0000FF;">FirstOrDefault</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">openSpaces</span><span style="color: #008000;">;</span>
&nbsp;
            List<span style="color: #008000;">&lt;</span>ScanShot<span style="color: #008000;">&gt;</span> scanShots2 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> List<span style="color: #008000;">&lt;</span>ScanShot<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            scanShots2 <span style="color: #008000;">=</span> scanShots<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Where</span><span style="color: #008000;">&#40;</span>x <span style="color: #008000;">=&gt;</span> x<span style="color: #008000;">.</span><span style="color: #0000FF;">openSpaces</span> <span style="color: #008000;">==</span> maxOpenSpaces<span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToList</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            shot <span style="color: #008000;">=</span> scanShots2<span style="color: #008000;">&#91;</span>rand<span style="color: #008000;">.</span><span style="color: #0000FF;">Next</span><span style="color: #008000;">&#40;</span>scanShots2<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">point</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">return</span> shot<span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #6666cc; font-weight: bold;">int</span> OpenSpaces<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> x, <span style="color: #6666cc; font-weight: bold;">int</span> y<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #6666cc; font-weight: bold;">int</span> ctr <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
            Point p<span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">// spaces to the left</span>
            p <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>x <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span>, y<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span> <span style="color: #008000;">&gt;=</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">&amp;&amp;</span> board<span style="color: #008000;">&#91;</span>p<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span>, p<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">==</span> ShotResult<span style="color: #008000;">.</span><span style="color: #0000FF;">UNKNOWN</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                ctr<span style="color: #008000;">++;</span>
                p<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span><span style="color: #008000;">--;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">// spaces to the right</span>
            p <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>x <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span>, y<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span> <span style="color: #008000;">&lt;</span> gameSize<span style="color: #008000;">.</span><span style="color: #0000FF;">Width</span> <span style="color: #008000;">&amp;&amp;</span> board<span style="color: #008000;">&#91;</span>p<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span>, p<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">==</span> ShotResult<span style="color: #008000;">.</span><span style="color: #0000FF;">UNKNOWN</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                ctr<span style="color: #008000;">++;</span>
                p<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span><span style="color: #008000;">++;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">// spaces to the top</span>
            p <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>x, y <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span> <span style="color: #008000;">&gt;=</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">&amp;&amp;</span> board<span style="color: #008000;">&#91;</span>p<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span>, p<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">==</span> ShotResult<span style="color: #008000;">.</span><span style="color: #0000FF;">UNKNOWN</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                ctr<span style="color: #008000;">++;</span>
                p<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span><span style="color: #008000;">--;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">// spaces to the bottom</span>
            p <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>x, y <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span> <span style="color: #008000;">&lt;</span> gameSize<span style="color: #008000;">.</span><span style="color: #0000FF;">Height</span> <span style="color: #008000;">&amp;&amp;</span> board<span style="color: #008000;">&#91;</span>p<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span>, p<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">==</span> ShotResult<span style="color: #008000;">.</span><span style="color: #0000FF;">UNKNOWN</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                ctr<span style="color: #008000;">++;</span>
                p<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span><span style="color: #008000;">++;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">return</span> ctr<span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> NewMatch<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> opponenet<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            wins <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
            losses <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> OpponentShot<span style="color: #008000;">&#40;</span>Point shot<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> ShotHit<span style="color: #008000;">&#40;</span>Point shot, <span style="color: #6666cc; font-weight: bold;">bool</span> sunk<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            board<span style="color: #008000;">&#91;</span>shot<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span>, shot<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">=</span> ShotResult<span style="color: #008000;">.</span><span style="color: #0000FF;">HIT</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">!</span>sunk<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                hitDirection <span style="color: #008000;">=</span> lastShotDirection<span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>shot<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span> <span style="color: #008000;">!=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> NextShot<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>shot<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span>, shot<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span><span style="color: #008000;">&#41;</span>, Direction<span style="color: #008000;">.</span><span style="color: #0000FF;">HORIZONTAL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
&nbsp;
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>shot<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span> <span style="color: #008000;">!=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> NextShot<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>shot<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span>, shot<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span>, Direction<span style="color: #008000;">.</span><span style="color: #0000FF;">VERTICAL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
&nbsp;
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>shot<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span> <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">gameSize</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Width</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> NextShot<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>shot<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span>, shot<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span><span style="color: #008000;">&#41;</span>, Direction<span style="color: #008000;">.</span><span style="color: #0000FF;">HORIZONTAL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
&nbsp;
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>shot<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span> <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">gameSize</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Height</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> NextShot<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Point<span style="color: #008000;">&#40;</span>shot<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span>, shot<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span>, Direction<span style="color: #008000;">.</span><span style="color: #0000FF;">VERTICAL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
            <span style="color: #0600FF; font-weight: bold;">else</span>
            <span style="color: #008000;">&#123;</span>
                hitDirection <span style="color: #008000;">=</span> Direction<span style="color: #008000;">.</span><span style="color: #0000FF;">UNKNOWN</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">nextShots</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Clear</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// so now this works like gangbusters ?!?!?!?!?!?!?!?!?</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> ShotMiss<span style="color: #008000;">&#40;</span>Point shot<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            board<span style="color: #008000;">&#91;</span>shot<span style="color: #008000;">.</span><span style="color: #0000FF;">X</span>, shot<span style="color: #008000;">.</span><span style="color: #0000FF;">Y</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">=</span> ShotResult<span style="color: #008000;">.</span><span style="color: #0000FF;">MISS</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> GameWon<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            wins<span style="color: #008000;">++;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> GameLost<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            losses<span style="color: #008000;">++;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> MatchOver<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>wins <span style="color: #008000;">&gt;</span> maxWins<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                maxWins <span style="color: #008000;">=</span> wins<span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>losses <span style="color: #008000;">&gt;</span> maxLosses<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                maxLosses <span style="color: #008000;">=</span> losses<span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            totalWins <span style="color: #008000;">+=</span> wins<span style="color: #008000;">;</span>
            totalLosses <span style="color: #008000;">+=</span> losses<span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>wins <span style="color: #008000;">&gt;=</span> losses<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                matchWins<span style="color: #008000;">++;</span>
            <span style="color: #008000;">&#125;</span>
            <span style="color: #0600FF; font-weight: bold;">else</span>
            <span style="color: #008000;">&#123;</span>
                matchLosses<span style="color: #008000;">++;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> FinalStats<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Games won: &quot;</span> <span style="color: #008000;">+</span> totalWins<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Games lost: &quot;</span> <span style="color: #008000;">+</span> totalLosses<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Game winning percentage: &quot;</span> <span style="color: #008000;">+</span> <span style="color: #008000;">&#40;</span>totalWins <span style="color: #008000;">*</span> <span style="color: #FF0000;">1.0</span> <span style="color: #008000;">/</span> <span style="color: #008000;">&#40;</span>totalWins <span style="color: #008000;">+</span> totalLosses<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;P&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Game losing percentage: &quot;</span> <span style="color: #008000;">+</span> <span style="color: #008000;">&#40;</span>totalLosses <span style="color: #008000;">*</span> <span style="color: #FF0000;">1.0</span> <span style="color: #008000;">/</span> <span style="color: #008000;">&#40;</span>totalWins <span style="color: #008000;">+</span> totalLosses<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;P&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Matches won: &quot;</span> <span style="color: #008000;">+</span> matchWins<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Matches lost: &quot;</span> <span style="color: #008000;">+</span> matchLosses<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Match winning percentage: &quot;</span> <span style="color: #008000;">+</span> <span style="color: #008000;">&#40;</span>matchWins <span style="color: #008000;">*</span> <span style="color: #FF0000;">1.0</span> <span style="color: #008000;">/</span> <span style="color: #008000;">&#40;</span>matchWins <span style="color: #008000;">+</span> matchLosses<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;P&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Match losing percentage: &quot;</span> <span style="color: #008000;">+</span> <span style="color: #008000;">&#40;</span>matchLosses <span style="color: #008000;">*</span> <span style="color: #FF0000;">1.0</span> <span style="color: #008000;">/</span> <span style="color: #008000;">&#40;</span>matchWins <span style="color: #008000;">+</span> matchLosses<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;P&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Match games won high: &quot;</span> <span style="color: #008000;">+</span> maxWins<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Match games lost high: &quot;</span> <span style="color: #008000;">+</span> maxLosses<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>The thing I find odd about this was that against the winning entry, Dreadnought, my AI was far and away the most successful, winning about 40% of the individual games. The next closest competitor to Dreadnought was BSKiller, crafted by my compatriot in crime, John Boker, winning 20% in the initial round robin and 12% and 14% in the knockout round.</p>
<p>And yet, BP7 stunk against most of the other real submissions, which is a bit mysterious to me. I understand that there is some random fortune involved here (for example, in the round robin, BSKiller defeated BP7 121 games to 80, even though in my own testing, BP7 was winning about 54% of the games over BSKiller), but to be defeated at almost every turn?</p>
<p>Oh well. Here is my VS2008 solution and class files, if you would care to try it out for yourself:</p>
<p><a href="http://www.dosomethinghere.com/downloads/Battleship.zip">Battleship solution</a></p>
<p>Also, when I was first looking into this problem, I created some graph paper to help me visualize certain situations. Here is the PDF file of this graph paper:</p>
<p><a href="http://www.dosomethinghere.com/downloads/battleship_graph_paper.pdf">Battleship Graph Paper</a></p>
<p>Happy Thanksgiving everyone! (For those outside the U.S., Happy November 26th.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dosomethinghere.com/2009/11/26/battleship-ai-contest-on-stack-overflow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Deuces wild???</title>
		<link>http://www.dosomethinghere.com/2009/11/12/deuces-wild/</link>
		<comments>http://www.dosomethinghere.com/2009/11/12/deuces-wild/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 03:08:17 +0000</pubDate>
		<dc:creator>BP</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Retrosheet]]></category>
		<category><![CDATA[C#.NET]]></category>

		<guid isPermaLink="false">http://www.dosomethinghere.com/?p=383</guid>
		<description><![CDATA[As a baseball loving youth, I remember with great fondness watching and listening to baseball as called by the voice of baseball, Vin Scully, who is unquestionably one of the greatest baseball announcers. One thing I can always remember him saying during his calls was &#8220;deuces wild&#8221;, which he used to describe a situation that [...]]]></description>
			<content:encoded><![CDATA[<p>As a baseball loving youth, I remember with great fondness watching and listening to baseball as called by the voice of baseball, Vin Scully, who is unquestionably one of the greatest baseball announcers.</p>
<p>One thing I can always remember him saying during his calls was &#8220;deuces wild&#8221;, which he used to describe a situation that occurs with a count of 2 balls, 2 strikes, and 2 outs.</p>
<p>So, I figured I would take a look at the raw statistics and see how often the deuces wild situation actually came up.  Here is the code from my Program.cs file:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Linq</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">namespace</span> RetrosheetReader
<span style="color: #008000;">&#123;</span>
    <span style="color: #6666cc; font-weight: bold;">class</span> Program
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">static</span> List<span style="color: #008000;">&lt;</span>Team<span style="color: #008000;">&gt;</span> teamList<span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">static</span> List<span style="color: #008000;">&lt;</span>Player<span style="color: #008000;">&gt;</span> playerList<span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">static</span> List<span style="color: #008000;">&lt;</span><span style="color: #0600FF; font-weight: bold;">Event</span><span style="color: #008000;">&gt;</span> eventList<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">const</span> <span style="color: #6666cc; font-weight: bold;">string</span> DATA <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;c:<span style="color: #008080; font-weight: bold;">\\</span>baseball_data<span style="color: #008080; font-weight: bold;">\\</span>&quot;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">void</span> Main<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> args<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Retrosheet Reader&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            teamList <span style="color: #008000;">=</span> Team<span style="color: #008000;">.</span><span style="color: #0000FF;">GetTeamList</span><span style="color: #008000;">&#40;</span>DATA<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            playerList <span style="color: #008000;">=</span> Player<span style="color: #008000;">.</span><span style="color: #0000FF;">GetPlayerList</span><span style="color: #008000;">&#40;</span>DATA<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            eventList <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">Event</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetEventList</span><span style="color: #008000;">&#40;</span>DATA<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Number of teams: &quot;</span> <span style="color: #008000;">+</span> teamList<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Number of players: &quot;</span> <span style="color: #008000;">+</span> playerList<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Number of events: &quot;</span> <span style="color: #008000;">+</span> eventList<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #6666cc; font-weight: bold;">int</span><span style="color: #008000;">&#91;</span>, ,<span style="color: #008000;">&#93;</span> pitchCount <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #6666cc; font-weight: bold;">int</span><span style="color: #008000;">&#91;</span><span style="color: #FF0000;">4</span>, <span style="color: #FF0000;">3</span>, <span style="color: #FF0000;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            <span style="color: #6666cc; font-weight: bold;">int</span> balls, strikes, totalPitches<span style="color: #008000;">;</span>
&nbsp;
            totalPitches <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</span>var ev <span style="color: #0600FF; font-weight: bold;">in</span> eventList<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                balls <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
                strikes <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">char</span> c <span style="color: #0600FF; font-weight: bold;">in</span> ev<span style="color: #008000;">.</span><span style="color: #0000FF;">pitchSequence</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>Functions<span style="color: #008000;">.</span><span style="color: #0000FF;">IsBallOrStrike</span><span style="color: #008000;">&#40;</span>c<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        pitchCount<span style="color: #008000;">&#91;</span>balls, strikes, ev<span style="color: #008000;">.</span><span style="color: #0000FF;">outs</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">++;</span>
                        totalPitches<span style="color: #008000;">++;</span>
                        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>Functions<span style="color: #008000;">.</span><span style="color: #0000FF;">IsStrike</span><span style="color: #008000;">&#40;</span>c<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
                        <span style="color: #008000;">&#123;</span>
                            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>strikes <span style="color: #008000;">==</span> <span style="color: #FF0000;">2</span><span style="color: #008000;">&#41;</span>
                            <span style="color: #008000;">&#123;</span>
                                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">!</span>Functions<span style="color: #008000;">.</span><span style="color: #0000FF;">IsFoul</span><span style="color: #008000;">&#40;</span>c<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
                                    strikes<span style="color: #008000;">++;</span>
                            <span style="color: #008000;">&#125;</span>
                            <span style="color: #0600FF; font-weight: bold;">else</span>
                                strikes<span style="color: #008000;">++;</span>
                        <span style="color: #008000;">&#125;</span>
                        <span style="color: #0600FF; font-weight: bold;">else</span>
                        <span style="color: #008000;">&#123;</span>
                            balls<span style="color: #008000;">++;</span>
                        <span style="color: #008000;">&#125;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Total pitches: &quot;</span> <span style="color: #008000;">+</span> totalPitches<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> o <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> o <span style="color: #008000;">&lt;</span> <span style="color: #FF0000;">3</span><span style="color: #008000;">;</span> o<span style="color: #008000;">++</span><span style="color: #008000;">&#41;</span>
                <span style="color: #0600FF; font-weight: bold;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> s <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> s <span style="color: #008000;">&lt;</span> <span style="color: #FF0000;">3</span><span style="color: #008000;">;</span> s<span style="color: #008000;">++</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #0600FF; font-weight: bold;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> b <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> b <span style="color: #008000;">&lt;</span> <span style="color: #FF0000;">4</span><span style="color: #008000;">;</span> b<span style="color: #008000;">++</span><span style="color: #008000;">&#41;</span>
                        Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">String</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Format</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Total pitches on B{0}-S{1}-O{2}: {3,8}  ({4,6:P})&quot;</span>, b, s, o, pitchCount<span style="color: #008000;">&#91;</span>b, s, o<span style="color: #008000;">&#93;</span>,
                                                    pitchCount<span style="color: #008000;">&#91;</span>b, s, o<span style="color: #008000;">&#93;</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">1.0</span> <span style="color: #008000;">/</span> totalPitches<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Strike any key to end...&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">ReadKey</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>By the way, there is a new Functions.cs file in the project that contains utility functions, and I had to modify the Event.cs file to take into account the fact that the BEVENT application creates duplicate records for a batter if there is some kind of on-base event that happens in the middle of the at-bat, such as a stolen base or pick off.</p>
<p>The results? I ran the application with the 2008 season data, and found that there were 700,242 total pitches. The deuces wild situation happened on only 17,141 pitches, or 2.45%. Of course, the highest percentage occurred with 0 balls, 0 strikes, and 0 outs (the first pitch to any batters that bat in an inning before the first out is recorded, including the first batter of each inning) with 65,050 pitches, or 9.29%.</p>
<p>Here is the zipped up solution:</p>
<p><a href="http://www.dosomethinghere.com/downloads/RetrosheetReader.zip" target="_blank">RetrosheetReader.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dosomethinghere.com/2009/11/12/deuces-wild/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best way to not use an enumeration, ever!</title>
		<link>http://www.dosomethinghere.com/2009/11/10/best-way-to-not-use-an-enumeration-ever/</link>
		<comments>http://www.dosomethinghere.com/2009/11/10/best-way-to-not-use-an-enumeration-ever/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 00:38:46 +0000</pubDate>
		<dc:creator>BP</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Inspirational code]]></category>
		<category><![CDATA[C#.NET]]></category>

		<guid isPermaLink="false">http://www.dosomethinghere.com/?p=379</guid>
		<description><![CDATA[So here is some more interesting stuff found in some code that needed some emergency modifications. The enumeration of this code starts on line 26 of the class file: public enum City &#123; CLINTON = 78, FRANKLIN = 1, FAIRVIEW = 59, GREENVILLE = 55, SALEM = 83, MADISON = 81, SPRINGFIELD = 14, ARLINGTON [...]]]></description>
			<content:encoded><![CDATA[<p>So here is some more interesting stuff found in some code that needed some emergency modifications.</p>
<p>The enumeration of this code starts on line 26 of the class file:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">enum</span> City
<span style="color: #008000;">&#123;</span>
    CLINTON <span style="color: #008000;">=</span> <span style="color: #FF0000;">78</span>,
    FRANKLIN <span style="color: #008000;">=</span> <span style="color: #FF0000;">1</span>,
    FAIRVIEW <span style="color: #008000;">=</span> <span style="color: #FF0000;">59</span>,
    GREENVILLE <span style="color: #008000;">=</span> <span style="color: #FF0000;">55</span>,
    SALEM <span style="color: #008000;">=</span> <span style="color: #FF0000;">83</span>,
    MADISON <span style="color: #008000;">=</span> <span style="color: #FF0000;">81</span>,
    SPRINGFIELD <span style="color: #008000;">=</span> <span style="color: #FF0000;">14</span>,
    ARLINGTON <span style="color: #008000;">=</span> <span style="color: #FF0000;">84</span>,
    CLAYTON <span style="color: #008000;">=</span> <span style="color: #FF0000;">63</span>,
    GEORGETOWN <span style="color: #008000;">=</span> <span style="color: #FF0000;">85</span>,
    MARION <span style="color: #008000;">=</span> <span style="color: #FF0000;">15</span>,
    OXFORD <span style="color: #008000;">=</span> <span style="color: #FF0000;">65</span>,
    BURLINGTON <span style="color: #008000;">=</span> <span style="color: #FF0000;">5</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>And instead of using the MADISON enumeration, the if statement of this code starts on line 118 of the very same class file:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>cityID <span style="color: #008000;">==</span> 0x51<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    actual <span style="color: #008000;">=</span> expected <span style="color: #008000;">-</span> actual<span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>The names were changed to protect the innocent, thanks to Wikipedia for having an easy to find <a href="http://en.wikipedia.org/wiki/List_of_the_most_common_U.S._place_names" target="_blank">list of common place names</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dosomethinghere.com/2009/11/10/best-way-to-not-use-an-enumeration-ever/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Because you never know how many days could be between Monday and Friday</title>
		<link>http://www.dosomethinghere.com/2009/10/19/because-you-never-know-how-many-days-could-be-between-monday-and-friday/</link>
		<comments>http://www.dosomethinghere.com/2009/10/19/because-you-never-know-how-many-days-could-be-between-monday-and-friday/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 15:30:14 +0000</pubDate>
		<dc:creator>BP</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Inspirational code]]></category>
		<category><![CDATA[C#.NET]]></category>

		<guid isPermaLink="false">http://www.dosomethinghere.com/?p=350</guid>
		<description><![CDATA[Why do a couple of subtractions when two loops can do the same work? while &#40;processDate.DayOfWeek != DayOfWeek.Monday&#41; processDate = processDate.AddDays&#40;-1&#41;; &#160; string mondayDate = processDate.ToShortDateString&#40;&#41;; &#160; while &#40;processDate.DayOfWeek != DayOfWeek.Friday&#41; processDate = processDate.AddDays&#40;1&#41;; &#160; string fridayDate = processDate.ToShortDateString&#40;&#41;;]]></description>
			<content:encoded><![CDATA[<p>Why do a couple of subtractions when two loops can do the same work?</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span>processDate<span style="color: #008000;">.</span><span style="color: #0000FF;">DayOfWeek</span> <span style="color: #008000;">!=</span> DayOfWeek<span style="color: #008000;">.</span><span style="color: #0000FF;">Monday</span><span style="color: #008000;">&#41;</span>
    processDate <span style="color: #008000;">=</span> processDate<span style="color: #008000;">.</span><span style="color: #0000FF;">AddDays</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #6666cc; font-weight: bold;">string</span> mondayDate <span style="color: #008000;">=</span> processDate<span style="color: #008000;">.</span><span style="color: #0000FF;">ToShortDateString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span>processDate<span style="color: #008000;">.</span><span style="color: #0000FF;">DayOfWeek</span> <span style="color: #008000;">!=</span> DayOfWeek<span style="color: #008000;">.</span><span style="color: #0000FF;">Friday</span><span style="color: #008000;">&#41;</span>
    processDate <span style="color: #008000;">=</span> processDate<span style="color: #008000;">.</span><span style="color: #0000FF;">AddDays</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #6666cc; font-weight: bold;">string</span> fridayDate <span style="color: #008000;">=</span> processDate<span style="color: #008000;">.</span><span style="color: #0000FF;">ToShortDateString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.dosomethinghere.com/2009/10/19/because-you-never-know-how-many-days-could-be-between-monday-and-friday/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Retrosheet event record mapping completed</title>
		<link>http://www.dosomethinghere.com/2009/10/18/retrosheet-event-record-mapping-completed/</link>
		<comments>http://www.dosomethinghere.com/2009/10/18/retrosheet-event-record-mapping-completed/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 01:53:59 +0000</pubDate>
		<dc:creator>BP</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Retrosheet]]></category>
		<category><![CDATA[C#.NET]]></category>

		<guid isPermaLink="false">http://www.dosomethinghere.com/?p=343</guid>
		<description><![CDATA[The Retrosheet project has kind of sat around for a while untouched, so I figured I would finish up the reading of the event records. I have decided to break the project into separate files, as if I kept it in one file, it would be obscenely long. So, here is the main Program.cs file: [...]]]></description>
			<content:encoded><![CDATA[<p>The Retrosheet project has kind of sat around for a while untouched, so I figured I would finish up the reading of the event records. I have decided to break the project into separate files, as if I kept it in one file, it would be obscenely long.</p>
<p>So, here is the main Program.cs file:</p>
<p>Program.cs</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Linq</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">namespace</span> RetrosheetReader
<span style="color: #008000;">&#123;</span>
    <span style="color: #6666cc; font-weight: bold;">class</span> Program
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">static</span> List<span style="color: #008000;">&lt;</span>Team<span style="color: #008000;">&gt;</span> teamList<span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">static</span> List<span style="color: #008000;">&lt;</span>Player<span style="color: #008000;">&gt;</span> playerList<span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">static</span> List<span style="color: #008000;">&lt;</span><span style="color: #0600FF; font-weight: bold;">Event</span><span style="color: #008000;">&gt;</span> eventList<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">const</span> <span style="color: #6666cc; font-weight: bold;">string</span> DATA <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;c:<span style="color: #008080; font-weight: bold;">\\</span>baseball_data<span style="color: #008080; font-weight: bold;">\\</span>&quot;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">void</span> Main<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> args<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Retrosheet Reader&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            teamList <span style="color: #008000;">=</span> Team<span style="color: #008000;">.</span><span style="color: #0000FF;">GetTeamList</span><span style="color: #008000;">&#40;</span>DATA<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            playerList <span style="color: #008000;">=</span> Player<span style="color: #008000;">.</span><span style="color: #0000FF;">GetPlayerList</span><span style="color: #008000;">&#40;</span>DATA<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            eventList <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">Event</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetEventList</span><span style="color: #008000;">&#40;</span>DATA<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Number of teams: &quot;</span> <span style="color: #008000;">+</span> teamList<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Number of players: &quot;</span> <span style="color: #008000;">+</span> playerList<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Number of events: &quot;</span> <span style="color: #008000;">+</span> eventList<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Strike any key to end...&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">ReadKey</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>There are now 3 class files, one each for a team, player, and event. The event file is the one with the most new stuff going on.</p>
<p>Team.cs</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.IO</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Linq</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">namespace</span> RetrosheetReader
<span style="color: #008000;">&#123;</span>
    <span style="color: #6666cc; font-weight: bold;">class</span> Team
    <span style="color: #008000;">&#123;</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> year<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> city<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> nickname<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> abbreviation<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> league<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> Team<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> y, <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> a<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            year <span style="color: #008000;">=</span> y<span style="color: #008000;">;</span>
            abbreviation <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            league <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            city <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            nickname <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> List<span style="color: #008000;">&lt;</span>Team<span style="color: #008000;">&gt;</span> GetTeamList<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> dir<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #6666cc; font-weight: bold;">int</span> y<span style="color: #008000;">;</span>
            <span style="color: #6666cc; font-weight: bold;">string</span> s<span style="color: #008000;">;</span>
            <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> splitLine<span style="color: #008000;">;</span>
            List<span style="color: #008000;">&lt;</span>Team<span style="color: #008000;">&gt;</span> teamList <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> List<span style="color: #008000;">&lt;</span>Team<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            List<span style="color: #008000;">&lt;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&gt;</span> tfs <span style="color: #008000;">=</span> Directory<span style="color: #008000;">.</span><span style="color: #0000FF;">GetFiles</span><span style="color: #008000;">&#40;</span>dir, <span style="color: #666666;">&quot;team*&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToList</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> tf <span style="color: #0600FF; font-weight: bold;">in</span> tfs<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                y <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>Path<span style="color: #008000;">.</span><span style="color: #0000FF;">GetFileName</span><span style="color: #008000;">&#40;</span>tf<span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Substring</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                StreamReader sr <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> StreamReader<span style="color: #008000;">&#40;</span>tf<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>s <span style="color: #008000;">=</span> sr<span style="color: #008000;">.</span><span style="color: #0000FF;">ReadLine</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    splitLine <span style="color: #008000;">=</span> s<span style="color: #008000;">.</span><span style="color: #0000FF;">Split</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">','</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>splitLine<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #FF0000;">4</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        teamList<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Team<span style="color: #008000;">&#40;</span>y, splitLine<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">return</span> teamList<span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Player.cs</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.IO</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Linq</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">namespace</span> RetrosheetReader
<span style="color: #008000;">&#123;</span>
    <span style="color: #6666cc; font-weight: bold;">class</span> Player
    <span style="color: #008000;">&#123;</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> year<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> team<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> playerID<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> firstName<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> lastName<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> bats<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> throws<span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> position<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> Player<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> y, <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> a<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            year <span style="color: #008000;">=</span> y<span style="color: #008000;">;</span>
            playerID <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            lastName <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            firstName <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            bats <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            throws <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            team <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">5</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            position <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">6</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> List<span style="color: #008000;">&lt;</span>Player<span style="color: #008000;">&gt;</span> GetPlayerList<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> dir<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #6666cc; font-weight: bold;">int</span> y<span style="color: #008000;">;</span>
            <span style="color: #6666cc; font-weight: bold;">string</span> s<span style="color: #008000;">;</span>
            <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> splitLine<span style="color: #008000;">;</span>
            List<span style="color: #008000;">&lt;</span>Player<span style="color: #008000;">&gt;</span> playerList <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> List<span style="color: #008000;">&lt;</span>Player<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            List<span style="color: #008000;">&lt;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&gt;</span> rfs <span style="color: #008000;">=</span> Directory<span style="color: #008000;">.</span><span style="color: #0000FF;">GetFiles</span><span style="color: #008000;">&#40;</span>dir, <span style="color: #666666;">&quot;*.ros&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToList</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> rf <span style="color: #0600FF; font-weight: bold;">in</span> rfs<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                y <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>Path<span style="color: #008000;">.</span><span style="color: #0000FF;">GetFileName</span><span style="color: #008000;">&#40;</span>rf<span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Substring</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">3</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Split</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'.'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                StreamReader sr <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> StreamReader<span style="color: #008000;">&#40;</span>rf<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>s <span style="color: #008000;">=</span> sr<span style="color: #008000;">.</span><span style="color: #0000FF;">ReadLine</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    splitLine <span style="color: #008000;">=</span> s<span style="color: #008000;">.</span><span style="color: #0000FF;">Split</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">','</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>splitLine<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #FF0000;">7</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        playerList<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Player<span style="color: #008000;">&#40;</span>y, splitLine<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">return</span> playerList<span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Event.cs</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.IO</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Linq</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">namespace</span> RetrosheetReader
<span style="color: #008000;">&#123;</span>
    <span style="color: #6666cc; font-weight: bold;">class</span> <span style="color: #0600FF; font-weight: bold;">Event</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> gameID<span style="color: #008000;">;</span>          <span style="color: #008080; font-style: italic;">// 0, A</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> visitingTeam<span style="color: #008000;">;</span>    <span style="color: #008080; font-style: italic;">// 1, B</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> inning<span style="color: #008000;">;</span>             <span style="color: #008080; font-style: italic;">// 2, C</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> battingTeam<span style="color: #008000;">;</span>        <span style="color: #008080; font-style: italic;">// 3, D</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> outs<span style="color: #008000;">;</span>               <span style="color: #008080; font-style: italic;">// 4, E</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> balls<span style="color: #008000;">;</span>              <span style="color: #008080; font-style: italic;">// 5, F</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> strikes<span style="color: #008000;">;</span>            <span style="color: #008080; font-style: italic;">// 6, G</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> pitchSequence<span style="color: #008000;">;</span>   <span style="color: #008080; font-style: italic;">// 7, H</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> visitorScore<span style="color: #008000;">;</span>       <span style="color: #008080; font-style: italic;">// 8, I</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> homeScore<span style="color: #008000;">;</span>          <span style="color: #008080; font-style: italic;">// 9, J</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> batter<span style="color: #008000;">;</span>          <span style="color: #008080; font-style: italic;">// 10, K</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> batterHand<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 11, L</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> resBatter<span style="color: #008000;">;</span>       <span style="color: #008080; font-style: italic;">// 12, M</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> resBatterHand<span style="color: #008000;">;</span>   <span style="color: #008080; font-style: italic;">// 13, N</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> pitcher<span style="color: #008000;">;</span>         <span style="color: #008080; font-style: italic;">// 14, O</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> pitcherHand<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 15, P</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> resPitcher<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 16, Q</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> resPitcherHand<span style="color: #008000;">;</span>  <span style="color: #008080; font-style: italic;">// 17, R</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> catcher<span style="color: #008000;">;</span>         <span style="color: #008080; font-style: italic;">// 18, S</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> firstBase<span style="color: #008000;">;</span>       <span style="color: #008080; font-style: italic;">// 19, T</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> secondBase<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 20, U</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> thirdBase<span style="color: #008000;">;</span>       <span style="color: #008080; font-style: italic;">// 21, V</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> shortstop<span style="color: #008000;">;</span>       <span style="color: #008080; font-style: italic;">// 22, W</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> leftField<span style="color: #008000;">;</span>       <span style="color: #008080; font-style: italic;">// 23, X</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> centerField<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 24, Y</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> rightField<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 25, Z</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> firstRunner<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 26, AA</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> secondRunner<span style="color: #008000;">;</span>    <span style="color: #008080; font-style: italic;">// 27, AB</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> thirdRunner<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 28, AC</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> eventText<span style="color: #008000;">;</span>       <span style="color: #008080; font-style: italic;">// 29, AD</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> leadoffFlag<span style="color: #008000;">;</span>       <span style="color: #008080; font-style: italic;">// 30, AE</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> pinchHitFlag<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 31, AF</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> defensivePosition<span style="color: #008000;">;</span>  <span style="color: #008080; font-style: italic;">// 32, AG</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> lineupPosition<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 33, AH</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> eventType<span style="color: #008000;">;</span>          <span style="color: #008080; font-style: italic;">// 34, AI</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> batterEventFlag<span style="color: #008000;">;</span>   <span style="color: #008080; font-style: italic;">// 35, AJ</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> abFlag<span style="color: #008000;">;</span>            <span style="color: #008080; font-style: italic;">// 36, AK</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> hitValue<span style="color: #008000;">;</span>           <span style="color: #008080; font-style: italic;">// 37, AL</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> shFlag<span style="color: #008000;">;</span>            <span style="color: #008080; font-style: italic;">// 38, AM</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> sfFlag<span style="color: #008000;">;</span>            <span style="color: #008080; font-style: italic;">// 39, AN</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> outsOnPlay<span style="color: #008000;">;</span>         <span style="color: #008080; font-style: italic;">// 40, AO</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> doublePlayFlag<span style="color: #008000;">;</span>    <span style="color: #008080; font-style: italic;">// 41, AP</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> triplePlayFlag<span style="color: #008000;">;</span>    <span style="color: #008080; font-style: italic;">// 42, AQ</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> rbiOnPlay<span style="color: #008000;">;</span>          <span style="color: #008080; font-style: italic;">// 43, AR</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> wildPitchFlag<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 44, AS</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> passedBallFlag<span style="color: #008000;">;</span>    <span style="color: #008080; font-style: italic;">// 45, AT</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> fieldedBy<span style="color: #008000;">;</span>          <span style="color: #008080; font-style: italic;">// 46, AU</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> battedBallType<span style="color: #008000;">;</span>  <span style="color: #008080; font-style: italic;">// 47, AV</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> buntFlag<span style="color: #008000;">;</span>          <span style="color: #008080; font-style: italic;">// 48, AW</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> foulFlag<span style="color: #008000;">;</span>          <span style="color: #008080; font-style: italic;">// 49, AX</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> hitLocation<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 50, AY</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> numErrors<span style="color: #008000;">;</span>          <span style="color: #008080; font-style: italic;">// 51, AZ</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> firstErrorPlayer<span style="color: #008000;">;</span>   <span style="color: #008080; font-style: italic;">// 52, BA</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> firstErrorType<span style="color: #008000;">;</span>  <span style="color: #008080; font-style: italic;">// 53, BB</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> secondErrorPlayer<span style="color: #008000;">;</span>  <span style="color: #008080; font-style: italic;">// 54, BC</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> secondErrorType<span style="color: #008000;">;</span> <span style="color: #008080; font-style: italic;">// 55, BD</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> thirdErrorPlayer<span style="color: #008000;">;</span>   <span style="color: #008080; font-style: italic;">// 56, BE</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> thirdErrorType<span style="color: #008000;">;</span>  <span style="color: #008080; font-style: italic;">// 57, BF</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> batterDest<span style="color: #008000;">;</span>         <span style="color: #008080; font-style: italic;">// 58, BG</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> runner1Dest<span style="color: #008000;">;</span>        <span style="color: #008080; font-style: italic;">// 59, BH</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> runner2Dest<span style="color: #008000;">;</span>        <span style="color: #008080; font-style: italic;">// 60, BI</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> runner3Dest<span style="color: #008000;">;</span>        <span style="color: #008080; font-style: italic;">// 61, BJ</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> playOnBatter<span style="color: #008000;">;</span>    <span style="color: #008080; font-style: italic;">// 62, BK</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> playOnRunner1<span style="color: #008000;">;</span>   <span style="color: #008080; font-style: italic;">// 63, BL</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> playOnRunner2<span style="color: #008000;">;</span>   <span style="color: #008080; font-style: italic;">// 64, BM</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> playOnRunner3<span style="color: #008000;">;</span>   <span style="color: #008080; font-style: italic;">// 65, BN</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> sbRunner1Flag<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 66, BO</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> sbRunner2Flag<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 67, BP</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> sbRunner3Flag<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 68, BQ</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> csRunner1Flag<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 69, BR</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> csRunner2Flag<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 70, BS</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> csRunner3Flag<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 71, BT</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> poRunner1Flag<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 72, BU</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> poRunner2Flag<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 73, BV</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> poRunner3Flag<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 74, BW</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> respPitcher1<span style="color: #008000;">;</span>    <span style="color: #008080; font-style: italic;">// 75, BX</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> respPitcher2<span style="color: #008000;">;</span>    <span style="color: #008080; font-style: italic;">// 76, BY</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> respPitcher3<span style="color: #008000;">;</span>    <span style="color: #008080; font-style: italic;">// 77, BZ</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> newGameFlag<span style="color: #008000;">;</span>       <span style="color: #008080; font-style: italic;">// 78, CA</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> endGameFlag<span style="color: #008000;">;</span>       <span style="color: #008080; font-style: italic;">// 79, CB</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> pinchRunner1<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 80, CC</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> pinchRunner2<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 81, CD</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> pinchRunner3<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 82, CE</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> removedForPR1<span style="color: #008000;">;</span>   <span style="color: #008080; font-style: italic;">// 83, CF</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> removedForPR2<span style="color: #008000;">;</span>   <span style="color: #008080; font-style: italic;">// 84, CG</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> removedForPR3<span style="color: #008000;">;</span>   <span style="color: #008080; font-style: italic;">// 85, CH</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> removedForPH<span style="color: #008000;">;</span>    <span style="color: #008080; font-style: italic;">// 86, CI</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> posRemovedForPH<span style="color: #008000;">;</span>    <span style="color: #008080; font-style: italic;">// 87, CJ</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> fielderWithPO1<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 88, CK</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> fielderWithPO2<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 89, CL</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> fielderWithPO3<span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 90, CM</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> fielderWithA1<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 91, CN</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> fielderWithA2<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 92, CO</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> fielderWithA3<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 93, CP</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> fielderWithA4<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 94, CQ</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> fielderWithA5<span style="color: #008000;">;</span>      <span style="color: #008080; font-style: italic;">// 95, CR</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> eventNum<span style="color: #008000;">;</span>           <span style="color: #008080; font-style: italic;">// 96, CS</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">Event</span><span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> a<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            gameID <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            visitingTeam <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            inning <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            battingTeam <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            outs <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            balls <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">5</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            strikes <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">6</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            pitchSequence <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">7</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            visitorScore <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">8</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            homeScore <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">9</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            batter <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            batterHand <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">11</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            resBatter <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">12</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            resBatterHand <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">13</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            pitcher <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">14</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            pitcherHand <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">15</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            resPitcher <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">16</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            resPitcherHand <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">17</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            catcher <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">18</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            firstBase <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">19</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            secondBase <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">20</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            thirdBase <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">21</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            shortstop <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">22</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            leftField <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">23</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            centerField <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">24</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            rightField <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">25</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            firstRunner <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">26</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            secondRunner <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">27</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            thirdRunner <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">28</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            eventText <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">29</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            leadoffFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">30</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            pinchHitFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">31</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            defensivePosition <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">32</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            lineupPosition <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">33</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            eventType <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">34</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            batterEventFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">35</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            abFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">36</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            hitValue <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">37</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            shFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">38</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            sfFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">39</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            outsOnPlay <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">40</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            doublePlayFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">41</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            triplePlayFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">42</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            rbiOnPlay <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">43</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            wildPitchFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">44</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            passedBallFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">45</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            fieldedBy <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">46</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            battedBallType <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">47</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            buntFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">48</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            foulFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">49</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            hitLocation <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">50</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            numErrors <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">51</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            firstErrorPlayer <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">52</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            firstErrorType <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">53</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            secondErrorPlayer <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">54</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            secondErrorType <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">55</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            thirdErrorPlayer <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">56</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            thirdErrorType <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">57</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            batterDest <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">58</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            runner1Dest <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">59</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            runner2Dest <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">60</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            runner3Dest <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">61</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            playOnBatter <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">62</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            playOnRunner1 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">63</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            playOnRunner2 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">64</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            playOnRunner3 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">65</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            sbRunner1Flag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">66</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            sbRunner2Flag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">67</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            sbRunner3Flag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">68</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            csRunner1Flag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">69</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            csRunner2Flag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">70</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            csRunner3Flag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">71</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            poRunner1Flag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">72</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            poRunner2Flag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">73</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            poRunner3Flag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">74</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            respPitcher1 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">75</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            respPitcher2 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">76</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            respPitcher3 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">77</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            newGameFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">78</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            endGameFlag <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">79</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            pinchRunner1 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">80</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            pinchRunner2 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">81</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            pinchRunner3 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">82</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">'T'</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            removedForPR1 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">83</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            removedForPR2 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">84</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            removedForPR3 <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">85</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            removedForPH <span style="color: #008000;">=</span> a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">86</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\&quot;</span>&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            posRemovedForPH <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">87</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            fielderWithPO1 <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">88</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            fielderWithPO2 <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">89</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            fielderWithPO3 <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">90</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            fielderWithA1 <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">91</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            fielderWithA2 <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">92</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            fielderWithA3 <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">93</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            fielderWithA4 <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">94</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            fielderWithA5 <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">95</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            eventNum <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToInt32</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">96</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> List<span style="color: #008000;">&lt;</span><span style="color: #0600FF; font-weight: bold;">Event</span><span style="color: #008000;">&gt;</span> GetEventList<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> dir<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #6666cc; font-weight: bold;">string</span> s<span style="color: #008000;">;</span>
            <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> splitLine<span style="color: #008000;">;</span>
            List<span style="color: #008000;">&lt;</span><span style="color: #0600FF; font-weight: bold;">Event</span><span style="color: #008000;">&gt;</span> eventList <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> List<span style="color: #008000;">&lt;</span><span style="color: #0600FF; font-weight: bold;">Event</span><span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            List<span style="color: #008000;">&lt;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&gt;</span> efs <span style="color: #008000;">=</span> Directory<span style="color: #008000;">.</span><span style="color: #0000FF;">GetFiles</span><span style="color: #008000;">&#40;</span>dir, <span style="color: #666666;">&quot;*.csv&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToList</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> ef <span style="color: #0600FF; font-weight: bold;">in</span> efs<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Reading events in &quot;</span> <span style="color: #008000;">+</span> ef<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                StreamReader sr <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> StreamReader<span style="color: #008000;">&#40;</span>ef<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>s <span style="color: #008000;">=</span> sr<span style="color: #008000;">.</span><span style="color: #0000FF;">ReadLine</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    splitLine <span style="color: #008000;">=</span> s<span style="color: #008000;">.</span><span style="color: #0000FF;">Split</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">','</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>splitLine<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #FF0000;">97</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        eventList<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> <span style="color: #0600FF; font-weight: bold;">Event</span><span style="color: #008000;">&#40;</span>splitLine<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">return</span> eventList<span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>I have zipped up the solution if you would like to work with it:</p>
<p><a href="http://www.dosomethinghere.com/downloads/RetrosheetReader.zip" target="_blank">RetrosheetReader.zip</a></p>
<p>Next up will come some actual analysis of the data, now that it is completely being read in and stored.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dosomethinghere.com/2009/10/18/retrosheet-event-record-mapping-completed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetCFSvcUtil.exe error in Windows 7</title>
		<link>http://www.dosomethinghere.com/2009/10/08/netcfsvcutil-exe-error-in-windows-7/</link>
		<comments>http://www.dosomethinghere.com/2009/10/08/netcfsvcutil-exe-error-in-windows-7/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 17:59:46 +0000</pubDate>
		<dc:creator>BP</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[C#.NET]]></category>
		<category><![CDATA[VB.NET]]></category>

		<guid isPermaLink="false">http://www.dosomethinghere.com/?p=339</guid>
		<description><![CDATA[I have been using Windows 7 for a while now, and always had to keep my Windows XP dev machine handy to help out with my Windows Mobile software development. It turns out that the NetCFSvcUtil application included in the .NET CF Power Toys did not get along with Windows 7 (neither the RC or [...]]]></description>
			<content:encoded><![CDATA[<p>I have been using Windows 7 for a while now, and always had to keep my Windows XP dev machine handy to help out with my Windows Mobile software development.</p>
<p>It turns out that the NetCFSvcUtil application included in the .NET CF Power Toys did not get along with Windows 7 (neither the RC or the RTM bits), as it gave a cryptic error message of &#8220;An error occurred in the tool&#8221;.</p>
<p>So just for giggles, I decided to see if there were any updates, and lo and behold, I found a blog post from Habib Heydarian with an updated application:</p>
<p><a href="http://blogs.msdn.com/habibh/archive/2009/06/26/netcfsvcutil-exe-and-windows-7.aspx" target="_blank">NetCFSvcUtil.exe and Windows 7</a></p>
<p>Now I can happily generate the client code on my Windows 7 machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dosomethinghere.com/2009/10/08/netcfsvcutil-exe-error-in-windows-7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

