CoderZh首款Python联机对战游戏 - NancyTetris1.0倾情发布(一)

第一次写游戏,第一次用Python写游戏,所以决定写个俄罗斯,还支持联机对战!

由于在游戏编写的数据结构及算法设计上经验不足,同时在实现联机对战过程中仅仅使用了一些简单TCP/IP数据传输的机制,所以肯定有很多地方有待改进。

具体的代码实现及算法分析过程稍后补上(下面有Python源码下载),这里先接受大家砖头和鸡蛋,希望多提意见和建议!

游戏截图如下:

 

 

=========== Nancy Tetris 说明文档 =================

1. src里源代码,运行需要安装pygame库
2. NancyTeris目录中为编译的exe版本,可直接运行tetris.exe

Nancy Tetris 说明
---------------------------------------------------
1. 单机游戏  -- 直接运行 tetris.exe
2. 联机对战(只支持两人对战)
   2.1 主机加命令行参数运行:
       tetris.exe server
   2.2 另一台机器加主机IP命令行参数运行:
       tetris.exe 192.168.XX.XX
操作说明
--------------------------------------
-----       ↑    变形          ------
-----       ←    左移          ------
-----       →    右移          ------
-----       ↓    加速          ------
-----      Space  直接掉落      ------
-----      Enter  重新开始      ------   

--------------------------------------

游戏源码及二进制版本下载:

http://files.cnblogs.com/coderzh/NancyTetris.rar

游戏UI库使用的是著名的Pygame,NancyTetris已经在pygame.org立项,版本更新敬请关注:

 http://www.pygame.org/project/825/?release_id=1421


作者:CoderZhCoderZh的技术博客 - 博客园
出处:http://coderzh.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

CoderZh
关注 - 9
粉丝 - 40
0
0
(请您对文章做出评价)
« 上一篇:Python天天美味(29) - 调用VC++的动态链接库(DLL)
» 下一篇:GAE申请成功!
posted @ 2008-07-28 20:44 CoderZh 阅读(2280) 评论(36) 编辑 收藏 所属分类: Python

 回复 引用 查看   
#1楼2008-07-28 22:17 | 李涛      
沙发
关注Python

 回复 引用 查看   
#2楼[楼主]2008-07-28 22:23 | CoderZh      
@李涛
谢谢!!自己再坐个板凳

 回复 引用 查看   
#3楼2008-07-28 23:38 | xjb      
支持一下 ,有机会开发个web版的,放在google app Engine 上
 回复 引用 查看   
#4楼2008-07-29 07:58 | Kain      
关注

 回复 引用   
#5楼2008-07-29 10:54 | cnm[未注册用户]
去一边
 回复 引用 查看   
#6楼[楼主]2008-07-29 11:01 | CoderZh      
@cnm
大哥我哪里得罪你了。。。

 回复 引用 查看   
#7楼[楼主]2008-07-29 11:02 | CoderZh      
@xjb
google app Engine 注册不上啊。。。

 回复 引用 查看   
#8楼2008-07-29 11:12 | 红尘中迷茫      
请教:如何使用pygame实现动态背景效果,例如海洋里,水泡泡、浮动水草的效果。
 回复 引用 查看   
#9楼[楼主]2008-07-29 11:16 | CoderZh      
@红尘中迷茫
我也学习的不多,我有pygame的电子书《Beginning Game Development with Python and Pygame》或许能给你帮助?需要的话邮件发给你

 回复 引用 查看   
#10楼2008-07-29 11:45 | AlexLiu      
学习了python几天发现好像dive into
python不是很合适最新版本的python,很多书里面提供的东西不能使用。

 回复 引用 查看   
#11楼2008-07-29 11:46 | AlexLiu      
@CoderZh
这是我的邮箱,给我发一份好不。
rainspt@hotmail.com

 回复 引用 查看   
#12楼[楼主]2008-07-29 11:54 | CoderZh      
@AlexLiu
已经发到你的邮箱了。
你指的python最新版本指的是python3000还是python2.5??
我开始学是看《Python Tutorial》,非常不错
《Dive into python》我也觉得太零散了,不够系统

 回复 引用   
#13楼2008-07-29 12:44 | 清晨无梦[未注册用户]
做得挺漂亮的!不错~~楼主加油!
 回复 引用 查看   
#14楼2008-07-29 13:00 | 逖靖寒      
--由于在游戏编写的数据结构及算法设计上经验不足

关于俄罗斯方块游戏的数据结构,网上很很多介绍。建议楼主找找看;)

 回复 引用 查看   
#15楼2008-07-29 13:00 | 逖靖寒      
@CoderZh
--引用--------------------------------------------------
CoderZh: @AlexLiu
已经发到你的邮箱了。
你指的python最新版本指的是python3000还是python2.5??
我开始学是看《Python Tutorial》,非常不错
《Dive into python》我也觉得太零散了,不够系统
--------------------------------------------------------
哈哈,我也在看《Python Tutorial》

 回复 引用 查看   
#16楼[楼主]2008-07-29 13:05 | CoderZh      
@逖靖寒
嗯,是要看看别人怎么设计的了。
我只是想先不看别人的设计,然后自己去摸索找到一条最合理可行,又可扩展的设计方式。

 回复 引用 查看   
#17楼2008-07-29 13:20 | Allen Lee      
有趣!我不客气了~~~
 回复 引用   
#18楼2008-07-29 14:17 | nk912114[未注册用户]
楼主,也把《Beginning Game Development with Python and Pygame》发我一份吧,nk912114 (at) 163.com 谢谢!
 回复 引用 查看   
#19楼[楼主]2008-07-29 14:57 | CoderZh      
@nk912114
已经发到你邮箱了:)

 回复 引用   
#20楼2008-07-29 17:33 | allenheart[未注册用户]
楼主也给我发下《Beginning Game Development with Python and Pygame》吧,非常感谢。我的邮箱是allen6767@163.com
 回复 引用 查看   
#21楼[楼主]2008-07-29 17:37 | CoderZh      
@allenheart
也已发到你邮箱了:)

 回复 引用   
#22楼2008-08-05 16:23 | Tom.Lee[未注册用户]
谢谢了
也给发一份吧
y.uylyp@gmail.com

 回复 引用 查看   
#23楼[楼主]2008-08-05 16:25 | CoderZh      
@Tom.Lee
已发

 回复 引用 查看   
#24楼2008-08-29 13:45 | 逖靖寒      
哈哈,看到了。

我也打算好好学习Python,有机会多交流;)

 回复 引用 查看   
#25楼[楼主]2008-08-29 14:39 | CoderZh      
@逖靖寒
好啊

 回复 引用   
#26楼2008-09-10 22:54 | shuxia29[未注册用户]
我的俄罗斯方块也做成了,参照了你的一些算法,但不支持联机对战,有兴趣也到
http://search.download.csdn.net/search/python%E5%8A%A0pygame%E5%86%99%E7%9A%84%E4%BF%84%E7%BD%97%E6%96%AF%E6%96%B9%E5%9D%97
下来看看,我用py2exe打包时有时成功,有时不成功,请问有没有py2exe打包pygame程序和pyOpenGL程序的帮助文档或其他资料,发给我一份,在py2exe.org找不着呀

 回复 引用   
#27楼2008-09-10 22:56 | shuxia29[未注册用户]
还有 ,请问有没有python中使用c或者c++的详细中文资料,也发给我一份
29lsj@163.com

 回复 引用 查看   
#28楼[楼主]2008-09-11 08:31 | CoderZh      
@shuxia29
不错!
py2exe打包后如果失败的话有log记录的,你可以看下log,一般情况下是缺少某些文件造成的。
我使用py2exe也是简单的使用,没有专门去研究过。我是这样使用的:
from distutils.core import setup
import py2exe
setup(windows = [{"script":"tetris.py", "icon_resources": [(1, "bm.ico")]}])

 回复 引用 查看   
#29楼[楼主]2008-09-11 08:35 | CoderZh      
@shuxia29
“python中使用c或者c++”我也没有专门的资料,这一块我也比较关注。以后多交流吧~

 回复 引用   
#30楼2008-10-15 17:00 | SnowInJune[未注册用户]
楼主,也把《Beginning Game Development with Python and Pygame》发我一份吧,mill2002 (at) 163.com 谢谢!
 回复 引用 查看   
#31楼[楼主]2008-10-15 17:06 | CoderZh      
@SnowInJune
已发

 回复 引用   
#32楼2008-10-16 10:05 | liulin[未注册用户]
感谢楼主给我发一份 《Beginning Game D.....》我也很想学习
liulin@sict.ac.cn

 回复 引用 查看   
#33楼[楼主]2008-10-16 11:59 | CoderZh      
@liulin
发了

 回复 引用   
#34楼2008-11-21 15:46 | DBAutoTest[未注册用户]
AutoTest无意中路过,很好很强大
代码看过,注释太少.希望能够把一些比较难理解的代码多注释一下.
 回复 引用 查看   
#36楼[楼主]2009-01-08 10:36 | CoderZh      
@一日就是一天
嗯,注释确实是很少。过段时间可能自己都会忘记了。谢谢你的提醒,有时间我补充一下~