c# VS2008 俄罗斯方块 期末大作业

先说在前面
期末到了要交大作业了
今天老师说了要求大概是这样:
大作业要求
还有这样:
教学反馈
知道消息以后的我十分崩溃,因为我觉得我的大作业还没有完善好。
那时候的我还在摆c
首先,想要怎么做俄罗斯方块,分哪几个类,怎样的界面
答:砖块类(7个砖块,里面要有判断能否变形移动即相应的方法—)、画布类(里面要有判断是不是可以变形,让砖块动按时往下走的方法,对应的变形左移右移下移的方法,产生下一个砖块的方法—)、音乐类(加载音乐、播放音乐的方法)、主窗口(要有游戏说明、开始暂停和退出、背景音乐的播放和停止、游戏窗口、下一个砖块的提示窗口)

硬着头皮打代码
换句话说 打代码就完事了

实现功能有(我的演示视频里好像不是这样写的,,,,):

  1. 随机生成砖块并显示
  2. 实现砖块的旋转和自动下落
  3. 有背景音乐,砖块消除和游戏失败的音效
  4. 玩家可以选择停止播放背景音乐

存在bug有(这个我没在大作业的实验提交里面写hhhh):

  1. 关了背景音乐但关不掉特效T-T(有时间打算暑假弄一个音乐播放器,因为soundplayer只能播放wav文件我也是疯了,mp3到wav文件的转码弄得我,,,后来才发现有直接转码的网站)
    https://www.aconvert.com/cn/audio/wav-to-mp3/
    我用的是这个
  2. 特效和背景音乐不能同时播放(百度到的解决方案行不通…)
  3. 那个判断是否满行的方法有问题,后来直接弄了两个for循环,如果连消两行砖块的话,,,,就会报错,所以不能实现消除的行数越多,所获得的分数越高的玩家需求- -
总体预览

总体预览

总体预览

brick

brick属性brick属性
brick方法
brick方法1
brick方法2


canvas

canvas总览canvas总览
canvas私有属性
canvas私有属性
canvas构造方法
canvas构造方法
canvas切换声音
canvas切换声音
canvas消除
canvas消除1canvas消除2
canvas移动
canvas移动
canvas定时方法
canvas定时方法


formmain

formmain总览formmain总览
formmain键盘按键
formmain键盘按键
formmain播放声音
formmain播放声音