• 俄罗斯方块源码解析(带下载)[1]


    说在前头的:

    自认为写程序也有那么一段时间了,对面向对象编程还是有那么一丁点理解 (虽然现在一说OOP之类的文章 啊 网上满天飞)。

    大师称不上 见笑了哈 小菜一个。

    搞asp.net这么久了,网上一搜什么 web方面的 满天飞

    搜几篇winform的文章 弄死找不到,本人很菜。一个winform快捷键的问题解决不了

    (winform上方了文本框控件 点了文本框或者按钮后 winform的keydown事件就失灵了 焦点就停留在文本框或者 按钮上)

    (以前没弄过 并且很菜 无奈最后只好把面板上的按钮 控件去掉了,顺便说下 哪位高手知道的话指点下 感激不尽)

    网上搜了半天还是没解决,哎 这年头 人都喜欢跟风。

    本来是想找个c#的俄罗斯方块源码研究下的 但是木找到。

    这几天中秋 无聊 ,于是突发奇想自己写个玩玩。

    本人发誓 在写这个程序之前绝对木有看过 任何其他俄罗斯方块的源码,我写的这个也是俄罗斯方块

    绝对正宗俄罗斯滴 变态版 ,不是俄罗斯滴你找我

    在这之前先废话下 别打我 ^_^

    好 正题:

    基本结构:

    shape类    代表四个方块的组合(组合的方式在shape里面定义 )

    gameArea类  容器(用来存放方块的,存放堆积起来的方块)

    game类    主调程序,(包括开始游戏 显示容器里堆积起来的方块 计算分数 左移 右移 等)

    这看上去貌似有点象 MVC设计模式 ,差不多吧 反正面向对象编程嘛 ,我又不是大师 有那么点对象的设计的感觉就行

    如图:

    主调程序里的成员列表:

    display()     显示容器里堆积起来的方块 跟正在下落的方块

    go()       主调函数,这个只可意会 大概意思就是 1 Step(走一步 判断如果没有游戏结束 则又走一步 如此往复。。。直到游戏结束)

    left()      左移

    right()      右移

    pivot()      顺时针旋转(这绝对是全新的算法 非硬编码 自动判断图形轮廓 然后根据一个基准点旋转,跟fc上的那种旋转不一样的)

    start()      开始一个游戏

    end()      结束一个游戏

    score      得分

    isOver      游戏是否结束

    如图(只看公共方法即可):

    关于代码请看第二章

  • 相关阅读:
    作为平台的Windows PowerShell(一)
    PowerShell中的数学计算
    PowerShell远程安装应用程序
    CRC码计算
    HTTP API 设计指南
    Restfull API 示例
    使用HttpClient 发送 GET、POST、PUT、Delete请求及文件上传
    函数可重入性及编写规范
    Python3中的http.client模块
    python用httplib模块发送get和post请求***
  • 原文地址:https://www.cnblogs.com/assassinx/p/1833674.html
Copyright © 2020-2023  润新知