前段时间帮人写了个俄罗斯方块的Demo,今天有时间分享下设计思路。

分析:

游戏中会出现7种形状,每种形状在游戏中都能够旋转,形成新的形状。每种形状都是由方形的色块组成的。

数据类:

Shape:形状类,总共7个。

Block:方块类,其实只有一个贴图的属性。

关于旋转:

为每个形状寻找旋转点,每个形状的旋转点都是固定的。

红色的点为参考点,所在行列为(x,y)

在Shape的数据中将旋转后的各个Block相对于红色Block的位置都记录下来,游戏中旋转的时候直接根据红色的Block确定其他的位置,整个Shape的移动也是通过这种方法实现的。

以下是按上面顺序的设置的数据。

Demo源码:http://bbs.tairan.com/thread-38448-1-1.html

俄罗斯方块的设计思路相关推荐

  1. Arduino制作俄罗斯方块小游戏(一)整体设计思路

    emmm,虽然标题是Arduino,但我其实用的不是Arduino,是chipKIT.为什么标题叫Arduino呢,因为玩Arduino的小白多啊. 你看,这就叫标题党[Doge] 虽然我的确不是用的 ...

  2. java毕业设计——基于Java+Java ME的无线网络移动端的俄罗斯方块游戏设计与实现(毕业论文+程序源码)——俄罗斯方块游戏

    基于Java+Java ME的无线网络移动端的俄罗斯方块游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+Java ME的无线网络移动端的俄罗斯方块游戏设计与实现,文章末尾附有 ...

  3. 俄罗斯方块的设计与实现

    最近看了一本软件工程方面的书籍,由于书中缺乏完整的实例,所以想从一个小项目入手以期能对软件工程多一点实践认识 ,首先我看了Qt5.6.3自带的俄罗斯方块例子(在我电脑里面的路径是C:\Qt\Qt5.6 ...

  4. 第 5 章 Nova - 025 - OpenStack 通用设计思路

    API 前端服务 每个 OpenStack 组件可能包含若干子服务,其中必定有一个 API 服务负责接收客户请求. 以 Nova 为例 nova-api 作为 Nova 组件对外的唯一窗口,向客户暴露 ...

  5. 亿级流量网关设计思路

    本文准备围绕七个点来讲网关,分别是网关的基本概念.网关设计思路.网关设计重点.流量网关.业务网关.常见网关对比,对基础概念熟悉的朋友可以根据目录查看自己感兴趣的部分. 什么是网关 网关,很多地方将网关 ...

  6. 传授“带权重的负载均衡实现算法”独家设计思路!

    作者|孙玄/陈东 分布式系统中,大部分系统调用都会涉及到负载均衡,例如:客户端发往服务端的请求首先到达反向代理,然后反向代理再通过负载均衡算法将请求转发到业务系统:或者后端业务系统各模块间的调用前,也 ...

  7. 会计期间在ERP开发中的设计思路

    会计期间在ERP开发中的设计思路 2010年08月03日00:00 it168网站原创  作者:IT168 阿峰  编辑:李倩 评论:1条 本文Tag: ERP ERP开发 系统分析 [IT168 专 ...

  8. “私有云”安全的“过渡”时期-“云朵”方案的设计思路

    一.私有云安全的尴尬现状 云计算因为能够提供虚拟化的资源池.弹性的服务能力.自助服务等,深得CIO们的青睐,为了提高企业IT设备的利用率,提高服务容灾的能力,提高对业务支撑的快速响应能力,大多数的企业 ...

  9. OpenStack 通用设计思路 - 每天5分钟玩转 OpenStack(25)

    API 前端服务 每个 OpenStack 组件可能包含若干子服务,其中必定有一个 API 服务负责接收客户请求. 以 Nova 为例,nova-api 作为 Nova 组件对外的唯一窗口,向客户暴露 ...

最新文章

  1. 计算机换用户无法启动软件,Windows无法启动. 原因可能是最近更改了硬件或软件故障的处理方法...
  2. python enumerate
  3. python numpy库安装winerror5_(转载)Numpy安装中遇到的问题和解决方法
  4. 在linux中安装软件会出的问题,linux中安装程序出现的问题
  5. 1.cocos2dx之Menu(CCMenuItemFont,CCMenuItemImage,CCMenuItemLabel,CCMenuItemSprite,CCMenuItemToggle)
  6. idea怎么将本地文件和远程git对比_IntelliJ IDEA将文件和文件夹与本地版本进行比较...
  7. 【儿童成长心理学】第一章 引言
  8. Command mysql 中文,MySQL Command Line[mysql命令行常用命令]_MySQL
  9. 中通知设置响铃_主动切断干扰源——手机“通知”精细化管理
  10. sqlsever 转mysql 出错 MySQL max_allowed_packet设置及问题
  11. MySQL的未来在哪?
  12. android 视频通话开启呼叫等待后,来第三方的视频通话,接通后通话时间一直显示为0,过几秒之后视频通话自己主动挂断...
  13. 适配4G模块 EC20 使用ppp拨号上网
  14. Linux基本操作之vi编辑器
  15. 通识3——1080i、1080p、2K、4K是什么意思?
  16. 计算机动画制作 课件,第四章 计算机动画的制作与编辑-课件(PPT).ppt
  17. win10禁用计算机维护,想要电脑不卡,你必须知道win10必须禁用的服务有哪些
  18. linux战争雷霆无法运行,《战争雷霆》Mac版下载及运行问题汇总
  19. C: integer overflow,隐式类型转换/整数加法溢出 解决方法示例;check_add_overflow;__builtin_add_overflow
  20. BiliBili下载.flv视频文件重命名

热门文章

  1. 移动商务进入战国时代 08年市场规模达306.5亿
  2. 解决Ubuntu 安装时Unable to fetch some archives connection failed [ip: 91.189.91.39 80]
  3. 工件SSMwar exploded 部署工件时出错。请参阅服务器日志了解详细信息
  4. 【源码】SIMULINK中的Logitech X-56 H.O.T.A.S飞行控制器
  5. MVC5-Scaffolder
  6. Mate50落后又贵,iPhone性能超强更便宜,消费者还期待华为?
  7. 电子邮件营销与MailChimp。它是适合你
  8. 最新瑞芯微四核芯片RK3288开源开发板
  9. 行业寒冬下,简历发了几千次已读不回,功能测试的出路在哪里?
  10. 百度地图转高德地图(火星坐标)高德地图(火星坐标)转百度地图