在这段java代码--俄罗斯方块,方块是怎么旋转的? 5

 我来答
totobi毕
2020-09-03 · TA获得超过480个赞
知道小有建树答主
回答量:295
采纳率:91%
帮助的人:107万
展开全部
贴出来的代码还不够,不过已经基本能回答你的问题了
我的推理过程:从(turnstate+1)%4可以看出,turnstate是一个数字,取值只有0123,因此它仅仅是一个标识符,0123四种取值分别标记着这个方块处于原状,旋转90度,180度或者270度。然后blow函数应该是一个判断旋转之后会不会出现和已有方块重叠的函数。
因此,这个turn函数的功能是:把标识符变成下一个状态,然后判断如果旋转,会不会和已有的方块重叠,如果重叠,就取消这个旋转标记的改变。
因此,答案就很明显了:真正实现旋转方块的操作并不在这里,或者说,你再仔细研究一下这个程序的代码,它可能实际上根本没有旋转过那个方块,只是用turnstate这个数字标记方块旋转了多少度,判断重叠以及绘制的时候才真正计算或者从表里直接读取旋转后状态而已。
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
阳光的雷咩咩
2020-09-02 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7840万
展开全部
逻辑肯定是在repaint里
所谓的旋转,不过是根据方向,把二维数组填充到界面的过程
追答
repaint有可能是控件的方法,控件调用了paint方法
在paint里面,for (j = 0; j < 16; j++) 每个元素代表方块的一个格子,每个格子的内容代表一种颜色填充
旋转,实际上就是得到一个重新排列的数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式