【发布时间】:2011-06-01 18:17:45
【问题描述】:
所以我用 C# 创建了一个程序,它基本上可以跟踪棒球/垒球比赛的统计数据,而我要做的就是创建一个“游戏日志”,将游戏中的精彩时刻输出到一个文件中。因此,例如,虽然我希望控制台上的输出提示我的命令等(虽然我仍然希望它也显示游戏中的事件),但我还想编写那些游戏中的事件,如球场、球将比赛、得分等信息放入我指定的一个特定文件中。
我尝试过使用 StreamWriter,但问题是:
- 我似乎只能允许我的文本输出到控制台或文件。
- 我不想所有我的文本输出到文件,只输出某些事件。
所以,这是我的代码输出在控制台上的示例(粗体部分是我希望在指定输出文件中作为控制台的内容,斜体部分是我的输入)。请注意,这里的布局并不像我希望的那样工作,但在我的控制台上看起来不错:
R H E LOB
Lady Sharks 0 0 0 0
Home Team 0 0 0 0
**Top 1**, 0 outs.
1B:
2B:
3B:
**1) K. Robinson #7** -- Today: 0 for 0
Count 0-0: *b*
**Ball.**
Count 1-0: *f*
**Foul Ball.**
Count 1-1: *p*
Ball is put in play.
Enter hit type (g/f): *g*
Enter hit zone (1-6): *4*
Enter result.
Choose from: 1b, 2b, 3b, hr, g, f, sh, sf, fc, e, gdp, di, bi
*1b*
Did the batter-runner advance any extra bases?
**In play, no out.
(1-1) K. Robinson singles on a ground ball to left field. 0 out.**
R H E LOB
Lady Sharks 0 1 0 0
Home Team 0 0 0 0
Top 1, 0 outs.
1B: K. Robinson #7
2B:
3B:
**2) S. Ribeiro #9** -- Today: 0 for 0
Count 0-0: *s*
**Swinging Strike.**
Count 0-1: *f*
**Foul Ball.**
Count 0-2: *s*
**Swinging Strike.**
Batter strikes out swinging. Confirm? (y/n)
*y*
Update status of runner on 1st, #7.
Batter may have reached base on exception. Indicate how many bases traveled with
"+" signs.
This will result in an out. Are you sure? (y/n)
*y*
**(0-2) S. Ribeiro strikes out swinging. 1 out.**
R H E LOB
Lady Sharks 0 1 0 0
Home Team 0 0 0 0
Top 1, 1 out.
1B: K. Robinson #7
2B:
3B:
**3) B. Sutton #11 -- Today: 0 for 0**
Count 0-0: *b*
**Ball.**
Count 1-0: *b*
**Ball.**
Count 2-0: *sb*
Select which base the runner attemped to steal from.
*1*
Runner steals second base. Confirm? (y/n)
*y*
**K. Robinson steals second base.**
R H E LOB
Lady Sharks 0 1 0 0
Home Team 0 0 0 0
Top 1, 1 out.
1B:
2B: K. Robinson #7
3B:
3) B. Sutton #11 -- Today: 0 for 0
Count 2-0: *p*
Ball is put in play.
Enter hit type (g/f): *g*
Enter hit zone (1-6): *3*
Enter result.
Choose from: 1b, 2b, 3b, hr, g, f, sh, sf, fc, e, gdp, di, bi
*sh*
Update status of runner on 2nd, #7.
*+*
Batter may have reached base on exception. Indicate how many bases traveled with
"+" signs.
This will result in an out. Are you sure? (y/n)
*y*
**In play, out(s).
(2-0) B. Sutton out on a sacrifice bunt. K. Robinson to 3rd. 2 outs.**
R H E LOB
Lady Sharks 0 1 0 0
Home Team 0 0 0 0
Top 1, 2 outs.
1B:
2B:
3B: K. Robinson #7
**4) S. Van Belleghem #29** -- Today: 0 for 0
Count 0-0: *p*
Ball is put in play.
Enter hit type (g/f): *f*
Enter hit zone (1-6): *5*
Enter result.
Choose from: 1b, 2b, 3b, hr, g, f, sh, sf, fc, e, gdp, di, bi
*f*
Update status of runner on 3rd, #7.
Middle of 1
**0 runs, 1 hit, 0 errors, 1 left on base**
Due up:
1) #1
2) #5
3) #3
Press enter to continue to Bottom 1.
同样,我只想将那些粗体部分写入一个文件,称为“游戏 7 日志”。然后我会为每场比赛做一个,这样我就可以保存每场比赛的这些记录,投球对投球,击球手对击球手。如果有人知道我如何将这些选定的文本放入一个文件中而不需要在我的控制台上取出任何信息,谢谢!
【问题讨论】: