回 帖 发 新 帖 刷新版面

主题:俄罗斯方块3D(程序+源码)&浅谈游戏编程架构

[b]我只不过把我作的东西发出来给大家看,猪头王子却说“你作东西就是为了炫耀”我永远不会忘记这句话的,永远!!!既然说我是炫耀,“给人以挫败感”那我以后再也不会来这PFAN了!!!这个贴子希望飞燕删除了吧!!![/b]

回复列表 (共29个回复)

11 楼

都在这边讨论拉,支持下

12 楼

小小C,看了你的代码,只用一个词可以形容:封装。一层一层的封装。一个三岁小儿闭着眼睛也能写出来的俄罗斯方块,也被你搞得这么复杂。哈哈,你总是从大局上,从设计的角度去思考C++,而一般的人是从底层的角度去考虑。你在设计一个类的时候,肯定这样想:这个类,负责什么什么,任务交给你了,你一定要完成!而不去想要是它完不成怎么办。而一般的人就不会这么想。也许,你可以成为架构师,努力吧。

还有你的代码中,这个函数我觉得非常的好:
////////////////////////////////////////////////////////////////
//旋转一个方块,注意这里的行,和列分别代表y和x!
//Out_x = -In_y + Pos_y + Pos_x;
//Out_y = In_x - Pos_x + Pos_y;

/*旋转矩阵:
|    0        1        0    |
|   -1        0        0    |
|  px+py  -px+py    1    |
*/
////////////////////////////////////////////////////////////////
void BlockRotation( CBlock &newBlock, const POSITION &pos, const CBlock &oldBlock )
{
    newBlock.m_Position.col = pos.row + pos.col - oldBlock.m_Position.row;
    newBlock.m_Position.row = oldBlock.m_Position.col - pos.col + pos.row;
}

你用一个矩阵实现了方块的转动,把这个复杂的问题处理得如此简单,不错。

13 楼

编译通不过!少一个文件,以后少文件的不要发上来好不。我本来还想把这个改一改,当做我的作业的!

14 楼

一个类的设计,不仅要看能不能实现功能,还要能否被扩展
不要因达到某目的而写,应该因写而达到某个目的
拒绝复制,支持重用

15 楼

12,13楼两位你们很无聊吗??

16 楼

嗯,不错,不错
虎成也编过,不过没法跟你这个比

哈哈,我要向你学习!

17 楼

我顶!

18 楼

学习哦

19 楼

我在努力,,赶上你门....
             我才入门,,你说我有希望吗??自己觉得编程好难啊...

20 楼

编的不错

我来回复

您尚未登录,请登录后再回复。点此登录或注册