C#钢琴游戏

自己在上无意下载了一个flash钢琴小游戏,突然有了灵感,把它写成C#的,不是更有意思了么?
(旧博客转移自此的,原文发表时间: 2009-03-13 13:14:22)
于是就产生了这个小游戏,由于是初学,遇到几个问题还没有解决,希望大家能帮助我:
1:按下键盘的任意一个字母键就会发出一个音符的音,但是再接着按第二个键,第一个键的音符还没有响完,突然就停止,这样感觉很僵硬。。
2:我用StreamReader读取文本文件(歌词和“谱子”),没有换行了,我学的不多,还解决不了这个问题,大家帮帮我啊!
3:用了N多的switch语句,26个字母就要用26个case,觉得这方法太笨了,但是自己也一下子想不起什么好方法
 
部分代码:
按下字母键,不同音符声音响起:
ContractedBlock.gif ExpandedBlockStart.gif Code
 1private void Form1_KeyDown(object sender, KeyEventArgs e) 
 2ExpandedBlockStart.gifContractedBlock.gif                
 3                        keyChar =(char)e.KeyCode; 
 4 
 5                        switch (keyChar) 
 6ExpandedSubBlockStart.gifContractedSubBlock.gif                        
 7                                case 'A'
 8                                        lbl_a1.BackColor = Color.Gainsboro; 
 9                                        myPlay = new SoundPlayer(Properties.Resources.g_a1); 
10                                        myPlay.Play(); 
11                                        break
12                                case 'B'
13                                        lbl_a2.BackColor = Color.DimGray; 
14                                        myPlay = new SoundPlayer(Properties.Resources.g_a2); 
15                                        myPlay.Play(); 
16                                        break
17                                case 'C'
18                                        lbl_a3.BackColor = Color.Gainsboro; 
19                                        myPlay = new SoundPlayer(Properties.Resources.g_a3); 
20                                        myPlay.Play(); 
21                                        break
22//一下省略部分 
23                        }
 
24                }
读取歌词的文本文件的代码,也遇到了问题:
ContractedBlock.gif ExpandedBlockStart.gif Code
 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                 }
 

转载于:https://www.cnblogs.com/nest/archive/2009/04/25/1443488.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值