Board logo

标题: PS3,XO// [BURNOUT 5] 首批画面公布~~~~ [打印本页]

作者: haynes    时间: 2007-4-3 21:54     标题: PS3,XO// [BURNOUT 5] 首批画面公布~~~~

年内推出
作者: 顶级FORD    时间: 2007-4-3 21:56

谨代表软饭求一下两机效果对比图
作者: 788414    时间: 2007-4-3 21:57


PS3的画面很棒

XO的也还行

WII?哭都哭不出来.........
作者: haynes    时间: 2007-4-3 21:57

第3张图有官方解释两个版本画面的文字

哈哈
作者: Kuzuryuusen    时间: 2007-4-3 21:59

引用:
原帖由 顶级FORD 于 2007-4-3 21:56 发表
谨代表软饭求一下两机效果对比图
谨代表看热闹饭请求帖图的时候不要标明到底是xo还是ps3
作者: 北洋战神雷国志    时间: 2007-4-3 22:06

这游戏感觉交给EA后就废掉鸟
作者: lastescaper    时间: 2007-4-3 22:10

神作必入啊
作者: carnon    时间: 2007-4-3 22:13

PS3对应1080p,xo无
对应6轴,xo无
用spe更精确的计算物理效果,xo无

翻译完毕:D
作者: austin316    时间: 2007-4-3 22:19

着力打造了PS3版  不过对该系列兴趣淡了
作者: gLaiVe    时间: 2007-4-3 22:25

强烈期待,xo的感觉还真是不够诚意。。
作者: BeastMa    时间: 2007-4-3 22:25

画面看上去也就和“要速度:想要更多~”差不多水平。
作者: doomking    时间: 2007-4-3 22:26

又一个系列在某集团嘴里没落了
作者: RestlessDream    时间: 2007-4-3 22:27

引用:
原帖由 carnon 于 2007-4-3 22:13 发表
PS3对应1080p,xo无
对应6轴,xo无
用spe更精确的计算物理效果,xo无

翻译完毕:D
字好小……求原文……
作者: yansqx    时间: 2007-4-3 22:29

没有振动才算没落吧?
作者: 大家好我是小叮当    时间: 2007-4-3 22:29

引用:
原帖由 carnon 于 2007-4-3 22:13 发表
PS3对应1080p,xo无
对应6轴,xo无
用spe更精确的计算物理效果,xo无

翻译完毕:D
很明显,
XO对应震动,PS3无

anything make sense ?
作者: RestlessDream    时间: 2007-4-3 22:30

引用:
原帖由 doomking 于 2007-4-3 22:26 发表
又一个系列在某集团嘴里没落了
???何出此言

BurnOut必入~
作者: ffcactus    时间: 2007-4-3 22:30

多平台游戏的效果差别,估计要随着时间慢慢转向了。
作者: 隐的游戏    时间: 2007-4-3 22:31

复仇其实还凑活


作者: 大家好我是小叮当    时间: 2007-4-3 22:31

引用:
原帖由 ffcactus 于 2007-4-3 22:30 发表
多平台游戏的效果差别,估计要随着时间慢慢转向了。
祝你成功:D

作者: gLaiVe    时间: 2007-4-3 22:32

引用:
原帖由 RestlessDream 于 2007-4-3 22:27 发表


字好小……求原文……
在上面阿。。。不过这种游戏要真是没有震动的话感觉是会差很多
作者: 大家好我是小叮当    时间: 2007-4-3 22:32

引用:
原帖由 doomking 于 2007-4-3 22:26 发表
又一个系列在某集团嘴里没落了
我代表该集团承认这个事实
怎样?
作者: RestlessDream    时间: 2007-4-3 22:32

引用:
原帖由 ffcactus 于 2007-4-3 22:30 发表
多平台游戏的效果差别,估计要随着时间慢慢转向了。
这是挖坑自埋么?
作者: NamcoFAN2003    时间: 2007-4-3 22:33

5都要出了..
作者: RestlessDream    时间: 2007-4-3 22:33

引用:
原帖由 gLaiVe 于 2007-4-3 22:32 发表
在上面阿。。。不过这种游戏要真是没有震动的话感觉是会差很多
第三张图实在看不清……

TakeDown的时候没有震动……嗯,不想象了……
作者: 788414    时间: 2007-4-3 22:35

好快啊
作者: 软变硬    时间: 2007-4-3 22:36

渣游戏,玩了2分钟就扔了
作者: NintendoWii    时间: 2007-4-3 22:36

X360你为什么要三红呢
作者: 大家好我是小叮当    时间: 2007-4-3 22:36

引用:
原帖由 RestlessDream 于 2007-4-3 22:33 发表


第三张图实在看不清……

TakeDown的时候没有震动……嗯,不想象了……
PS3对应六轴...
可以拿着六轴自己摇的,


可以左右摇:
喏,就好像这样

也可以上下摇:
喏,就好像那样

还可以侧着摇:
喏:好像这样

实在不爽,
咱就这么滚着摇

[ 本帖最后由 大家好我是小叮当 于 2007-4-3 22:38 编辑 ]
作者: 没钱的命    时间: 2007-4-3 22:37

没震动 玩此系列有劲道吗
作者: 788414    时间: 2007-4-3 22:39

猛男好H......

劲敌啊..............
作者: 隐的游戏    时间: 2007-4-3 22:41

引用:
原帖由 大家好我是小叮当 于 2007-4-3 22:36 发表


PS3对应六轴...
可以拿着六轴自己摇的,

可以左右摇:
喏,就好像这样

也可以上下摇:
喏,就好像那样

还可以侧着摇:
喏:好像这样

实 ...
   猛男嗲
作者: ddaaii    时间: 2007-4-3 22:43

这个能算2流吗?
作者: RestlessDream    时间: 2007-4-3 22:43

替任饭喷一句:

Wii被无视了~
作者: 788414    时间: 2007-4-3 22:45

任饭都躲在墙角发抖呢,他们在害怕
在恐惧........他们嘴上不承认,说什么游戏性,真是好笑

游戏性是什么?能把480的画面提升成1080P?YY去吧......

PS3满塞!!!XO?诶..............
作者: carnon    时间: 2007-4-3 22:45

引用:
原帖由 大家好我是小叮当 于 2007-4-3 22:29 发表


很明显,
XO对应震动,PS3无

anything make sense ?
我只会翻译我所看到的,本人从不臆想,话说那里写着有震动了?

[ 本帖最后由 carnon 于 2007-4-3 22:46 编辑 ]
作者: 软变硬    时间: 2007-4-3 22:47

  这代画面看起来还不错,有点期待的价值了.
不过还是希望出三红版的画面能更好些,而且有震动 关键是有D,
神姬版的画面再好,没有D那也只有算了.
作者: RestlessDream    时间: 2007-4-3 22:47

引用:
原帖由 ddaaii 于 2007-4-3 22:43 发表
这个能算2流吗?
自从攀高枝嫁给EA后就开始被骂了,最近被骂得最猛的是某PSP版

参考此帖

http://www.tgfcer.com/club/viewthread.php?tid=5849890
作者: RestlessDream    时间: 2007-4-3 22:49

引用:
原帖由 carnon 于 2007-4-3 22:45 发表
我只会翻译我所看到的,本人从不臆想,话说那里写着有震动了?
我看了一下Burnout Revenge Xbox 360版的包装

上面好像也没写会震动……

难道我手里的手柄震动是幻觉?


作者: carnon    时间: 2007-4-3 22:53

这篇文章的确没写有震动啊,希望如你所愿:D
作者: 顶级FORD    时间: 2007-4-3 22:55

ps3有特殊的操控方式:我们有振动
ps3画面更好1080p:渣游戏
ps3为中心开发spe活用:对不起字太小看不清楚

我看到了鸵鸟的小jj
作者: 没钱的命    时间: 2007-4-3 22:55

想体验无震动版本的Burnout5

选PS3
作者: NamcoFAN2003    时间: 2007-4-3 22:55

还是等有震动的算了...
作者: ffcactus    时间: 2007-4-3 22:56

如今也只有振动可以多多聊上几句了。
作者: zwl    时间: 2007-4-3 22:56

引用:
原帖由 大家好我是小叮当 于 2007-4-3 22:29 发表


很明显,
XO对应震动,PS3无

anything make sense ?
PS3本来就 没震动, 当然不对应

XO不是有1080P嘛,不是计算物理效果很牛嘛.为什么会没有呢,为什么?
作者: NamcoFAN2003    时间: 2007-4-3 22:57

XO的1080P画面只是变大了...
作者: ffcactus    时间: 2007-4-3 23:02

引用:
原帖由 顶级FORD 于 2007-4-3 22:55 发表
ps3有特殊的操控方式:我们有振动
ps3画面更好1080p:渣游戏
ps3为中心开发spe活用:对不起字太小看不清楚

我看到了鸵鸟的小jj
何必这么直白.
作者: RestlessDream    时间: 2007-4-3 23:03

引用:
原帖由 顶级FORD 于 2007-4-3 22:55 发表
ps3有特殊的操控方式:我们有振动
ps3画面更好1080p:渣游戏
ps3为中心开发spe活用:对不起字太小看不清楚

我看到了鸵鸟的小jj
我的确想看一下原文

有关spe活用增强物理计算的新闻在几个游戏上传过了?

有实际例子么?

烂泥摩托用的同样是Havok,有资料证明多几个spe可以增强havok的计算力?

这游戏还没出来,就激动地要给PS3版正名了么?

我看到了坡脚鸭的小pp
作者: 顶级FORD    时间: 2007-4-3 23:08

你也知道游戏还没出来啊

那急急忙忙蒙眼射出个什么劲

原文清清楚楚,楼主还给你把页数指出来了,“字太小,请允许我选择性老花眼/青光眼”,别人给翻译了“给我看原文”,哈哈,老人家你很高明

spe肯定用不好,六轴肯定不如振动,游戏肯定渣,“游戏还没出来”(你的原话哦),你怎么知道的一清二楚呢,嘿嘿嘿~
作者: ffcactus    时间: 2007-4-3 23:10

引用:
原帖由 RestlessDream 于 2007-4-3 23:03 发表


我的确想看一下原文

有关spe活用增强物理计算的新闻在几个游戏上传过了?

有实际例子么?

烂泥摩托用的同样是Havok,有资料证明多几个spe可以增强havok的计算力?

这游戏还没出来,就激动地要给 ...
http://www.gamespot.com.cn/hardware/story/0,3800070571,39323771,00.htm
世界最强物理引擎Havok发布4.5版 针对PS3优化
来源:GameSpot,责编: 杨亮(microkof)
发布时间:2007-01-29 18:02:29
  以开发物理引擎“Havok”驰名游戏界的Havok公司,日前宣布了他们最新的物理引擎“Havok 4.5”,最新的这个引擎针对PC/PS3/Xbox360/Wii等平台设计,而且对PS3还有更充分的最佳化,将提供惊人的性能提升。

  这次“Havok 4.5”包含物理引擎Havok Physics,以及动画制作引擎Havok Animation、人物行为模拟引擎Havok Behavior,以及以特效处理引擎Havok FX等部份,比起之前版本“Havok 4.0”有很大的进步。不过Havok公司还特别强调这次“Havok 4.5”针对PS3有特别优化,使CELL处理器内部的七颗SPE运算单位能充分发挥运算性能,让PS3在运算“Havok 4.5”物理引擎时,会比“Havok 4.0”版本甚至效能提升5~10倍!

  目前有不少PS3游戏也开始导入“Havok 4.5”物理引擎,或许过些时候大家就能看到PS3强大威力的爆发了。








http://www.playbeyond.cn/archives/date/2007/01/
著名的游戏物理引擎开发商Havok公司上周宣布了最新产品“Havok 4.5”,它针对PC/PS3/Xbox360/Wii等平台设计,而且对PS3还有更充分的最佳化,将提供惊人的性能提升。

这次“Havok 4.5”包含物理引擎Havok Physics,动画制作引擎Havok Animation、人物行为模拟引擎Havok Behavior,以及以特效处理引擎Havok FX等部份,比起之前版本“Havok 4.0”有很大的进步。不过Havok公司还特别强调这次“Havok 4.5”针对PS3有特别优化,使CELL处理器内部的七颗SPE运算单位能充分发挥运算性能,让PS3在运算“Havok 4.5”物理引擎时,会比“Havok 4.0”版本甚至效能提升5~10倍!

领导《Motorstorm》开发的Scott Kirkland说,Motostorm中有众多的环境互动和物体的相互碰撞,各种混乱破碎的场面,这都需要很多物理处理能力,感谢Havok提供了这一出色产品,我们期待和Havok团队合作。
作者: 顶级FORD    时间: 2007-4-3 23:12

楼上,何必这么直白呢:D

另外
“字太小了”
“我想看一下原文”
“渣文章”
作者: RestlessDream    时间: 2007-4-3 23:15

引用:
原帖由 ffcactus 于 2007-4-3 23:10 发表
http://www.gamespot.com.cn/hardware/story/0,3800070571,39323771,00.htm
世界最强物理引擎Havok发布4.5版 针对PS3优化
来源:GameSpot,责编: 杨亮(microkof)
发布时间:2007-01-29 18:02:29
  ...
这消息我还翻译过呢

Havok 4.5针对PS3优化,你怎么不想想是不是因为之前的4.0优化得太差

从这个新闻里可以看出Havok在PS3上跑的比XO上好么?

Oblivion用的也是Havok,PS3版刚出,或许可以比较下?
作者: ffcactus    时间: 2007-4-3 23:16

引用:
原帖由 顶级FORD 于 2007-4-3 23:12 发表
楼上,何必这么直白呢:D

另外
“字太小了”
“我想看一下原文”
“渣文章”
我只是用goole随便搜了一下而已.
作者: RestlessDream    时间: 2007-4-3 23:17

引用:
原帖由 顶级FORD 于 2007-4-3 23:08 发表
你也知道游戏还没出来啊

那急急忙忙蒙眼射出个什么劲

原文清清楚楚,楼主还给你把页数指出来了,“字太小,请允许我选择性老花眼/青光眼”,别人给翻译了“给我看原文”,哈哈,老人家你很高明

spe肯定 ...
我不过求个原文,因为我不认为有厂商会傻到把自己的全平台游戏面对媒体做这种把某个版本的优势夸大出来讲的访谈

我的视力很健全,感谢关心
作者: 软变硬    时间: 2007-4-3 23:18

我想知道这个东西物理做得再好有什么用?  无非就是让你看看车体破碎的样子,对游戏性产生不了任何的影响.
现在S青就只能挂在"物理"这个东西上狂吹 特吹了.
作者: freesound7910    时间: 2007-4-3 23:19

选择性失明?

算了 还是休息去吧~~
作者: 大家好我是小叮当    时间: 2007-4-3 23:19

六轴有个P用...
这话是我说的,:D
咋的?
六轴难道真的有用吗?
哦对,COD3里似乎用过,
就是这么这么这么这么 玩的...
六轴有啥用?

至于啥SPE活用的事儿,
嘿嘿...
我就记得PS2上的256阶感应力度...
还是那句话:有个P用

等有了真实画面比较再吹吧...
某些索饭现在真是饥不择食了...
BO这样的游戏也可以用来那个那个...

大家都悠着点儿...
急啥捏?
作者: RestlessDream    时间: 2007-4-3 23:20

引用:
原帖由 顶级FORD 于 2007-4-3 23:12 发表
楼上,何必这么直白呢:D

另外
“字太小了”
“我想看一下原文”
“渣文章”
渣文章这句是你发明的,请你自用

图就在这里,麻烦你type下一两行关键的原文?


作者: ffcactus    时间: 2007-4-3 23:20

引用:
原帖由 RestlessDream 于 2007-4-3 23:15 发表


这消息我还翻译过呢

Havok 4.5针对PS3优化,你怎么不想想是不是因为之前的4.0优化得太差

从这个新闻里可以看出Havok在PS3上跑的比XO上好么?

Oblivion用的也是Havok,PS3版刚出,或许可以比较下?
"Havok 4.5针对PS3优化,你怎么不想想是不是因为之前的4.0优化得太差"
------这么另类的想法,我确实没有想到啊

"从这个新闻里可以看出Havok在PS3上跑的比XO上好么?"
------这个也确实没有用文字直接表露出来.

"Oblivion用的也是Havok,PS3版刚出,或许可以比较下?"
------这个4.5好象也就是1月分才出来.一个游戏从运用Havok4.0 到 4.5,想较好的运用,想必也不是轻松的再编译一次这么简单吧.


------总之,您的问题,又让我想起了中学里的阅读理解.
作者: 软变硬    时间: 2007-4-3 23:21

引用:
原帖由 大家好我是小叮当 于 2007-4-3 23:19 发表
六轴有个P用...
这话是我说的,:D
咋的?
六轴难道真的有用吗?
哦对,COD3里似乎用过,
就是这么这么这么这么 玩的...
六轴有啥用?

至于啥SPE活用的事儿,
嘿嘿...
我就记得P ...
6轴可以用在被敌人抱住的时候,上下摇晃
作者: solopain    时间: 2007-4-3 23:21

说实话,我感觉目前三个主机没多少好玩的,尤其是ps3和xo,一提到xo就是gow,就象一提到psp,就mhp一样.ps3就更别说了,游戏才20几个,也是,发售时间短,
作者: ffcactus    时间: 2007-4-3 23:22

引用:
原帖由 软变硬 于 2007-4-3 23:18 发表
我想知道这个东西物理做得再好有什么用?  无非就是让你看看车体破碎的样子,对游戏性产生不了任何的影响.
现在S青就只能挂在"物理"这个东西上狂吹 特吹了.
原来在您的眼力,这些都是浮云,看来老衲真的是老了。
作者: 顶级FORD    时间: 2007-4-3 23:23

引用:
原帖由 软变硬 于 2007-4-3 23:18 发表
我想知道这个东西物理做得再好有什么用?  无非就是让你看看车体破碎的样子,对游戏性产生不了任何的影响.
现在S青就只能挂在"物理"这个东西上狂吹 特吹了.
高清做的再好有什么用?无非就是解析度高一点,对游戏性产生不了任何的影响
3d做的再好有什么用?无非就是可以转转视角,对游戏性产生不了任何的影响
发色数做的再多有什么用?无非就是鲜艳一点,对游戏性产生不了任何的影响

哈哈哈哈,恭喜你超脱宇宙看破红尘,大踏步回归本源,fc一定是你的最佳选择!
作者: 大家好我是小叮当    时间: 2007-4-3 23:23

引用:
原帖由 solopain 于 2007-4-3 23:21 发表
说实话,我感觉目前三个主机没多少好玩的,尤其是ps3和xo,一提到xo就是gow,就象一提到psp,就mhp一样.ps3就更别说了,游戏才20几个,也是,发售时间短,
很好...
"我感觉"这三个字用得很好...:D
有进步.
作者: RestlessDream    时间: 2007-4-3 23:24

引用:
原帖由 ffcactus 于 2007-4-3 23:20 发表
"Havok 4.5针对PS3优化,你怎么不想想是不是因为之前的4.0优化得太差"
------这么另类的想法,我确实没有想到啊

"从这个新闻里可以看出Havok在PS3上跑的比XO上好么?"
------这个也确实没有用文字直接表露出来.

"Oblivion用的也是Havok,PS3版刚出,或许可以比较下?"
------这个4.5好象也就是1月分才出来.一个游戏从运用Havok4.0 到 4.5,想较好的运用,想必也不是轻松的再编译一次这么简单吧.
------总之,您的问题,又让我想起了中学里的阅读理解.
是谁阅读理解太差

Havok 4.5针对PS3优化这个新闻来源是Gamaustra网站,他们是业内网站

什么叫“优化”? Havok作为一个通用引擎做的优化是面向开发者的,让开发者二次开发Havok到特定平台上的时候更方便而已

玩家如果能直接从 Havok 4.5面向开发者做的这些PS3优化上看到游戏的物理特性突飞猛进,那真是见鬼了~

开发环境优化,不是个别游戏优化。这个概念你根本就没搞懂,当然就想不到。居然还认为我的想法另类?你还是去补补软件工程基本常识再来和我战吧~

[ 本帖最后由 RestlessDream 于 2007-4-3 23:26 编辑 ]
作者: 软变硬    时间: 2007-4-3 23:25

引用:
原帖由 顶级FORD 于 2007-4-3 23:23 发表


高清做的再好有什么用?无非就是解析度高一点,对游戏性产生不了任何的影响
3d做的再好有什么用?无非就是可以转转视角,对游戏性产生不了任何的影响
发色数做的再多有什么用?无非就是鲜艳一点,对游戏性 ...
S青进入暴走状态了.怕怕
作者: Jonsoncao    时间: 2007-4-3 23:25

跨平台游戏PS3比360强那么几次没啥大惊小怪的,这都要吵

何况杂志上还写明了是criterion has a huge focus on PS3 ver
作者: zwl    时间: 2007-4-3 23:26

引用:
原帖由 大家好我是小叮当 于 2007-4-3 22:29 发表


很明显,
XO对应震动,PS3无

anything make sense ?
不明白了,那你又急啥捏?:D
作者: RestlessDream    时间: 2007-4-3 23:27

引用:
原帖由 Jonsoncao 于 2007-4-3 23:25 发表
跨平台游戏PS3比360强那么几次没啥大惊小怪的,这都要吵

何况杂志上还写明了是criterion has a huge focus on PS3 ver
嗯,总算看到句原文了
作者: 顶级FORD    时间: 2007-4-3 23:27

引用:
原帖由 Jonsoncao 于 2007-4-3 23:25 发表
跨平台游戏PS3比360强那么几次没啥大惊小怪的,这都要吵

何况杂志上还写明了是criterion has a huge focus on PS3 ver
has a huge focus on ps3 ver。。。不正说明ps3开发困难嘛!这主机太烂了

另外,对不起,字体能不能换大点。。。实在看不清啊~~~
作者: 软变硬    时间: 2007-4-3 23:27

引用:
原帖由 RestlessDream 于 2007-4-3 23:24 发表


是谁阅读理解太差

Havok 4.5针对PS3优化这个新闻来源是Gamaustra网站,他们是业内网站

什么叫“优化”? Havok作为一个通用引擎做的优化是面向开发者的,让开发者二次开发Havok到特定平台上的 ...
S青通常只会引经据典,缺乏基本的逻辑思考能力,一旦找不到资料,就只能耍赖了.
作者: RestlessDream    时间: 2007-4-3 23:29

引用:
原帖由 顶级FORD 于 2007-4-3 23:27 发表
has a huge focus on ps3 ver。。。不正说明ps3开发困难嘛!这主机太烂了
另外,对不起,字体能不能换大点。。。实在看不清啊~~~
嗯,乖~
作者: 顶级FORD    时间: 2007-4-3 23:30

引用:
原帖由 软变硬 于 2007-4-3 23:27 发表


    S青通常只会引经据典,缺乏基本的逻辑思考能力,一旦找不到资料,就只能耍赖了.
软饭通常只会毫无逻辑的打个嘴炮

一旦遇上思路清晰的只能怕怕的开溜

往往又不甘心企图留下来继续发射

这帖里面就有一个这样的软饭,猜猜他是谁?:D
作者: 顶级FORD    时间: 2007-4-3 23:33

引用:
原帖由 RestlessDream 于 2007-4-3 23:29 发表


嗯,乖~
不疑侮嬉,不以己悖

果然贯彻的很好:D
作者: RestlessDream    时间: 2007-4-3 23:33

引用:
原帖由 顶级FORD 于 2007-4-3 23:30 发表
软饭通常只会毫无逻辑的打个嘴炮

一旦遇上思路清晰的只能怕怕的开溜

往往又不甘心企图留下来继续发射

这帖里面就有一个这样的软饭,猜猜他是谁?:D
这贴谁先发动“逻辑错乱拳”,迫不及待要给对方饭群体戴帽子的?

在你口出“鸵鸟”之前,这贴里我可曾有讨论谁高谁低的言论?

既然你有兴致,那我就奉陪咯

不客气哈
作者: zwl    时间: 2007-4-3 23:34

引用:
原帖由 软变硬 于 2007-4-3 23:27 发表


    S青通常只会引经据典,缺乏基本的逻辑思考能力,一旦找不到资料,就只能耍赖了.
软青 引经据典 的事多得跟大米一样,是不是也缺乏基本的逻辑思考能力呢?
作者: RestlessDream    时间: 2007-4-3 23:35

引用:
原帖由 顶级FORD 于 2007-4-3 23:33 发表
不疑侮嬉,不以己悖

果然贯彻的很好:D
不以物喜,不以己悲

我爱祖国语言美,不写错别字哦
作者: ffcactus    时间: 2007-4-3 23:36

http://www.gamersreports.com/new ... ine-to-show-at-gdc/

The next gen edition of the Havok game engine, version 4.5, will be shown at this year's Game Developer's Conference. This is the engine featured in such games as F.E.A.R., and Crackdown, as well as Dead Rising and Oblivion in places. It may be the only engine that gives Unreal a run for the money, with its enphasis on physic (Unreal emphasises graphics more than physics).
好吧,这大概是说最早要等到今年的GDC了。
作者: RestlessDream    时间: 2007-4-3 23:37

引用:
原帖由 zwl 于 2007-4-3 23:34 发表
软青 引经据典 的事多得跟大米一样,是不是也缺乏基本的逻辑思考能力呢?
貌似这贴里用Google大法的某人在被我生米煮成熟饭之后已经消失了~
作者: 顶级FORD    时间: 2007-4-3 23:39

引用:
原帖由 RestlessDream 于 2007-4-3 23:37 发表


貌似这贴里用Google大法的某人在被我生米煮成熟饭之后已经消失了~
貌似传说中消失的某人恰恰正一屁股坐在您头上哪

您的眼疾,已经不能再讳疾忌医了,得治,立刻,马上!
作者: ddaaii    时间: 2007-4-3 23:39

给出了原文有什么用呢,就像中央的文件传到了地方上
作者: RestlessDream    时间: 2007-4-3 23:39

引用:
原帖由 ffcactus 于 2007-4-3 23:36 发表
http://www.gamersreports.com/new ... ine-to-show-at-gdc/

The next gen edition of the Havok game engine, version 4.5, will be shown at this year's Game Developer's Conferenc ...
你再引又如何?

“优化”的概念弄清楚没有?

好好学习,天天google是没用的,要注意自己理解和消化

如果没有理解和消化信息的能力,那来和我战是徒劳的
作者: RestlessDream    时间: 2007-4-3 23:41

引用:
原帖由 顶级FORD 于 2007-4-3 23:39 发表
貌似传说中消失的某人恰恰正一屁股坐在您头上哪

您的眼疾,已经不能再讳疾忌医了,得治,立刻,马上!
中学里说相声呢,捧角我也当过。

看来这贴你已经志不在此,只想为台下的观众奉献插科打诨的材料了

你继续

自觉出局不战的我不奉陪
作者: ddaaii    时间: 2007-4-3 23:41

每次看见茶包的头像我就咽口水
作者: RestlessDream    时间: 2007-4-3 23:42

引用:
原帖由 ddaaii 于 2007-4-3 23:39 发表
给出了原文有什么用呢,就像中央的文件传到了地方上
有些同学乐于做人肉搜索引擎,仿佛是用科技武装了自己

殊不知把武器堆在面前,却不知道自己的论点是什么

一颗炮弹打过来,照样不堪一击
作者: DigMoonX    时间: 2007-4-3 23:43

某些人注定被挖坟了,等版主查IP说主ID了:D :D
作者: 顶级FORD    时间: 2007-4-3 23:43

引用:
原帖由 ddaaii 于 2007-4-3 23:39 发表
给出了原文有什么用呢,就像中央的文件传到了地方上
nono,是地球的文件传达到火星上

软饭小词典:

特别优化=补缺,堵漏,除虫,藏拙,尽最大的努力改进不足之处

集中偏向型的开发=机能太弱,不得不全神贯注一丝不苟,付出百分之两百的精力来完成百分之五十的工作
作者: ffcactus    时间: 2007-4-3 23:44

引用:
原帖由 RestlessDream 于 2007-4-3 23:24 发表


是谁阅读理解太差

Havok 4.5针对PS3优化这个新闻来源是Gamaustra网站,他们是业内网站

什么叫“优化”? Havok作为一个通用引擎做的优化是面向开发者的,让开发者二次开发Havok到特定平台上的 ...
Havok 4.5 Unleashed  


Enabling Scaling to Thousands of Dynamically-driven Game Objects and Characters
San Francisco, Calif., Jan. 23, 2007 – Havok announces today the official release of Havok 4.5, the latest update to its modular suite of artist tools and run-time technology.  Fully optimized for Sony PLAYSTATION®3, as well as Microsoft Xbox360 and Nintendo Wii, Havok 4.5 dramatically accelerates the development of cross-platform, cutting edge electronic games, meeting the needs of the world’s top developers and producers. Havok 4.5 allows game developers to scale game content to thousands of dynamically-driven game objects and characters, harnessing the full power and speed of next generation architectures.


Game developers using Havok Physics and Havok Animation products to develop for PS3 will be able to harness the full power of all the SPUs, while maintaining the complete flexibility of the Havok SDK. Havok architecture now scales strongly across all SPUs and runs between 5 and 10 times faster than Havok 4.0 for a typical game scene on the PS3.

“We made sure that we met our customers’ demand for a PS3 optimized version of Havok as soon as possible” says Havok CEO, David O’Meara. Comments Scott Kirkland, Technical Director at Evolution Studios and lead on PS3 exclusive title MotorStorm, “With its unparalleled environmental interaction and spectacular destruction, MotorStorm’s brutal, chaotic, off-road racing makes big demands on physics processing. Unphazed by the intense time pressures of our project, Havok rose to this next-gen challenge and provided us with an outstanding suite of professional tools, technology and support to help realize our vision. We’re now looking forward to collaborating with the Havok team on future Evolution products”.

Optimization for next generation platforms represents one of the largest development tasks ever undertaken by Havok.  Havok 4.5’s tools and SDK are designed to be modular and open, so they can be integrated easily into existing production pipelines, reducing the overall iteration time needed to create immersive game-play experiences and special effects. The Havok 4.5 suite is backed by expert support and professional services, leveraging the experience of almost 200 commercially released Havok-powered game SKUs.

Adds Havok’s David O’Meara, “The launch of Havok 4.5 represents the culmination of many thousands of man hours for the Havok development team. We’ve worked really hard to ensure that Havok technology is optimized for the next generation console platforms, and we’ve been really excited by the results. Havok 4.5’s ability to allow developers to massively scale game content will make it possible to develop even more compelling, realistic and complex worlds that harness the full power of new generation architectures.”

Havok 4.5 enhances Havok’s industry-leading game-play physics and animation products (Havok Physics™ and Havok Animation™.  It also brings to new levels Havok Behavior™, which accelerates development of sophisticated interactive character behaviors, and Havok FX™, which delivers an unprecedented level of physically-based “special effects” phenomena. The combined 4.5 solution represents a best-of-class SDK and tool set that puts power and flexibility in the hands of today’s leading game developers.


========================
您说
"玩家如果能直接从 Havok 4.5面向开发者做的这些PS3优化上看到游戏的物理特性突飞猛进,那真是见鬼了~"
原来,开发人员运用Havok 4.5后,游戏表现的提升,玩家们完全感觉不到.原来是如此的妄费心机啊.
可能Havok 4.5只能使得程序结构更合理吧

您的逻辑实在是太混乱了,还莫名其妙的来一句:
"开发环境优化,不是个别游戏优化。"
废话,当然是开发环境的优化了,开发环境的优化会使得开发后的游戏水准提高.
作者: zwl    时间: 2007-4-3 23:45

引用:
原帖由 RestlessDream 于 2007-4-3 23:37 发表


生米煮成熟饭
  ..........
作者: DigMoonX    时间: 2007-4-3 23:45

引用:
原帖由 ffcactus 于 2007-4-3 23:44 发表



Havok 4.5 Unleashed  


Enabling Scaling to Thousands of Dynamically-driven Game Objects and Characters
San Francisco, Calif., Jan. 23, 2007 – Havok announces today the official relea ...
你懂什么叫开发环境么?一天到晚跟着别人喊开发环境差开发环境差。。。

连调用个东西都得自己用汇编写的,那真叫开发环境差,而某神机恰恰是这种典型例子
作者: ffcactus    时间: 2007-4-3 23:46

引用:
原帖由 RestlessDream 于 2007-4-3 23:39 发表


你再引又如何?

“优化”的概念弄清楚没有?

好好学习,天天google是没用的,要注意自己理解和消化

如果没有理解和消化信息的能力,那来和我战是徒劳的
我不懂,我不懂,再您的眼力优化的结果玩家是无法体验到的.
那还优化了个屁啊,自己给自己做游戏玩吗?
作者: DigMoonX    时间: 2007-4-3 23:47

引用:
原帖由 顶级FORD 于 2007-4-3 23:43 发表


nono,是地球的文件传达到火星上

软饭小词典:

特别优化=补缺,堵漏,除虫,藏拙,尽最大的努力改进不足之处

集中偏向型的开发=机能太弱,不得不全神贯注一丝不苟,付出百分之两百的精力来完成百分 ...
一本纱布杂志就把你搞得晕头转向了。机能弱不弱不是一本杂志说的算的。开发人员都大多对机能透明,何况杂志?
作者: RestlessDream    时间: 2007-4-3 23:47

引用:
原帖由 顶级FORD 于 2007-4-3 23:43 发表
nono,是地球的文件传达到火星上

软饭小词典:

特别优化=补缺,堵漏,除虫,藏拙,尽最大的努力改进不足之处

集中偏向型的开发=机能太弱,不得不全神贯注一丝不苟,付出百分之两百的精力来完成百分 ...
很可惜,你还是没有理解“开发环境优化”的意思,还在那里把通用引擎开发商和游戏开发商混为一谈

至于说“focus on ps3”引申出“集中偏向型的开发=机能太弱”,纯属你的发明

这贴也好没有一个软饭有过这种言论,至于PS3和X360的机能,TG还战的少么?

你去找任何一个软组织成员的帖子,有谁说过PS3机能不如360的,你只要引出来,本组织立刻开除之
作者: DigMoonX    时间: 2007-4-3 23:48

引用:
原帖由 ffcactus 于 2007-4-3 23:46 发表



我不懂,我不懂,再您的眼力优化的结果玩家是无法体验到的.
那还优化了个屁啊,自己给自己做游戏玩吗?
开始钻牛角尖胡搅蛮缠了。你和B神有的一拼了
作者: ffcactus    时间: 2007-4-3 23:48

引用:
原帖由 DigMoonX 于 2007-4-3 23:45 发表


你懂什么叫开发环境么?一天到晚跟着别人喊开发环境差开发环境差。。。

连调用个东西都得自己用汇编写的,那真叫开发环境差,而某神机恰恰是这种典型例子
调用个东西都要用汇编?
好吧,您这个NB就用汇编写个windows下的"扫雷"吧.
作者: zwl    时间: 2007-4-3 23:50

引用:
原帖由 RestlessDream 于 2007-4-3 23:47 发表


你去找任何一个软组织成员的帖子,有谁说过PS3机能不如360的,你只要引出来,本组织立刻开除之
赞哪
作者: ffcactus    时间: 2007-4-3 23:50

引用:
原帖由 DigMoonX 于 2007-4-3 23:48 发表


开始钻牛角尖胡搅蛮缠了。你和B神有的一拼了
这可是你们敬爱的X包哥重点强调的, 那里是我钻牛角尖了.

作者: DigMoonX    时间: 2007-4-3 23:51

引用:
原帖由 ffcactus 于 2007-4-3 23:48 发表


调用个东西都要用汇编?
好吧,您这个NB就用汇编写个windows下的"扫雷"吧.
呵呵,谢谢,我没这个空。

如果你不懂调用是什么意思的话,请去Google.另外用VS写扫雷,我倒非常乐意,只要你给我开发费用:D :D

我自己做美工给你画漂亮的地雷哦 特大放送
作者: ddaaii    时间: 2007-4-3 23:53

那么哪位来解释一下has a huge focus on xbox360 ver,让我们来看看其理解力。
作者: RestlessDream    时间: 2007-4-3 23:54

引用:
原帖由 ffcactus 于 2007-4-3 23:44 发表
您说
"玩家如果能直接从 Havok 4.5面向开发者做的这些PS3优化上看到游戏的物理特性突飞猛进,那真是见鬼了~"
原来,开发人员运用Havok 4.5后,游戏表现的提升,玩家们完全感觉不到.原来是如此的妄费心机啊.
可能Havok 4.5只能使得程序结构更合理吧

您的逻辑实在是太混乱了,还莫名其妙的来一句:
"开发环境优化,不是个别游戏优化。"
废话,当然是开发环境的优化了,开发环境的优化会使得开发后的游戏水准提高.
Havok 4.5 面向各种平台,能开发成什么样看开发商自己的造化

在漫长的重复的不知所以的引用之后,你终于开始理解并承认我早就指出的观点了

你把自己再理理顺,拜托

开发环境优化,和你要论证的“PS3版物理效果比XO版高”有什么逻辑联系吗?

来,来,来,功课还没做完,别偷懒哦
作者: 大家好我是小叮当    时间: 2007-4-3 23:54

引用:
原帖由 ffcactus 于 2007-4-3 23:48 发表


调用个东西都要用汇编?
好吧,您这个NB就用汇编写个windows下的"扫雷"吧.
给你个高级点的吧.
我正好玩过,你还要什么?
纸牌要吗?

// MineDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Mine.h"
#include "MineDlg.h"
#include "GDIObjects.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CPen Pen1,Pen2,Pen3,Pen4,Pen5,Pen6,Pen7;
int nDigitFont[11][7]={
        { 1, 2, 3, 4, 5, 6,-7},
        {-1,-2, 3, 4,-5,-6,-7},
        {-1, 2, 3,-4, 5, 6, 7},
        {-1, 2, 3, 4, 5,-6, 7},
        { 1,-2, 3, 4,-5,-6, 7},
        { 1, 2,-3, 4, 5,-6, 7},
        { 1, 2,-3, 4, 5, 6, 7},
        {-1, 2, 3, 4,-5,-6,-7},
        { 1, 2, 3, 4, 5, 6, 7},
        { 1, 2, 3, 4, 5,-6, 7},
        {-1,-2,-3,-4,-5,-6, 7}
};
/////////////////////////////////////////////////////////////////////////////
// CDigitCalculator
void CDigitCalculator::Create(CWnd *pWnd,int nX,int nY,
                long lOriginal, int nMaxNumbers, int nSepMics,
                COLORREF crColor,COLORREF crBkColor)
{
        m_nMaxNumber = nMaxNumbers;
        m_nSepMics = nSepMics;
        m_nX = nX;
        m_nY = nY;
        m_pWnd = pWnd;
        m_nCalculator = lOriginal;
        m_crColor = crColor;
        m_crBkColor = crBkColor;
       
}

void CDigitCalculator::ReShow()
{
        CClientDC ClientDC(m_pWnd);
        ClientDC.SelectObject(&Brush);
        ClientDC.SelectObject(&Pen1);
        ClientDC.Rectangle(m_nX,m_nY,
                                                m_nX+(11+m_nSepMics)*m_nMaxNumber+m_nSepMics,
                                                m_nY+25);
       
        ClientDC.SelectObject(&Pen2);
        ClientDC.SelectStockObject(NULL_BRUSH);
        ClientDC.MoveTo(m_nX,m_nY+25);
        ClientDC.LineTo(m_nX,m_nY);
        ClientDC.LineTo(m_nX+(11+m_nSepMics)*m_nMaxNumber+m_nSepMics,m_nY);
        ShowDigit();
}

void CDigitCalculator::ShowOneDigit(int nWhichDigit,int nWhichBit)
{
        CClientDC ClientDC(m_pWnd);
        int nI;
        for (nI=0;nI<7;nI++)
        {
                char nTmp = nDigitFont[nWhichDigit][nI];
                if(nTmp>0)
                {
                        ClientDC.SelectObject(&Pen3);
                }
                else
                {
                        ClientDC.SelectObject(&Pen4);
                        nTmp = -nTmp;
                }
                ClientDC.SelectStockObject(NULL_BRUSH);
               
                int        nStartPosX, nStartPosY,        nJ;

                switch(nTmp)
                {
                case 1:
                        nStartPosX = m_nX+(11+m_nSepMics)*nWhichBit+m_nSepMics;
                        nStartPosY = m_nY+3;
                        for (nJ=0;nJ<3;nJ++)
                        {
                                ClientDC.MoveTo(nStartPosX+nJ,nStartPosY+nJ);
                                ClientDC.LineTo(nStartPosX+nJ,nStartPosY-nJ+9);
                        }
                        break;
                case 2:
                        nStartPosX = m_nX+(11+m_nSepMics)*nWhichBit+m_nSepMics+1;
                        for (nJ=0;nJ<3;nJ++)
                        {
                                ClientDC.MoveTo(nStartPosX+nJ,m_nY+nJ+2);
                                ClientDC.LineTo(nStartPosX-nJ+9,m_nY+nJ+2);
                        }
                        break;
                case 3:
                        nStartPosX = m_nX+(11+m_nSepMics)*nWhichBit+m_nSepMics+10;
                        for (nJ=0;nJ<3;nJ++)
                        {
                                ClientDC.MoveTo(nStartPosX-nJ,m_nY+nJ+3);
                                ClientDC.LineTo(nStartPosX-nJ,m_nY-nJ+9+3);
                        }
                        break;
                case 4:
                        nStartPosX = m_nX+(11+m_nSepMics)*nWhichBit+10+m_nSepMics;
                        nStartPosY = m_nY+13;
                        for (nJ=0;nJ<3;nJ++)
                        {
                                ClientDC.MoveTo(nStartPosX-nJ,nStartPosY+nJ);
                                ClientDC.LineTo(nStartPosX-nJ,nStartPosY-nJ+9);
                        }
                        break;
                case 5:
                        nStartPosX = m_nX+(11+m_nSepMics)*nWhichBit+m_nSepMics+1;
                        nStartPosY = m_nY+22;
                        for (nJ=0;nJ<3;nJ++)
                        {
                                ClientDC.MoveTo(nStartPosX+nJ,nStartPosY-nJ);
                                ClientDC.LineTo(nStartPosX-nJ+9,nStartPosY-nJ);
                        }
                        break;
                case 6:
                        nStartPosX = m_nX+(11+m_nSepMics)*nWhichBit+m_nSepMics;
                        nStartPosY = m_nY+13;
                        for (nJ=0;nJ<3;nJ++)
                        {
                                ClientDC.MoveTo(nStartPosX+nJ,nStartPosY+nJ);
                                ClientDC.LineTo(nStartPosX+nJ,nStartPosY-nJ+9);
                        }
                        break;
                       
                case 7:
                        nStartPosX = m_nX+(11+m_nSepMics)*nWhichBit+m_nSepMics+1;
                        nStartPosY = m_nY+12;
                        ClientDC.MoveTo(nStartPosX,nStartPosY);
                        ClientDC.LineTo(nStartPosX+9,nStartPosY);

                        ClientDC.MoveTo(nStartPosX+1,nStartPosY+1);
                        ClientDC.LineTo(nStartPosX+8,nStartPosY+1);

                        ClientDC.MoveTo(nStartPosX+1,nStartPosY-1);
                        ClientDC.LineTo(nStartPosX+8,nStartPosY-1);
                        break;
                }
        }
}

void CDigitCalculator::ShowDigit()
{
        int nI,nJ;
        char cTmp[20];
        if(m_nCalculator<0)
        {
                nJ=1;
                ShowOneDigit(10,0);
                sprintf(cTmp,"%d",-m_nCalculator);
        }
        else
        {
                nJ=0;
                sprintf(cTmp,"%d",m_nCalculator);
        }
        int nLen=strlen(cTmp);
        for (nI=0;nJ<m_nMaxNumber;nJ++)
        {
                if(nJ>=m_nMaxNumber-nLen)
                {
                        ShowOneDigit(cTmp[nI]-'0',nJ);
                        nI++;
                }
                else
                        ShowOneDigit(0,nJ);
        }
}

void CDigitCalculator::Increase()
{
        m_nCalculator++;
        ShowDigit();
}

void CDigitCalculator::Decrease()
{
        m_nCalculator--;
        ShowDigit();
}

long CDigitCalculator::GetNumber()
{
        return m_nCalculator;
}
void CDigitCalculator::SetNumber(long lOriginal)
{
        m_nCalculator = lOriginal;
}
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
        CAboutDlg();

// Dialog Data
        //{{AFX_DATA(CAboutDlg)
        enum { IDD = IDD_ABOUTBOX };
        //}}AFX_DATA

        // ClassWizard generated virtual function overrides
        //{{AFX_VIRTUAL(CAboutDlg)
        protected:
        virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
        //}}AFX_VIRTUAL

// Implementation
protected:
        //{{AFX_MSG(CAboutDlg)
        //}}AFX_MSG
        DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
        //{{AFX_DATA_INIT(CAboutDlg)
        //}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(CAboutDlg)
        //}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
        //{{AFX_MSG_MAP(CAboutDlg)
                // No message handlers
        //}}AFX_MSG_MAP
END_MESSAGE_MAP()



void CMyButton::DrawItem( LPDRAWITEMSTRUCT lpDIS)
{
        // use the main bitmap for up, the selected bitmap for down
        CBitmap* pBitmap = m_pBitmap;
        CPen m_Pen1,m_Pen2;
        m_Pen1.CreatePen(PS_SOLID,1,RGB(128,128,128));
        m_Pen2.CreatePen(PS_SOLID,1,RGB(255,255,255));
        UINT state = lpDIS->itemState;
        if ((state & ODS_SELECTED) && m_pBitmapSel->m_hObject != NULL)
                pBitmap = m_pBitmapSel;

        // draw the whole button
        CDC* pDC = CDC::FromHandle(lpDIS->hDC);
        CDC memDC;
        memDC.CreateCompatibleDC(pDC);
        CBitmap* pOld = memDC.SelectObject(pBitmap);
        if (pOld == NULL)
                return;     // destructors will clean up

        CRect rect;
        rect.CopyRect(&lpDIS->rcItem);
        if (state & ODS_SELECTED)
        {
                pDC->BitBlt(rect.left+4, rect.top+2, rect.Width()-3, rect.Height()-3,
                        &memDC, 0, 0, SRCCOPY);
                memDC.SelectObject(pOld);
                pDC->SelectObject(m_Pen1);
                pDC->MoveTo(rect.right-1,0);
                pDC->LineTo(0,0);
                pDC->LineTo(0,rect.bottom-1);
                pDC->SelectObject(m_Pen2);
                pDC->LineTo(rect.right-1,rect.bottom-1);
                pDC->LineTo(rect.right-1,0);
        }
        else
        {
                pDC->BitBlt(rect.left+3, rect.top+3, rect.Width()-3, rect.Height()-3,
                        &memDC, 0, 0, SRCCOPY);
                memDC.SelectObject(pOld);
                pDC->SelectObject(m_Pen2);
                pDC->MoveTo(rect.right-1,0);
                pDC->LineTo(0,0);
                pDC->LineTo(0,rect.bottom-1);
                pDC->SelectObject(m_Pen1);
                pDC->LineTo(rect.right-1,rect.bottom-1);
                pDC->LineTo(rect.right-1,0);
        }
};
void CMyButton::SetBitmap(CBitmap *pBitmap,CBitmap *pBitmapSel)
{
        m_pBitmap = pBitmap;
        if (pBitmapSel==NULL)
                m_pBitmapSel = pBitmap;
        Invalidate();
};



/////////////////////////////////////////////////////////////////////////////
// CMineDlg dialog

CMineDlg::CMineDlg(CWnd* pParent /*=NULL*/)
        : CDialog(CMineDlg::IDD, pParent)
{
        //{{AFX_DATA_INIT(CMineDlg)
                // NOTE: the ClassWizard will add member initialization here
        //}}AFX_DATA_INIT
        // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
        m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}


void CMineDlg::DoDataExchange(CDataExchange* pDX)
{
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(CMineDlg)
        DDX_Control(pDX, IDC_FACE, m_Face);
        //}}AFX_DATA_MAP
}

void CMineDlg::OnCommandExit()
{
        EndDialog(1);
}
void CMineDlg::OnCommandAbout()
{
        CAboutDlg ABOUT;
        ABOUT.DoModal();
}
void CMineDlg::OnCommandRestart()
{
        bFail = FALSE;
        if(bStart)
                KillTimer(1);
        bStart = FALSE;
        LandMine.Reset(LandMine.GetRow(),LandMine.GetCol(),LandMine.GetMineNum());
        TimeCount.SetNumber(0);
        MineCount.SetNumber(LandMine.GetMineNum());
        m_Face.SetBitmap(&m_FaceNormal);
        RedrawWindow();
}
void CMineDlg::OnCommandPrimary()
{
        LandMine.Reset(8,8,10);
        m_DlgReSize=TRUE;
        if(bStart)
                KillTimer(1);
        bFail = FALSE;
        bBothDown = FALSE;
        bStart = FALSE;
        m_Face.SetBitmap(&m_FaceNormal);
        RedrawWindow();
}
void CMineDlg::OnCommandMiddle()
{
        LandMine.Reset(16,16,40);
        m_DlgReSize=TRUE;
        if(bStart)
                KillTimer(1);
        bFail = FALSE;
        bBothDown = FALSE;
        bStart = FALSE;
        m_Face.SetBitmap(&m_FaceNormal);
        RedrawWindow();
}
void CMineDlg::OnCommandAdvanced()
{
        LandMine.Reset(16,30,100);
        m_DlgReSize=TRUE;
        if(bStart)
                KillTimer(1);
        bFail = FALSE;
        bBothDown = FALSE;
        bStart = FALSE;
        m_Face.SetBitmap(&m_FaceNormal);
        RedrawWindow();
}
void CMineDlg::OnCommandCustom()
{
        m_DlgReSize=TRUE;
        if(bStart)
                KillTimer(1);
        CCustom CustomDlg;
        CustomDlg.m_Height = LandMine.GetRow();
        CustomDlg.m_Width = LandMine.GetCol();
        CustomDlg.m_MineNum = LandMine.GetMineNum();
        CustomDlg.DoModal();
        LandMine.Reset(CustomDlg.m_Height,CustomDlg.m_Width,CustomDlg.m_MineNum);
        bFail = FALSE;
        bBothDown = FALSE;
        bStart = FALSE;
        m_Face.SetBitmap(&m_FaceNormal);
        RedrawWindow();
}

afx_msg void CMineDlg::OnUpdatePrimary(CCmdUI* pCmdUI)
{
        ::CheckMenuItem( m_hMainMenu,IDM_ADVANCED,MF_UNCHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_CUSTOM,MF_UNCHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_PRIMARY,MF_CHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_MIDDLE,MF_UNCHECKED);

};

afx_msg void CMineDlg::OnUpdateMiddle(CCmdUI* pCmdUI)
{
        ::CheckMenuItem( m_hMainMenu,IDM_ADVANCED,MF_UNCHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_CUSTOM,MF_UNCHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_PRIMARY,MF_UNCHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_MIDDLE,MF_CHECKED);

};
afx_msg void CMineDlg::OnUpdateAdvanced(CCmdUI* pCmdUI)
{
        ::CheckMenuItem( m_hMainMenu,IDM_ADVANCED,MF_CHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_CUSTOM,MF_UNCHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_PRIMARY,MF_UNCHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_MIDDLE,MF_UNCHECKED);
};
afx_msg void CMineDlg::OnUpdateCustom(CCmdUI* pCmdUI)
{
        ::CheckMenuItem( m_hMainMenu,IDM_ADVANCED,MF_UNCHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_CUSTOM,MF_CHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_PRIMARY,MF_UNCHECKED);
        ::CheckMenuItem( m_hMainMenu,IDM_MIDDLE,MF_UNCHECKED);
};

BEGIN_MESSAGE_MAP(CMineDlg, CDialog)
        //{{AFX_MSG_MAP(CMineDlg)
        ON_WM_PAINT()
        ON_WM_QUERYDRAGICON()
        ON_WM_TIMER()
        ON_BN_CLICKED(IDC_FACE, OnFace)
        ON_WM_LBUTTONDOWN()
        ON_WM_MOUSEMOVE()
        ON_WM_LBUTTONUP()
        ON_WM_RBUTTONDOWN()
        ON_WM_RBUTTONDBLCLK()
        ON_COMMAND(IDM_RESTART,OnCommandRestart)
        ON_COMMAND(IDM_EXIT,OnCommandExit)
        ON_COMMAND(IDM_ABOUT,OnCommandAbout)
        ON_COMMAND(IDM_PRIMARY,OnCommandPrimary)
        ON_UPDATE_COMMAND_UI(IDM_PRIMARY,OnUpdatePrimary)
        ON_COMMAND(IDM_MIDDLE,OnCommandMiddle)
        ON_UPDATE_COMMAND_UI(IDM_MIDDLE,OnUpdateMiddle)
        ON_COMMAND(IDM_ADVANCED,OnCommandAdvanced)
        ON_UPDATE_COMMAND_UI(IDM_ADVANCED,OnUpdateAdvanced)
        ON_COMMAND(IDM_CUSTOM,OnCommandCustom)
        ON_UPDATE_COMMAND_UI(IDM_CUSTOM,OnUpdateCustom)
        ON_WM_RBUTTONUP()
        //}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMineDlg message handlers

BOOL CMineDlg::OnInitDialog()
{
        CDialog::OnInitDialog();
        CMenu MainMenu;
        if(!MainMenu.LoadMenu(IDR_MAINFRAME))
        {
                AfxMessageBox("Can't load main menu!",MB_OK|MB_ICONEXCLAMATION);
                return FALSE;
        }
        SetMenu(&MainMenu);
        m_hMainMenu=MainMenu.Detach();

        // Set the icon for this dialog.  The framework does this automatically
        //  when the application's main window is not a dialog
        SetIcon(m_hIcon, TRUE);                        // Set big icon
        SetIcon(m_hIcon, FALSE);                // Set small icon
       
        // TODO: Add extra initialization here
        int nRow=10, nCol=10, nMineNum=10;
        bStart = FALSE;
        bFail = FALSE;
        bBothDown = FALSE;
        LandMine.Create(nRow,nCol,nMineNum,12,53,this);
        m_DlgReSize = TRUE;
       
        if(m_FaceNormal.LoadBitmap(IDB_NORMAL) &&
                m_FaceCry.LoadBitmap(IDB_CRY) &&
                m_FaceSad.LoadBitmap(IDB_SAD) &&
                m_FaceHappy.LoadBitmap(IDB_HAPPY))
        {
                m_Face.SetBitmap(&m_FaceNormal);
                return TRUE;  // return TRUE  unless you set the focus to a control
        }
        else
        {
                AfxMessageBox("Can't load Bitmap!",MB_OK|MB_ICONEXCLAMATION);
                return FALSE;
        }
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CMineDlg::OnPaint()
{
        if (IsIconic())
        {
                CPaintDC dc(this); // device context for painting

                SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

                // Center icon in client rectangle
                int cxIcon = GetSystemMetrics(SM_CXICON);
                int cyIcon = GetSystemMetrics(SM_CYICON);
                CRect rect;
                GetClientRect(&rect);
                int x = (rect.Width() - cxIcon + 1) / 2;
                int y = (rect.Height() - cyIcon + 1) / 2;

                // Draw the icon
                dc.DrawIcon(x, y, m_hIcon);
        }
        else
        {
                CDialog::OnPaint();
        }
        if(m_DlgReSize)
        {
                int nRow,nCol,nMineNum;
                nRow = LandMine.GetRow();
                nCol = LandMine.GetCol();
                nMineNum = LandMine.GetMineNum();
                RECT DlgRect;
                GetWindowRect(&DlgRect);
                SetWindowPos(&wndTop,DlgRect.left,DlgRect.top,
                        16*nCol+30, 109+16*nRow, SWP_NOMOVE);
                MineCount.Create(this,17,15,nMineNum,3);
                GetClientRect(&DlgRect);
                TimeCount.Create(this,DlgRect.right-58,15,0,3);
                m_Face.SetWindowPos(&wndTop,(DlgRect.right-27)/2,14,
                27,27,SWP_FRAMECHANGED);
                m_DlgReSize = FALSE;
        }
        RECT ClientRect;
        GetClientRect(&ClientRect);
        CClientDC ClientDC(this);

        //drawing the whole area
        ClientDC.SelectObject(Pen2);
        ClientDC.MoveTo(ClientRect.right-3,1);
        ClientDC.LineTo(1,1);
        ClientDC.LineTo(1,ClientRect.bottom-1);
       
        ClientDC.SelectObject(Pen1);
        ClientDC.MoveTo(ClientRect.right-2,1);
        ClientDC.LineTo(ClientRect.right-2,ClientRect.bottom-1);
        ClientDC.LineTo(1,ClientRect.bottom-1);
        ClientDC.MoveTo(ClientRect.right-3,2);
        ClientDC.LineTo(ClientRect.right-3,ClientRect.bottom-2);
        ClientDC.LineTo(2,ClientRect.bottom-2);

        //drwaing status area
        ClientDC.MoveTo(ClientRect.right-10,9);
        ClientDC.LineTo(10,9);
        ClientDC.LineTo(10,44);
        ClientDC.MoveTo(ClientRect.right-11,10);
        ClientDC.LineTo(11,10);
        ClientDC.LineTo(11,43);
       
        ClientDC.SelectObject(Pen3);
        ClientDC.LineTo(ClientRect.right-11,43);
        ClientDC.LineTo(ClientRect.right-11,10);
        ClientDC.MoveTo(10,44);
        ClientDC.LineTo(ClientRect.right-10,44);
        ClientDC.LineTo(ClientRect.right-10,9);
       
        //drawing the mine area
        ClientDC.MoveTo(ClientRect.right-10,51);
        ClientDC.LineTo(ClientRect.right-10,ClientRect.bottom-9);
        ClientDC.LineTo(10,ClientRect.bottom-9);
        ClientDC.MoveTo(ClientRect.right-11,52);
        ClientDC.LineTo(ClientRect.right-11,ClientRect.bottom-10);
        ClientDC.LineTo(11,ClientRect.bottom-10);
        ClientDC.SelectObject(Pen1);
        ClientDC.MoveTo(ClientRect.right-10,51);
        ClientDC.LineTo(10,51);
        ClientDC.LineTo(10,ClientRect.bottom-9);
        ClientDC.MoveTo(ClientRect.right-11,52);
        ClientDC.LineTo(11,52);
        ClientDC.LineTo(11,ClientRect.bottom-10);


        MineCount.ReShow();
        TimeCount.ReShow();
        LandMine.ReDraw(bFail);
       
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CMineDlg::OnQueryDragIcon()
{
        return (HCURSOR) m_hIcon;
}

void CMineDlg::OnTimer(UINT nIDEvent)
{
        // TODO: Add your message handler code here and/or call default
        if (nIDEvent==1)
                TimeCount.Increase();
        CDialog::OnTimer(nIDEvent);
}



void CMineDlg::OnFace()
{
        // TODO: Add your control notification handler code here
        bFail = FALSE;
        if(bStart)
                KillTimer(1);
        bStart = FALSE;
        LandMine.Reset(LandMine.GetRow(),LandMine.GetCol(),LandMine.GetMineNum());
        TimeCount.SetNumber(0);
        MineCount.SetNumber(LandMine.GetMineNum());
        m_Face.SetBitmap(&m_FaceNormal);
        RedrawWindow();
}

void CMineDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
        // TODO: Add your message handler code here and/or call default
        if(bFail==0)
        {
                m_Face.SetBitmap(&m_FaceCry);
                if(nFlags&MK_RBUTTON)
                {       
                        bBothDown = 2;
                        LandMine.BothButtonDown(point);
                }
                else
                {
                        bBothDown = FALSE;
                        LandMine.LButtonDown(point);
                }
        }
        CDialog::OnLButtonDown(nFlags, point);
}

void CMineDlg::OnMouseMove(UINT nFlags, CPoint point)
{
        // TODO: Add your message handler code here and/or call default
        if(bFail==0)
        {
                if(nFlags&MK_LBUTTON)
                        if(nFlags&MK_RBUTTON)
                                LandMine.MouseMove(point,2);    // both key down
                        else
                                LandMine.MouseMove(point,0);    //left key down
                        else
                                LandMine.MouseMove(point,1);                //right key down
        }
        CDialog::OnMouseMove(nFlags, point);
}

void CMineDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
        // TODO: Add your message handler code here and/or call default
        if(bFail==0)
        {
                m_Face.SetBitmap(&m_FaceNormal);
                if(bBothDown)
                {
                        bBothDown--;
                        int nStatus = LandMine.BothButtonUp(point);
                        if(nStatus==-1)
                        {
                                bFail = TRUE;
                                KillTimer(1);
                                m_Face.SetBitmap(&m_FaceSad);
                        }
                        else
                                if(LandMine.IsSuccess())
                                {       
                                        KillTimer(1);
                                        m_Face.SetBitmap(&m_FaceHappy);
                                        AfxMessageBox("祝贺您!挖雷任务胜利完成!",MB_OK);
                                        bFail = -1;
                                }
                }
                else
                {
                        int nStatus = LandMine.LButtonUp(point);
                        if(nStatus==-1)
                        {
                                bFail = TRUE;
                                KillTimer(1);
                                m_Face.SetBitmap(&m_FaceSad);
                        }
                        else
                                if(LandMine.IsSuccess())
                                {       
                                        KillTimer(1);
                                        m_Face.SetBitmap(&m_FaceHappy);
                                        AfxMessageBox("祝贺您!挖雷任务胜利完成!",MB_OK);
                                        bFail = -1;
                                }
                }
                if(!bStart)
                {
                        bStart = TRUE;
                        SetTimer(1, 1000, NULL);
                }
        }
        CDialog::OnLButtonUp(nFlags, point);
}

void CMineDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
        // TODO: Add your message handler code here and/or call default
        if(bFail==0)
        {
                if(nFlags&MK_LBUTTON)
                {        bBothDown = 2;
                        LandMine.BothButtonDown(point);
                }
                else
                {
                        bBothDown = FALSE;
                        switch(LandMine.RButtonDown(point))
                        {
                        case 0:
                                break;
                        case 1:
                                MineCount.Increase();
                                break;
                        case -1:
                                MineCount.Decrease();
                                break;
                        };
                }
                if(LandMine.IsSuccess())
                {       
                        KillTimer(1);
                        m_Face.SetBitmap(&m_FaceHappy);
                        AfxMessageBox("祝贺您!挖雷任务胜利完成!",MB_OK);
                        bFail = -1;
                }

        }
        CDialog::OnRButtonDown(nFlags, point);
}


void CMineDlg::OnRButtonDblClk(UINT nFlags, CPoint point)
{
        // TODO: Add your message handler code here and/or call default
        OnRButtonDown(nFlags,point);
        CDialog::OnRButtonDblClk(nFlags, point);
}


void CMineDlg::OnRButtonUp(UINT nFlags, CPoint point)
{
        // TODO: Add your message handler code here and/or call default
        if(bFail==0)
        {
                if(bBothDown)
                {
                        bBothDown--;
                        if(LandMine.BothButtonUp(point)==-1)
                                bFail = TRUE;
                        else
                                if(LandMine.IsSuccess())
                                {       
                                        KillTimer(1);
                                        AfxMessageBox("祝贺您!挖雷任务胜利完成!",MB_OK);
                                        bFail = -1;
                                }
                }
        }
       
        CDialog::OnRButtonUp(nFlags, point);
}
/////////////////////////////////////////////////////////////////////////////
// CCustom dialog


CCustom::CCustom(CWnd* pParent /*=NULL*/)
        : CDialog(CCustom::IDD, pParent)
{
        //{{AFX_DATA_INIT(CCustom)

        //}}AFX_DATA_INIT
}


void CCustom::DoDataExchange(CDataExchange* pDX)
{
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(CCustom)
        DDX_Text(pDX, IDC_WIDTH, m_Width);
        DDV_MinMaxInt(pDX, m_Width, 1, 30);
        DDX_Text(pDX, IDC_HEIGHT, m_Height);
        DDV_MinMaxInt(pDX, m_Height, 1, 30);
        DDX_Text(pDX, IDC_MINENUM, m_MineNum);
        DDV_MinMaxInt(pDX, m_MineNum, 1, m_Height*m_Width-1);
        //}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCustom, CDialog)
        //{{AFX_MSG_MAP(CCustom)
        //}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCustom message handlers

BOOL CCustom::OnInitDialog()
{
        CDialog::OnInitDialog();
       
        // TODO: Add extra initialization here
       
        ::SendMessage(::GetDlgItem(m_hWnd,IDC_HEIGHT),
                EM_LIMITTEXT,
                (WPARAM)2,
            (LPARAM)0);
        ::SendMessage(::GetDlgItem(m_hWnd,IDC_WIDTH),
                EM_LIMITTEXT,
                (WPARAM)2,
            (LPARAM)0);
        ::SendMessage(::GetDlgItem(m_hWnd,IDC_MINENUM),
                EM_LIMITTEXT,
                (WPARAM)3,
            (LPARAM)0);

        return TRUE;  // return TRUE unless you set the focus to a control
                      // EXCEPTION: OCX Property Pages should return FALSE
}




欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) Powered by Discuz! 6.0.0