主题:俄罗斯方块3D(程序+源码)&浅谈游戏编程架构
小小C
[专家分:4570] 发布于 2007-09-29 16:06:00
[b]我只不过把我作的东西发出来给大家看,猪头王子却说“你作东西就是为了炫耀”我永远不会忘记这句话的,永远!!!既然说我是炫耀,“给人以挫败感”那我以后再也不会来这PFAN了!!!这个贴子希望飞燕删除了吧!!![/b]
最后更新于:2008-01-10 09:54:00
回复列表 (共29个回复)
11 楼
FUZM [专家分:80] 发布于 2007-09-30 14:58:00
都在这边讨论拉,支持下
12 楼
国之骄子 [专家分:90] 发布于 2007-09-30 15:00:00
小小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 楼
熊猫烧香 [专家分:110] 发布于 2007-09-30 15:02:00
编译通不过!少一个文件,以后少文件的不要发上来好不。我本来还想把这个改一改,当做我的作业的!
14 楼
FUZM [专家分:80] 发布于 2007-09-30 15:34:00
一个类的设计,不仅要看能不能实现功能,还要能否被扩展
不要因达到某目的而写,应该因写而达到某个目的
拒绝复制,支持重用
15 楼
雨中飞燕 [专家分:18980] 发布于 2007-09-30 18:56:00
12,13楼两位你们很无聊吗??
16 楼
hucheng [专家分:890] 发布于 2007-10-01 02:54:00
嗯,不错,不错
虎成也编过,不过没法跟你这个比
哈哈,我要向你学习!
17 楼
C的问题 [专家分:70] 发布于 2007-10-02 19:30:00
我顶!
19 楼
ddww123ddww [专家分:0] 发布于 2007-10-09 22:50:00
我在努力,,赶上你门....
我才入门,,你说我有希望吗??自己觉得编程好难啊...
我来回复