用python做斗地主,大家都有什么好一点的设计方案呢?越详细越好,拜托了

Python022

用python做斗地主,大家都有什么好一点的设计方案呢?越详细越好,拜托了,第1张

如果只是自己练习着玩。你随便写一写吧。 如果是想做成一个真正的游戏。一个产品。就首先理清楚需求。

你这个软件谁用的。怎么赚钱,要满足用户的哪些需求。再根据这些需求建立一个开发方案。

我只能猜猜,你这个软件是局域内学生用,联网玩的。因为你们不能上互联网。所以只能局域网玩。我记得微软的几个牌类游戏是可以联网玩的。你自己检查一下看。开源的也有类似的程序。

如果一定要自己写这就需要分客户端与服务端。服务端可以不用开发。这种简单游戏,直接用一个数据库当服务端好了。或者是一个memcache或者是一个key value的非关系型数据库。总之不用认证,不用加密。

下面就是客户端开发。网络部分不说。那就只剩下界面与扑克的算法。界面也不用说什么,做一个Canvas,然后绘制,这样效果最好,但是复杂了。直接用一个Image控件来玩,相对非常简单。动态创建与删除控件。绑定控件的消息就成了。

至于扑克算法及数据结构。这个好象没有太多难度。会打牌的人都可以做。记录打牌的所有牌的状态,每个玩家的状态,以及按次序发牌,判断胜负就可以了。

能,但不适合。用锤子能造汽车吗? 谁也没法说不能吧?历史上也确实曾经有些汽车,是用锤子造出来的。但一般来说,还是用工业机器人更合适对吗?比较大型的,使用Python的游戏有两个,一个是《EVE》,还有一个是《文明》。但这仅仅是个例,没有广泛意义。一般来说,用来做游戏的语言,有两种。一是C++。。一是C#。。Python理论上,不仅不适合做游戏,而是只要大型的程序,都不适合。只适合写比较小型的东西,比如一个计算器,一个爬虫等。主要有2个方面,一是速度慢,二是语法缺陷。也许你一定觉得,Python的语法又干净,又优雅,怎么还有缺陷?但仔细想想,为什么别的语言没有这么干净?没有这么优雅?明明可以直接a=123 干嘛非要写成 int a=123;呢?难道是其他语言的设计者,都有强迫症吗?道理很简单,有得必有失。如果数据类型,只有字符串和数字,省略掉声明变量的过程,当然不是问题。但只要逻辑一复杂,情况就完全不同了。。。游戏中,你用C#或C++写起来,大概会是这样。技能 a=xxxx;武器 b=xxxx;角色 c=xxxx;药水 d=xxxx;音乐 e=xxxx;而Python呢?大概是这个样子a=xxxxb=xxxxc=xxxxd=xxxx如果你的代码很少,显然是Python比较方便。但如果你创建几百个对象,代码超过1万行。。。写到几千行的时候,遇到一个叫x的对象,你还知道它到底是个啥吗?是一把武器?还是一瓶药水?还是一张图片?一段音频?一盏灯光?一座房子?不要以为1万行代码很多。。。。1万行连个《斗地主》都写不完。。用Python写大程序的感觉就是,当你第一天,只写了50行代码,创建了3个类,5个对象。你会觉得太爽了,这绝对是世界上最好的语言。。。第二天,你又创建了2个类,5个对象的时候,就觉得有点晕晕的了。第三天,又创建了2个类之后,你会发现自己必须非常仔细的看一遍注释,否则就不会写了。第四天,你一整天都在看注释。。。。这就是动态语言的劣根性。一开始代码量少,看不出任何缺点,各种省事,各种爽。代码量越多,脑子越乱。一般500行以上,效率就会被JAVA,C#之类的语言反超。。1000行,就必须要各种加注释才能看懂了。。2000行,注释比代码还多了。。5000行,注释已经完全不管用了,自己根本看不懂自己的代码,需要准备弃坑了。