前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >俄罗斯方块积木表示

俄罗斯方块积木表示

作者头像
逍遥剑客
发布2018-05-21 14:48:32
7020
发布2018-05-21 14:48:32
举报
文章被收录于专栏:逍遥剑客的游戏开发

积木表示

一种有7种积木:

■ ■

■■ ■■ ■■ ■■

■ ■■ ■ ■■ (正反两种)

■ ■■

■ ■■■ ■ ■

■■ ■ ■ ■■■

■ ■■

■ ■ ■ ■■■

■■ ■■■ ■ ■

■■

■■

■ ■■■■

■ ■ ■

■■■ ■■ ■■■ ■■ (共计19件积木)

■ ■ ■

可以用一个三维数组block[4][4][4]来表示每个积木,第一维用于表示积木的四种旋转状态,后两维用4x4的0/1数字阵来表示这几种积森的形状,如:

{

{

{0, 0, 1, 0},

{0, 0, 1, 0},

{0, 1, 1, 0},

{0, 0, 0, 0}

},

{

{0, 0, 0, 0},

{0, 1, 0, 0},

{0, 1, 1, 1},

{0, 0, 0, 0}

},

{

{0, 0, 0, 0},

{0, 1, 1, 0},

{0, 1, 0, 0},

{0, 1, 0, 0}

},

{

{0, 0, 0, 0},

{1, 1, 1, 0},

{0, 0, 1, 0},

{0, 0, 0, 0}

}

}//这是L形的积木

一字形和Z形的还有田字的积木也按4种状态来做,只不过状态有重复而已,这样就不用为不同的积木用不同的旋转方法了

积木的变形

积木的变形很好做,就是循环把相当积木矩阵中的旋转状态读出来

比如当前积木是block [4][4],假设丁字形积木的数组为block2[4][4][4],那么旋转就是将block2[0],block[1],block[2],block[3]…->block[0]循环赋给block数组。每旋转一次当前旋转值(即数组的索引,范围为{0,1,2,3})加一,如果等于4,则重新归0

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2007年03月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档