Footman 2011-07-26 16:40
有客户想要类似的功能,但是想来想去,因为想到可能需要和操作系统服务打交道,所以在想办法和客户沟通省略时间控制。文中所说方法在项目期限内实现可能有危险。应该先学习一下!感谢博主翻译。
呱噪 2010-12-26 11:25
用C#和用java写有什么区别?如果可以我们想用java写
呱噪 2010-12-26 11:23
我们是大一的学生,做了一个创新项目,跟WEB三国杀差不多,想请教一下
万智牌是最精彩的回合制桌面游戏,在对战中牌手扮演一位法术师,运用有限的法术力资源,召唤各种奇珍异兽冲锋陷阵,施展别具特色的法术咒语运筹帷幄,但由于其价格昂贵、规则复杂而限制了其普及,本项目拟开发在线万智牌对战系统,可以让用户实现在线的对战,并能实现规则的自动判定。
本项目的关键技术实现万智牌的在线游戏,主要研究内容包括
1. web图形和动画的显示
2. 游戏规则的抽象
3. 用户行为的网络传输
4. 卡牌信息的数据库存储
5. 自动对战技术
要做这个游戏需要学习那些方面的知识,请高手帮忙推荐几本入门的书籍。在整个过程中,需要什么样的步骤。整体思路是什么?我们现在很盲目,希望大侠帮忙交流一下你的想法谢谢
str.chan 2010-08-04 21:32
犀利啊 不顶不行~~
Icyflash 2010-08-04 12:04
@sala
又没涉及到界面,要啥图片
sala 2010-08-04 11:45
怎么连张图片都没有
高_岚 2010-08-04 10:54
我们是通信领域的一家专业猎头公司:定点猎头FocusHeadhunting,公司长期向通信、IT知名企业推荐中高端人才。
目前为广州一家通信公司推荐:WINDOWS C++ C# 中、高级开发工程师.
需要工作经验三年以上,
熟悉Windows应用程序开发,熟悉C++/MFC C#/.NET ,熟悉Visual Studio开发工具;
熟悉多线程编程、数据库访问技术、网络Socket编程;
希望能够给你提供机会。邮箱:isam501#163.com 或者QQ 909498939
Kurodo 2010-08-04 09:09
前几天,朋友带我去玩了三国杀,还想要实现一把,看来被抢先了
斯克迪亚 2010-07-31 10:47
哇哈,最好写个能支持联机对战的三国杀,方便朋友们玩
智会超 2010-07-30 18:55
“如果从模型开始,不用也得用;如果是从数据库表设计开始,用也是没用。”
双手赞成LZ的这句话!
枫 2010-07-29 21:48
@Sumtec
为什么不用Queue和Stack,是因为后面还有观星等技能
这个污染么,只是目前的想法,一步一步写的而已
Sumtec 2010-07-29 18:23
牌堆为何不用Queue<T>?
为啥是Push和Pop呢?
就算是Push和Pop,那为什么不用Stack<T>呢?
此外Shuffle/Recreate这种操作,其实只对牌堆有意义,做成对IList<T>的扩展,会污染很多代码的。至少也应该是对IList<GameCard>扩展,即便是这样,某一个玩家手里的牌,不也应该是IList<GameCard>么,这个时候的Shuffle/Recreate有意义吗?
牌堆就是一个封闭域,不应该把这里面的知识传播到外面去。
小孩妮 2010-07-29 16:31
学习学习 牛人
花道长 2010-07-29 15:46
这个游戏其实难点在于,A出牌杀b b杀C c杀d d可能会转嫁给b 最后再把结果反馈给A 游戏逻辑不太好处理。
花道长 2010-07-29 14:39
继续关注,希望能走到最后
花道长 2010-07-29 14:37
希望楼主能开发成功,我以前和一个同事一起搞过,后来失败了,那时候用的是java
Windie Chai 2010-07-29 10:58
貌似牌堆的操作还少一些。
譬如诸葛亮同学的观星,他看完牌之后,是可以把牌放到牌堆的顶部或底部的。
尤利卡 2010-07-29 10:27
顶,期待后续!
落叶归根@じょさん 2010-07-29 10:20
原来盛大的三国杀是用C#写的啊,强大啦!学习下,尽管还有很多看不太懂
坤坤 2010-07-29 09:25
早上过来坐坐LZ的板凳哦
goodsun 2010-07-29 09:03
[url=http://testweb.sanguosha.com/]http://testweb.sanguosha.com/[/url]
MagicHu 2010-07-26 11:16
这种东西的难点,第一,可扩展性,第二,AI。
其他的,没有难度。
liumingzhu 2010-07-26 10:35
使用Silverlight有什么限制?
1、Silverlight需要在客户机上安装一个4.0MB左右的插件。[url=http://www.shoptiffanysilver.com/]tiffany necklaces[/url]
跟Flash一样,要在客户机上运行Silverlight应用程序,需要安装一个4.0MB左右大小的插件。一般来说,如果客户机可以连接到 Internet,那么将会提示到微软网站上去下载这个插件。但如果客户机不能够安装插件,则不能够使用silverlight技术来创建应用程序。[url=http://www.eluxurysbrands.com/chanel/leather-goods/bags.html]chanel bags[/url]
2、Silverlight应用程序不能提供准确的URL定位。
[url=http://www.cheapghdshair.net/]cheap ghd straighteners[/url]
设想如果一个网站是全站使用Silverlight技术,而某人需要知道该网站的其中某一条信息,在目前暂时无法提供准确的URL去定位到该条信息。其实这也是RIA本身所存在的一个问题。[url=http://www.eluxurysbrands.com/]gucci bags[/url]
liumingzhu 2010-07-26 10:31
It's okay, WSJ. Easy mistake.[url=http://www.shoptiffanysilver.com/]tiffany necklaces[/url] Here's a pointer for next time, though: [url=http://www.eluxurysbrands.com/chanel/leather-goods/bags.html]chanel bags[/url] all three of Blizzard's franchises are cash cows, but only one of them lets you play as an actual cow. Then again, [url=http://www.eluxurysbrands.com/]gucci bags[/url] another one has a cow level. Huh, maybe our cow-based organization system could use a little more work.
[url=http://www.cheapghdshair.net/]cheap ghd straighteners[/url]
liumingzhu 2010-07-26 10:24
在一个场景中设置两个玩家,游戏的牌堆中只有三种基本牌:杀、闪、桃。其中,只有杀和桃是属于主动性游戏牌,[url=http://www.shoptiffanysilver.com/]tiffany necklaces[/url] 即可以在自己行动回合将其打出;闪是被动性游戏牌,只有当别人对自己出杀的时候才可以出闪,否则扣除一点体力,[url=http://www.eluxurysbrands.com/chanel/leather-goods/bags.html]chanel bags[/url]而使用桃则为自己增加一点体力。同样,为了简化实现,只要有能使用的牌,就必须使用;而且,如果你的手牌数量大于体力值,则需要弃牌直到手牌数与体力值相等。在这种情况下,只要有一方体力为0,游戏结束!
[url=http://www.cheapghdshair.net/]cheap ghd straighteners[/url]
枫 2010-07-26 09:32
[quote]pcy:
LZ想法不错
不过IsGameEnds()这个函数按你的意思为什么不这样写
[code=csharp]
private bool IsGameEnds()
{
return players.Any(p => p.IsDead); // 如果选择到IsDead的Player,游戏结束
}
[/code][/quote]
因为工作什么一直在2.0下,Linq什么不是太熟,所以写出来可能会有更多收获。
Franky 2010-07-26 09:10
有意思 ..关注下
lovecherry 2010-07-26 09:09
不错,翻译还是要抓紧哥们
pcy 2010-07-26 08:31
LZ想法不错
不过IsGameEnds()这个函数按你的意思为什么不这样写
[code=csharp]
private bool IsGameEnds()
{
return players.Any(p => p.IsDead); // 如果选择到IsDead的Player,游戏结束
}
[/code]
Sourire 2010-07-25 22:28
恩恩;支持。很不错的。很有钻研精神
枫 2010-07-25 22:21
我又不商业化,告什么告
xoyozo 2010-07-25 22:18
实际的规则比这复杂多了,特别是有风、EX等,还有,小心盛大告你侵权哦~~
zhourui 2010-06-09 09:46
@Cameo
难道不都是先设计好数据库在写代码吗?
Chihom 2010-06-04 22:48
不错
henry 2010-06-04 13:06
@枫
共实你的WEB应用程序验证也可以依赖一个接口,对于这个接口实现是通过HttpContext或静态字段,可根据情况实现
枫 2010-06-03 23:22
[quote]Dreampuf:
一般在用户验证是和Session挂钩,而Session在HttpContext中的...
同样winform中也有需要验证的该怎么办了?.[/quote]
web需要session是因为web的无状态性,winform认证那就简单多了,做个静态字段即可。
我爱吃西瓜 2010-06-03 22:32
看到我还是没考虑这么深啊,我的做法是模拟了Session和Cookie,逻辑层使用了Session,于是做了一个环境的接口,真实环境和单元测试各做一个实现
谢小漫 2010-06-03 21:30
@Dreampuf
看书。
书《设计模式:基于C#的工程化实现及扩展》有个例子写了一个通用的Context
richardzeng 2010-06-03 20:34
“因此,实际的系统中都是通过对关键业务流程逻辑来保留事件进行扩展”
这句话有见地。
richardzeng 2010-06-03 20:28
面向对象说白了就是所有事物都是对象,编程的时候把自己想像成那个对象。但是从系统的设计来讲应该会有约束管理这个对象的对象(事物)
richardzeng 2010-06-03 20:21
的确很多的公司不重视单元测试,导致在测试方面就想到GUI层面的自动化测试。最终导致自动化测试成为空谈。
幸运猴子 2010-06-03 20:13
@Dreampuf
同问!
高天蒲 2010-06-03 18:29
很好,受教了~
Dreampuf 2010-06-03 18:27
一般在用户验证是和Session挂钩,而Session在HttpContext中的...
同样winform中也有需要验证的该怎么办了?.
xvhfeng 2010-05-31 20:26
单元测试当然要专人来做了!楼主那是这方面的专家啊!
virus 2010-05-28 13:28
业务逻辑层的代码中出现了HttpContext这个东西
这个东西好像不应该出现在业务逻辑层吧,代码要规范啊
坤坤 2010-05-21 09:42
呵呵,LZ也在开拓新的知识领域阿!
谢小漫 2010-05-20 23:24
专人单元测试???!!!
辰 2010-05-01 21:46
@assiwe
我估计你也没时间去看这三本书,我就顺便把他们精髓说说算了。
四人帮在Design pattern里面,首先解释的是:
设计模式是一种人与人交流的代号,通过pattern,能够让工程师快速掌握代码的架构。本文23个pattern只是他们日常生活中经常用的。希望阅读此书的人,能够扩展出自己的设计模式。
因此,design pattern的精髓在于,让我们如何去设计自己的设计模式,而不是去掌握23个pattern。虽然这23个pattern很多都写的不错。
refactoring 解释的是如何提高代码的健壮性、还有编程习惯等等,和code complete有点像,不过code complete更加具体到技术,范围更广。
UML一书,整本书围绕着几个实际的案例展开,同样,目的是让我们学会用UML去思考,而不是让我们知道什么是用例、什么是actor,一大堆破烂箭头、曲线折线是什么意思。
基本上看,你读书,仅在于What, 而我说的书在于How。