Python新兵写的一个竞技场小游戏,请大家赏玩

2014-01-23 11:30:15 +08:00
 MarioLuisGarcia
游戏名:Mario‘s Arena (马里奥的竞技场)
目前放出的是2.6e和2.7e两个版本

目前版本游戏特征:
·纯文本
·全英文
·支持玩家自定义角色名称
·玩家初始能力值随机生成(玩家可输入幸运数字加以影响,效果类似于抽奖)
·支持无尽战斗

·三种基本能力
力量:影响生命值和基础攻击力
敏捷:影响攻击速度和基础攻击力
幸运:影响技能施放几率和浮动攻击力

·四种技能
暴击:生命值低于敌人时有机会造成双倍伤害 影响因素:敏捷、幸运
闪避:有机会闪避敌人的攻击 影响因素:敏捷、幸运
重击:生命值高于敌人时有机会打晕敌人一段时间 影响因素:力量、幸运
反弹:被攻击时有机会反弹一些伤害 影响因素:力量、幸运

商店系统:
每局的获胜者将获得一个荣誉点,用于在商店里购买各种属性点和技能。失败者将死亡,失去所有现有属性和荣誉点。以随机数值重生。

2.6e和2.7e的区别:
2.6e所有技能为天生拥有,2.7e里初始没有任何技能,需在商店购买,并加入胜利场次显示系统
2.7e相对于2.6e精简了代码结构,加入了大量防止错误退出的机制,游戏体验性更好。

作者建议下载2.7e Python版(公司有流量监控呢!),对于那些上来就想拥有全技能的,可以试试2.6e。

下载地址:
python版本
2.7e ( http://zengjuchen.info/dnd2.7e(python).zip )
2.6e ( http://zengjuchen.info/dnd2.6e(python).zip )

windows版本(exe格式)
2.7e ( http://zengjuchen.info/dnd2.7e.zip )
2.6e ( http://zengjuchen.info/dnd2.6e.zip )


创作背景(VIP选读章节):python是作者接触的第一门编程语言(大学里的vb不算吧?),作为一个玩过数万小时游戏的游戏玩家,在学习LearnPythonTheHardWay教程的时候萌发了做一个冒险格斗游戏的想法。最开始为“如何让两个人根据敏捷以不同攻击速度互相攻击”这个问题伤偷了脑筋。之后在如何创造无尽战斗系统的时候又遇到了无尽的bug,一度萌生放弃计划的念头。不过之后还是继续开发,并找出了无尽战斗的实现方法,之后又添加了商店。睡觉的时候脑子里都是各种代码,最爽的是想到解决方法时那种被启发的感觉。开发初期我使用的编辑器是windows txt(公司)notepad(公司)和gedit(家)。有一次出现了非常奇怪的bug。一段代码在家好用,在公司自己写出来也好用,在公司复制一下就执行不了,上stackoverflow都没有找出解决办法。花了我一上午的时间,最后被一个stackoverflow上的神人指点可能是tab缩进的问题。notepad可能有自动的tab缩进。我知道tab和空格之争,却没有想到这种事情竟然会发生在我的身上。自此开始跳入vim的大坑。嘿,还真TM爽。最近两个周末都用来熟悉vim的操作。下一步的游戏开发计划是加入怪物系统和物品系统,并且物品系统要创造类似暗黑那种各种后缀随机组合的物品,使物品具有unique性质。啊,怪物系统除了一些特定boss外也可以搞一些随机属性的怪。就是这样。还有另一个可能的开发计划,就是将它图形化。大家一起期待下一个版本的到来吧!~
4613 次点击
所在节点    分享创造
15 条回复
cYcoco
2014-01-23 11:32:55 +08:00
以下
yesq
2014-01-23 11:36:40 +08:00
正在看 LearnPythonTheHardWay。正好学习一下。谢谢楼主
Mutoo
2014-01-23 11:46:43 +08:00
===
mutoo attacks h, deals 213 damage, h has -25 hp left.

h was killed, mutoo wins! mutoo got 1 points now
===

hp 居然可以是负的。 = =
MarioLuisGarcia
2014-01-23 12:23:30 +08:00
@Mutoo 可以啊,负或者0都死,可以加一行代码让负变成零。
MarioLuisGarcia
2014-01-23 12:24:02 +08:00
@Mutoo 下次改进的时候把这个feature加上好了,多谢反馈
cassyfar
2014-01-23 12:29:06 +08:00
下载windows 2.7e下来chrome给了个warning说可能是危险文件
MarioLuisGarcia
2014-01-23 15:14:42 +08:00
@cassyfar 有次我上新浪爱问的一个下载页面,也被chrome弹红色窗口了。
MarioLuisGarcia
2014-01-23 15:15:13 +08:00
@cassyfar 你头像是千与千寻里那个精灵!
guibin1989
2014-01-23 17:55:18 +08:00
@MarioLuisGarcia 头像明明是哈尔的移动城堡里的那个火魔吧=。=
MarioLuisGarcia
2014-01-23 18:01:36 +08:00
@guibin1989 对的,就是他。我记混了。。
asdftu
2014-01-24 17:58:50 +08:00
为什么 playerB 总是输
MarioLuisGarcia
2014-01-24 22:16:46 +08:00
@asdftu 你玩了多少盘?
MarioLuisGarcia
2014-01-26 20:39:13 +08:00
@asdftu 今天一件事让我意识到我对global的理解有误,很可能2.7e版本里面有fatal的错误。2.6版本因此可能比2.7版本平衡性更好。待我升级到2.8版本(2.8版本增加了随机生成多种属性的物品哦)
MarioLuisGarcia
2014-01-26 21:14:49 +08:00
@asdftu Hi,我刚才仔细测试了,发现2.7e还不存在重大bug,另外,在刚才的测试中,b是可以赢的。
owei
2014-01-27 11:35:35 +08:00
刚刚看来楼主的代码,我也是刚学不久,提个小的意见,是不是可以封装成对象来处理问题,这样定位问题和查找都比较方便;
ps:确实看到很多相同的代码和计算方法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/98075

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX