自己在上无意下载了一个flash钢琴小游戏,突然有了灵感,把它写成C#的,不是更有意思了么?
(旧博客转移自此的,原文发表时间:
2009-03-13 13:14:22)
于是就产生了这个小游戏,由于是初学,遇到几个问题还没有解决,希望大家能帮助我:
1:按下键盘的任意一个字母键就会发出一个音符的音,但是再接着按第二个键,第一个键的音符还没有响完,突然就停止,这样感觉很僵硬。。
2:我用StreamReader读取文本文件(歌词和“谱子”),没有换行了,我学的不多,还解决不了这个问题,大家帮帮我啊!
3:用了N多的switch语句,26个字母就要用26个case,觉得这方法太笨了,但是自己也一下子想不起什么好方法
![](https://i-blog.csdnimg.cn/blog_migrate/93047f039c0ed2ac2d81a53382e7db9c.jpeg)
部分代码:
按下字母键,不同音符声音响起:
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
1
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
读取歌词的文本文件的代码,也遇到了问题:
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
1 private void Form1_Load(object sender, EventArgs e)
2 {
3 try
4 {
5 string songFile = "song.txt";
6
7 StreamReader sr = new StreamReader(songFile, Encoding.Default);
8 string s;
9
10 while ((s = sr.ReadLine()) != null)
11 {
12 txtSong.AppendText(s);
13
14 }
15 sr.Close();
16 }
17 catch (Exception ex)
18 {
19 MessageBox.Show(ex.Message);
20 }
21
22 }