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

更新 - - - - - 可运行全代码传送门,请点击!!!!!

先说在前面
期末到了要交大作业了
今天老师说了要求大概是这样:
c# - 期末大作业:俄罗斯方块_第1张图片
还有这样:
教学反馈
知道消息以后的我十分崩溃,因为我觉得我的大作业还没有完善好。
那时候的我还在摆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循环,如果连消两行砖块的话,,,,就会报错,所以不能实现消除的行数越多,所获得的分数越高的玩家需求- -
总体预览

c# - 期末大作业:俄罗斯方块_第2张图片

c# - 期末大作业:俄罗斯方块_第3张图片

brick

brick属性c# - 期末大作业:俄罗斯方块_第4张图片
brick方法
c# - 期末大作业:俄罗斯方块_第5张图片
c# - 期末大作业:俄罗斯方块_第6张图片


canvas

canvas总览c# - 期末大作业:俄罗斯方块_第7张图片
canvas私有属性
c# - 期末大作业:俄罗斯方块_第8张图片
canvas构造方法
c# - 期末大作业:俄罗斯方块_第9张图片
canvas切换声音
c# - 期末大作业:俄罗斯方块_第10张图片
canvas消除
c# - 期末大作业:俄罗斯方块_第11张图片c# - 期末大作业:俄罗斯方块_第12张图片
canvas移动
c# - 期末大作业:俄罗斯方块_第13张图片
canvas定时方法
c# - 期末大作业:俄罗斯方块_第14张图片


formmain

formmain总览c# - 期末大作业:俄罗斯方块_第15张图片
formmain键盘按键
c# - 期末大作业:俄罗斯方块_第16张图片
formmain播放声音
c# - 期末大作业:俄罗斯方块_第17张图片

你可能感兴趣的:(C#)