C#进阶实践项目(俄罗斯方块)

CSharp进阶实践项目--俄罗斯方块

1.需求分析

2.复用贪吃蛇开始等场景切换的代码

(自己写一遍,不难!!!)

入口:

更新接口:

Game 类:

BeginOrEndBaseScene 类:

BeginScene 类:

EndScene 类:

GameScene类:

3.绘制对象基类和类型枚举

IDraw 接口:

Position 结构体:

DrawObject 类:

4.地图相关

Map 类:

5.方块信息类

BlockInfo 类:

6.搬砖工人类

BlockWorker 类:

GameScene 中调用:

7.方块变形

在搬砖工人类中添加方法

BlockWorker 类中:

并且创建了一个左右变形枚举:

在 DrawObject 类中添加--擦除方法:

Map 中加了 地图高--h:

GameScene 中调用修改:

8.方块左右移动

在搬砖工人类继续添加方法

BlockWorker 中:

GameScene 中调用:

9.方块自动向下移动

在搬砖工人类中添加方块向下移动的各个方法

BlockWorker 中:

GameScene 中调用:

10.输入线程

在GameScene 中更改线程相关:

11.消除整行方块

在Map 类中添加方法:

12.结束流程

先设置了方块出生位置

在 BlockWorker 中:(设置了位置)

在 DrawObject 中设置屏幕外不绘制和清除

在 Map 中设置顶格结束:

1.在 GameScene 中设置关闭线程相关

2.Map 中:

以上俄罗斯方块的全部功能都以实现!!!

13.拓展--优化线程(输入模块)

单例模式 + 委托 (好好学,好好看)

其实可以单独做为一个工具类,在其他小游戏中也可以经常使用。

在GameScene 中用上 输入模块

视频展示:

C#进阶实践项目(俄罗斯方块)

全部代码:

资源里

总结

要作为一个金典的案例来经常实践,学习老师的编程思想,各功能的分配和处理,理清逻辑关系。里面包含了C#进阶的重点知识,多消化吸收啊!!!

重点:要将每个小方块单独的储存起来,给每个小方块赋予类型和坐标,多线程的处理上要多借鉴吸收,理解 搬砖工人类(BlockWorker)的巧妙之处,递归的妙用之处,理解里面的逻辑关系,拓展拓展思维。

相关推荐

  1. C#-实现邮箱收发功能

    2024-03-18 12:48:04       32 阅读
  2. python实现俄罗斯方块小游戏

    2024-03-18 12:48:04       57 阅读
  3. 使用VHDL实现俄罗斯方块游戏设计

    2024-03-18 12:48:04       44 阅读
  4. 使用verilog实现俄罗斯方块游戏

    2024-03-18 12:48:04       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-18 12:48:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-18 12:48:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-18 12:48:04       87 阅读
  4. Python语言-面向对象

    2024-03-18 12:48:04       96 阅读

热门阅读

  1. gpu计算

    gpu计算

    2024-03-18 12:48:04      44 阅读
  2. 蓝桥杯--平均

    2024-03-18 12:48:04       47 阅读
  3. Elasticsearch(12) match_bool_prefix的使用

    2024-03-18 12:48:04       48 阅读
  4. RabbitMq——direct交换器和fanout交换器 扇形交换器

    2024-03-18 12:48:04       41 阅读
  5. uni-app多次触发事件,防止重复点击

    2024-03-18 12:48:04       41 阅读
  6. Sklearn K-均值算法

    2024-03-18 12:48:04       38 阅读
  7. Springboot中常用工具类

    2024-03-18 12:48:04       33 阅读
  8. OpenResty使用Lua大全(七)OpenResty使用全局缓存

    2024-03-18 12:48:04       48 阅读
  9. 软件测试行业的现状和前景?

    2024-03-18 12:48:04       46 阅读
  10. 比特币,区块链及相关概念简介(四)

    2024-03-18 12:48:04       52 阅读