c#使用Graphics绘制俄罗斯方块图形

 时间:2026-02-14 00:14:24

1、先说下我的思路:

§1.画出几种图形 

§2.移动图形,左,右移动。 

§3.让图形在指定的范围内显示,正确的位置停止。

§4.让每种图形由用户控制旋转 

§5.当每一行图形全满后,能够将此行擦去 

§6.擦去一行后将上面所有的图形全部往下移

2、理想中的思路:

§定义三个类: 

§1.Huatu (画图)  类 用来画几种基本图形 

§2.Bianhuan (变换) 类 用来旋转图形 

§3.Panduan (判断) 类   限制图形在指定的位置,判断图形有某一行图形满后,消去一行 

§主程序做初始化工作,随机产生标志,产生某个图形。等等..

3、实际后来操作的方法与理论上有差距:

§因为三个类都会用到相同的数组,静态数组定义后实现不成功。中间变转换,有点麻烦,时间也稍晚了些。 §现在就用了一个类,程序规划待后继续。 

§旋转(bianhaun)和判断(panduan)类,都放到了画图(hautu)类里。

4、几种基础图形:

§每个图形用一个数组存放其位置

c#使用Graphics绘制俄罗斯方块图形

1、一、画图形1.自己定义图形的初始位置

c#使用Graphics绘制俄罗斯方块图形

2、二、用timer移动图形

§在Timer里不断改变每种图形数组的值,使得改变图形的位置 

§实现方法:先把当前位置的图形擦去,然后调用zhuanL(Z,T,l1)改变位置值,再在现在的位置画出新的图形。 

§ huatu.ca_L();         //把原来的图形擦去,

§ huatu.zhuanL();       //改变位置, 

§ huatu.hua_L();        //再画出图

3、2.擦、画图形

c#使用Graphics绘制俄罗斯方块图形

c#使用Graphics绘制俄罗斯方块图形

4、三、让图形在正确的位置显示

c#使用Graphics绘制俄罗斯方块图形

5、图形停止后,要做的工作

§1.重新产生,产生图形的随机数 

§2.把图形数组再赋初值

6、四、旋转图形

c#使用Graphics绘制俄罗斯方块图形

7、§图形模拟二维数组显示效果图:

c#使用Graphics绘制俄罗斯方块图形

8、判断是否落到别的图形上

§此步可以和判断图形显示的位置一起 

§定义了youtu数组之后: 

§在刚才的基础上只需判断youtu数组里的值是否为1即可,若为1则执行初始化的那段程序

9、五、判断一行已满,将此行消去

§定义一个数组public int [,] youtu=new int[1001,1001];//定义记录是否划到图,图停留

§在一个图形落下,停止后,把图形的位置用数组记录下来。把图形的位置放入数组的下标,把其值赋为1.

§图形显示框是一行21个图形,此时只需判断youtu数组里一行中的每一个值都是1,则说明这一行已满。

c#使用Graphics绘制俄罗斯方块图形

10、六、将上面的图形全部往下移

c#使用Graphics绘制俄罗斯方块图形

  • 软件测试中的回归测试的风险
  • 公司局域网带密码共享文件——简单设置
  • 眉妆的化妆技巧
  • 秘制凤爪肉蟹煲的做法
  • Matlab调用Refprop 8的方法(针对64位系统)
  • 热门搜索
    4月份适合去哪里旅游 西安著名旅游景点 淀山湖旅游 成都到九寨沟旅游攻略 刘公岛旅游攻略 四川宜宾旅游景点 广西巴马旅游攻略 芜湖旅游景点大全 旅游项目策划方案 昆明大理丽江旅游攻略