如何设计一款世界上最无趣的游戏?——《无聊的大魔王》

在知乎问题“如何设计一款最无趣的游戏”下,网友“石中火”设计了一款名为《无聊的大魔王》的游戏。想要玩很简单,只要把代码保存到记事本上,将文件后缀名从.txt改成.bat,双击打开就可以了。

授权转载石中火2015年10月27日 13时04分
本文转载自知乎,是知乎用户石中火在问题“如何设计一款世界上最无趣的游戏?”下的回答。

若有开发者从本文中获得启发,请记得联系作者。

 

我看了这个题目下的所有高票答案,虽然的确非常无聊,但它们都有一个致命的破绽——不能玩!这些游戏要么需要下载,要么干脆连游戏都没有。虽然仅仅只是看文字我就觉得非常无聊,但是我还是想玩一玩啊!

而且,题主问的是“如何设计一款最无趣的游戏”,大部分答案都没有讲到“如何设计”这一方面。尽管有很多大牛给出了他们自己的设计想法,其中也有想想就让人觉得无聊的点子......

所以,作为一个软件专业出身的心理咨询师,我觉得是时候出来冒个泡了!

在接下来我的答案中,我会附上游戏,可以玩的(虽然做工着急)!为了照顾广大Windows用户,我用了批处理来写这些游戏。想要玩很简单,只要把我的代码保存到记事本上,将文件后缀名从.txt改成.bat,双击打开就可以玩了。至于用Linux的大神和用Mac的土豪们,我也不知道怎么玩。

如果改了文件名还是不能玩,这是因为文件拓展名是隐藏的。所以其实当你改了名字之后,那个文件的名字其实变成了《无聊的大魔王.bat.txt》,所以还是个记事本文件。解决办法如下——

1:把我的代码复制到记事本上后,保存到E盘,直接保存进去,不要保存在盘里的其他文件夹中。要保证一打开盘就能看到。

2:开始->运行->输入cmd打开一个窗口,在里面输入 E: (E+冒号),回车。这个时候你会发现电脑自动换行了变成了E:\>

3:输入 ren 无聊的大魔王.txt 无聊的大魔王.bat 回车。注意ren 和无聊的大魔王.txt和无聊的大魔王.bat这三个之间要有一个空格。

4:然后就可以玩了。如果你存在D盘或者F盘什么的也都一样。

5:最后补充一点,ren 后面的无聊的大魔王.txt其实就是你保存我的代码的记事本的文件名。如果你不会命令行切换中文输入的话,那就把那个文件名改成英文的。后面那个 无聊的大魔王.bat 是转换后的文件名,同样也是可以自己定义名字的。

6:如果能玩就忽略以上步骤。

实在解决不了的朋友,可以去我的百度云盘下载。

最后,请小伙伴们依据提示操作。批处理的特点是如果不按常理出牌的,有可能会导致未知的错误,到时候就只能重来了。

 

要问如何设计一款无聊的游戏,首先要从游戏到底为什么吸引人谈起。只要去除这些游戏吸引人的部分,游戏自然就变得无聊了。因此我们先看一个例子——

@echo off Setlocal enabledelayedexpansion ::CODER BY Administrator POWERD BY iBAT 1.6 set /a hp=20 echo 你遇到了大魔王,大魔王还有%hp%点血,快攻击他吧 :loop echo 快按1攻击大魔王 set /p att= if not "%att%" == "1" echo 请按1才能攻击大魔王 &&goto loop set /a hp-=1 echo 你攻击了大魔王,大魔王还剩下%hp%点生命值。 if %hp% == 0 goto win goto loop

:win echo 大魔王死了,恭喜你。 pause

小伙伴们把这段代码复制,粘贴到记事本上,而后保存,文件名改为“无聊的大魔王.bat”,双击就可以玩了。

这个游戏的目标是打败大魔王。你每攻击一次,大魔王扣一点血。攻击20次,大魔王就死了,你就赢了。大魔王20点血,你每次打掉一点血。其实就相当于,你连按40次键盘(攻击键+回车),游戏就结束了。

大家是不是觉得一股困意扑面而来?按着按着就有想睡觉的冲动?但是,这的的确确是一款游戏,尽管它很无聊。首先我们先明确游戏的概念——什么是游戏?游戏,首先要有一个明确的可以实现的目标。比如我这个游戏,就是要打败大魔王,而且这是可以实现的。有答案提到《沙漠巴士》,这游戏虽然特别久,但不可否认它的目标是可以实现的。

其次,要有可操作性。如果不能交互操作,那么就不能算游戏。大家看,我的这个游戏虽然很无聊,但是它满足了游戏最基本的两个要求。

但是大家为什么觉得它很无聊呢?原因在于,它的每一个结果都是确定并且重复的。换句话说,当你攻击两次之后,你已经知道接下来的18次会是个什么样子,游戏只是单调的重复。所以,游戏引人入胜的一个重要点在于,要有可控的未知。

为此,让我们修改《无聊的大魔王.bat》,提高大魔王的血量,并且使得自己的攻击有波动。如下——

@echo off Setlocal enabledelayedexpansion ::CODER BY Administrator POWERD BY iBAT 1.6 set /a hp=100 echo 你遇到了大魔王,大魔王还有%hp%点血,快攻击他吧 :loop echo 快按1攻击大魔王 set /p att= if not "%att%" == "1" echo 请按1才能攻击大魔王 &&goto loop set /a athp=%random%%%10+1 set /a hp=hp-athp echo 你攻击了大魔王,造成了%athp%点伤害,大魔王还剩%hp%点生命值。 if %hp% leq 0 goto win set att= goto loop

:win echo 大魔王死了,恭喜你。 pause

同样,复制我的代码到记事本里,保存,而后将文件名更改为“有攻击浮动的大魔王.bat”,双击就可以玩了。

在这个例子里,你的攻击有了波动,不再是一成不变的了。这个时候,你就可以和小伙伴们比一比谁用最少的攻击次数打败大魔王了。怎么样?是不是开始好玩了?(才没有!)

然而这个大魔王2.0还是很无聊,原因在于它无法提供失败经历,也就是必胜。这就使得游戏没有了挑战性。你想想网络上有很多小游戏,一些火一点的小游戏都出了无敌版,但是为什么无敌版玩起来却没有原版那么有趣?就是因为胜利来的太快。在不存在失败可能的情况下,胜利感会被剥夺。因此,只有在经过超过自己能力一点点的,较有挑战性的任务后,我们才能体会到成功的快感。

好的,让我们再一次修改大魔王,我们赋予大魔王反击的能力——

点我挑战会反击的大魔王" width="Width of toggle box

@echo off Setlocal enabledelayedexpansion ::CODER BY Administrator POWERD BY iBAT 1.6 set /a hp=100 set /a myhp=20 echo 你遇到了大魔王,大魔王还有%hp%点血,你有%myhp%点血。快攻击他吧! :loop echo 快按1攻击大魔王 set /p att= if not "%att%" == "1" echo 请按1才能攻击大魔王 &&goto loop set /a athp=%random%%%10+1 set /a hp=hp-athp echo 你攻击了大魔王,造成了%athp%点伤害,大魔王还剩%hp%点生命值。 set /a myhp-=1 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值。 if %hp% leq 0 goto win if %myhp%==0 goto lose goto loop

:win echo 大魔王死了,恭喜你。 pause goto :eof

:lose echo 你被大魔王打死了,真可惜。 pause

同样,复制粘贴进记事本,保存改文件名“会反击的大魔王.bat”,双击就可以玩了。

在这个例子里,你有了20点生命值,而且每次攻击都会被大魔王反击。如果你的人品比较差,打出的平均伤害低于5的话,你就会被大魔王干掉。

好了,现在你有了失败的可能性,是不是成就感就更加激烈了?这个游戏有没有让你一玩就停不下来的冲动?

我知道没有......

它依然很无聊,因为你的操作范围太狭窄了。你看,即便是最简单的文字冒险,都有各种不同的选项。单一的操作所带来的依旧是重复,尽管你的每次攻击都包含了未知,但在操作上这个游戏依旧是无聊的。

所以,我再一次对大魔王3.0进行改动,加入了技能系统——

点我挑战会大招的大魔王" width="Width of toggle box

@echo off Setlocal enabledelayedexpansion ::CODER BY Administrator POWERD BY iBAT 1.6 set /a hp=130 set /a myhp=20 echo 你遇到了大魔王,大魔王还有%hp%点血,你有%myhp%点血。快攻击他吧! set /a two=3 set /a three=2 set /a four=1 echo 提示:按相应的数字使用技能。 echo 1普通攻击 echo 2弯月斩(!two!\3) echo 3唯我独尊斩(!three!\2) echo 4良辰重谢斩(!four!\1) pause :loop setlocal echo 1普通攻击 echo 2弯月斩(!two!\3) echo 3唯我独尊斩(!three!\2) echo 4良辰重谢斩(!four!\1) set /p att= if %att% == 1 goto one if %att%==2 goto two if %att%==3 goto three if %att%==4 goto four echo 请根据提示按出相应的技能。&&goto loop :round if %hp% leq 0 goto win if %myhp%==0 goto lose pause cls endlocal goto loop

:one set /a athp=%random%%%10+1 set /a hp=hp-athp echo 你攻击了大魔王,造成了%athp%点伤害,大魔王还剩%hp%点生命值。 set /a myhp-=1 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值 goto round

:two if %two%==0 echo 技能用完了。。真可惜。&&goto loop set /a two-=1 echo 你对大魔王使用了半月斩,一道月光闪过,大魔王损失了5点生命值 set /a hp=hp-5 echo 大魔王还剩下%hp%点生命。 set /a myhp-=1 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值 goto round

:three if %three%==0 echo 技能用完了。。真可惜。&&goto loop set /a three-=1 echo 你对大魔王使用了唯我独尊斩,你变得无比巨大,充斥天地, echo 接着一刀砍下,像拍苍蝇。大魔王损失10点生命。 set /a hp=hp-10 echo 大魔王还剩下%hp%点生命。 echo 大魔王眩晕了! goto round

:four if %four%==0 echo 技能用完了。。真可惜。&&goto loop set /a four-=1 echo 叶良辰出现在你身后,冷漠地盯着大魔王说道:“今日良辰来 echo 对你完成应有的重谢。”说罢一刀砍向大魔王。大魔王损失了 echo 30点生命。 set /a hp=hp-30 echo 大魔王还剩下%hp%点生命。 set /a myhp-=1 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值 goto round

:win echo 大魔王死了,恭喜你。 pause goto :eof

:lose echo 你被大魔王打死了,真可惜。 pause

当你复制粘贴保存改名“有技能的大魔王.bat”,并且双击打开的时候,你发现你的选择变多了。

你可以释放不同的技能。并且每个技能都有不同的效果和使用次数的限制。这些技能如何搭配如何使用决定了会有不同的打赢大魔王的方式。尤其是如果使用“唯我独尊斩”还会造成眩晕效果。

怎么样,到这一步,这个游戏已经不再那么无聊了吧?

让我们更进一步完善这个游戏,加入角色选择机制,在游戏的一开始,我们可以选择三个角色——战士、法师和刺客。每个角色都有不同的特色。大魔王最终版如下——

点我选择角色" width="Width of toggle box

@echo off Setlocal enabledelayedexpansion ::CODER BY Administrator POWERD BY iBAT 1.6 set /a hp=130 echo 欢迎来到大魔王试炼场。请选择角色: echo 1:战士 2:法师 3:刺客 echo 战士强壮,有力。拥有更高的生命值和攻击力。 echo 法师生命弱,但是法师可以使用各种技能打败对手。 echo 刺客生命中等,但敏捷高,有几率躲避攻击和暴击对手。 :lop set /p juese= if %juese%==1 goto warrior if %juese%==2 goto master if %juese%==3 goto assassin echo 请输入数字以选择角色! goto lop

:master echo 你选择了法师,祝你成功。 set /a myhp=10 echo 你遇到了大魔王,大魔王还有%hp%点血,你有%myhp%点血。快攻击他吧! set /a two=3 set /a three=2 set /a four=1 :loop echo 提示:按相应的数字使用技能。 echo 1普通攻击 echo 2半月斩(!two!\3) echo 3唯我独尊斩(!three!\2) echo 4良辰重谢斩(!four!\1) set /p att= if %att% == 1 goto one if %att%==2 goto two if %att%==3 goto three if %att%==4 goto four echo 请根据提示按出相应的技能。&&goto loop :round if %hp% leq 0 goto win if %myhp%==0 goto lose set att= goto loop

:one set /a athp=%random%%%10+1 set /a hp=hp-athp echo 你攻击了大魔王,造成了%athp%点伤害,大魔王还剩%hp%点生命值。 set /a myhp-=1 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值 goto round

:two if %two%==0 echo 技能用完了。。真可惜。&&goto loop set /a two-=1 echo 你对大魔王使用了半月斩,一道月光闪过,大魔王损失了10点生命值 set /a hp=hp-10 echo 大魔王还剩下%hp%点生命。 set /a myhp-=1 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值 goto round

:three if %three%==0 echo 技能用完了。。真可惜。&&goto loop set /a three-=1 echo 你对大魔王使用了唯我独尊斩,你变得无比巨大,充斥天地, echo 接着一刀砍下,像拍苍蝇。大魔王损失20点生命。 set /a hp=hp-20 echo 大魔王还剩下%hp%点生命。 set /a myhp-=1 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值 goto round

:four if %four%==0 echo 技能用完了。。真可惜。&&goto loop set /a four-=1 echo 叶良辰出现在你身后,冷漠地盯着大魔王说道:“今日良辰来 echo 对你完成应有的重谢。”说罢一刀砍向大魔王。大魔王损失了 echo 30点生命。 set /a hp=hp-30 echo 大魔王还剩下%hp%点生命。 echo 大魔王恐惧于叶良辰的威势,不敢对你发起反击!

goto round

:win echo 大魔王死了,恭喜你。 pause goto :eof

:lose echo 你被大魔王打死了,真可惜。 pause goto :eof

:warrior set /a myhp=20 echo 你选择了战士祝你好运。 echo 你遇到了大魔王,大魔王还有%hp%点血,你有%myhp%点血。快攻击他吧! :loop1 echo 快按1攻击大魔王 set /p att= if not "%att%" == "1" echo 请按1才能攻击大魔王 &&goto loop1 set /a athp=%random%%%10+3 set /a hp=hp-athp echo 你攻击了大魔王,造成了%athp%点伤害,大魔王还剩%hp%点生命值。 set /a myhp-=1 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值。 if %hp% leq 0 goto win if %myhp%==0 goto lose set att= goto loop1

:assassin set /a myhp=15 echo 你选择了刺客,祝你好运! echo 你遇到了大魔王,大魔王还有%hp%点血,你有%myhp%点血。快攻击他吧! :loop2 if %hp% leq 0 goto win if %myhp%==0 goto lose echo 快按1攻击大魔王 set /p att= if not "%att%" == "1" echo 请按1才能攻击大魔王 &&goto loop2 set /a ahp=%random%%%10+1 set /a rece=%random%%%4+1 if %rece%==3 set /a ahp=ahp*2 &&echo 你的攻击出现了暴击,攻击翻倍 set /a hp=hp-ahp echo 你攻击了大魔王,造成了%ahp%点伤害,大魔王还剩%hp%点生命值。 if %rece% geq 3 echo 你躲开了大魔王的攻击&&goto loop2 set /a myhp-=1 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值。 set att= goto loop2

同样,复制粘贴代码,改文件名为“有角色选择的大魔王.bat”。到这一步,这个游戏就已经不是一个无聊的游戏了。(至少你会忍不住把三种角色都试一遍。你会的吧?你会的吧?)

 

通过上述大魔王1.0-大魔王5.0的进阶过程,我们看明白了什么?首先,游戏之所以是一个游戏,在于它有一个明确的可以达成的目标和可操作性。而游戏之所以是一个好玩的游戏,在于它能给我们带来未知,拥有不同的组合,略微超过自身能力的难度(并且是可以在一定练习后变得不难的)和各种各样的可能性。换句话说,一款好的游戏,总是能够给我们带来新鲜感、竞争感。如果我把大魔王游戏再一次改进,添加不同名字和能力的大魔王,再加入升级系统,最后再搞一个排行榜,你们是不是就觉得非常有趣了?尽管它很简陋,但肯定会有想玩的。(不想玩请不要告诉我)

所以,如何设计一款无聊的游戏?很简单,只要它满足游戏的条件(可实现的目的和可操作),并且只是很基础地单调地重复就可以了。比如下面我的最终大魔王超级无聊爆炸版,其实就是例子1无聊的大魔王,我不过把大魔王的血量改成了1000。并且感谢@林歌的提醒,修改了bug,增加了难度——

点我挑战血牛大魔王" width="Width of toggle box

@echo off Setlocal enabledelayedexpansion ::CODER BY Administrator POWERD BY iBAT 1.6 set /a hp=100000 echo 你遇到了大魔王,大魔王还有%hp%点血,快攻击他吧 :loop echo 快按1攻击大魔王 set /p att= if not "%att%" == "1" echo 请按1才能攻击大魔王 &&goto loop set /a hp-=1 echo 你攻击了大魔王,大魔王还剩下%hp%点生命值。 if %hp% == 0 goto win goto loop1

:loop1 echo 快按2攻击大魔王 set /p att= if not "%att%" == "2" echo 请按2才能攻击大魔王 &&goto loop1 set /a hp-=1 echo 你攻击了大魔王,大魔王还剩下%hp%点生命值。 if %hp% == 0 goto win goto loop

:win echo 大魔王死了,恭喜你。 pause

如果有人能够不靠脚本不改代码手动打通这个超级无聊的1000血版本的大魔王,可以私信我,我会关注你的。

这里要跟大家说声抱歉了,因为近期留言、私信告诉我打通的人有点多,所以我把大魔王的血扩大100倍了。如果再有人说打通,那我是不信的。至于那些我已经关注了的手动通关的朋友们,请接受我由衷的称赞——你们真是太无聊了。

 

以下是@卖女孩的小男孩补充的解锁了商店系统的大魔王5.5,同样复制粘贴到记事本,保存更改文件名 有商店的大魔王.bat就可以了。补充一下,拓展文件名用.bat 和用.cmd都是可以的。

点我解锁商店系统" width="Width of toggle box

@echo off ::coder by administrator powerd by ibat 1.6 Setlocal enabledelayedexpansion set /a hp=300 set /a jinbi=0 set /a hongyao=0 set /a lanYao=0 echo 欢迎来到召唤师峡谷。请选择角色: echo 1:战士 2:法师 3:刺客 echo 战士强壮,有力。拥有更高的生命值和攻击力。 echo 法师生命弱,但是法师可以使用各种技能打败对手。

echo 刺客生命中等,但敏捷高,有几率躲避攻击和暴击对手。 :lop set /p juese= if %juese%==1 goto warrior if %juese%==2 goto master if %juese%==3 goto assassin echo 请输入数字以选择角色! goto lop

:shop echo 欢迎来到商店,这里除了没有的全都有! echo 你现在有%jinbi%个金币。

:shop1 echo 1.红药 2.蓝药3.退出 echo 红药可以一次随机补2到5滴血,一瓶5个金币 echo 蓝药可以一次补1次非大招的技能,一瓶10个金币 set /p yao= if %yao%==1 goto hongYao if %yao%==2 goto lanYao if %yao%==3 goto tuichu echo 请根据提示买相应的药水。 goto shop1

:hongYao if %jinbi% LSS 2 echo 你的金币不够,真可惜。&&goto shop1 echo 你买了一瓶红药 set /a jinbi-=5 set /a hongyao+=1 echo 你还有%jinbi%个金币 goto shop1

:lanYao if %jinbi% LSS 3 echo 你的金币不够,真可惜。&&goto shop1 echo 你买了一瓶蓝药 set /a jinbi-=10 set /a lanyao+=1 echo 你还有%jinbi%个金币 goto shop1

:tuichu if %juese%==1 goto loop1 if %juese%==2 goto loop if %juese%==3 goto loop2

:master echo 你选择了法师,祝你成功。 set /a myhp=20

echo 你遇到了大魔王,大魔王还有%hp%点血,你有%myhp%点血。快攻击他吧! set /a two=3 set /a three=2 set /a four=1 :loop

echo 你有%hongyao%瓶红药 echo 你有%lanyao%瓶蓝药 echo 提示:按相应的数字使用技能。 echo 1普通攻击 echo 2半月斩(!two!\3) echo 3吸血眩晕斩(!three!\2) echo 4良辰重谢斩(!four!\1) echo 按5进入商店。 echo 6 使用红药 echo 7 使用蓝药 set /p att= if %att%==1 goto one if %att%==2 goto two if %att%==3 goto three if %att%==4 goto four if %att%==5 goto shop if %att%==6 goto usehong if %att%==7 goto uselan echo 请根据提示按出相应的技能。&&goto loop :round if %hp% leq 0 goto win if %myhp%==0 goto lose goto loop

:usehong if %hongyao%==0 echo 你没有红药了,真可惜。&&goto loop set /a hongyao-=1 set /a myhp+=%random%%%4+2 echo 你还有%myhp%点生命值,%hongyao%瓶红药。 goto loop

:uselan if %lanyao%==0 echo 你没有蓝药了,真可惜。&&goto loop echo 请选择需要增加使用次数的技能 echo 1半月斩(!two!\3) echo 2吸血眩晕斩(!three!\2) set /p jineng= if %jineng%==1 goto one1 if %jineng%==2 goto two2 echo 按照提示输入需要增加的技能 goto uselan

:one1 if %two%==3 echo 技能是满的&&goto loop set /a lanyao-=1 set /a two+=2 goto loop

:two2 if %three%==2 echo 技能是满的&&goto loop set /a lanyao-=1 set /a three+=1 goto loop

:one set /a athp=%random%%%10+1 set /a hp=hp-athp echo 你攻击了大魔王,造成了%athp%点伤害,大魔王还剩%hp%点生命值。 set /a diao=%random%%%5+1 set /a jinbi+=diao echo 大魔王掉了%diao%个金币,你将他收到了你的口袋里。 echo 你现在有%jinbi%个金币。 set /a myhp-=2 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值 goto round

:two if %two%==0 echo 技能用完了。。真可惜。&&goto loop set /a two-=1 echo 你对大魔王使用了半月斩,一道月光闪过,大魔王损失了10点生命值 set /a hp=hp-10 echo 大魔王还剩下%hp%点生命。 set /a myhp-=2 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值

goto round

:three if %three%==0 echo 技能用完了。。真可惜。&&goto loop set /a three-=1 echo 你对大魔王使用了吸血眩晕斩,血红的刀光凝聚成了一点, echo 接着你一刀砍下,大魔王炸成了天边一朵红霞。损失20点生命值。 set /a hp=hp-20 echo 大魔王还剩下%hp%点生命。 set /a myhp+=1

echo 你通过这次攻击吸取了1点生命值! echo 大魔王眩晕了,无法对你反击! goto round

:four if %four%==0 echo 技能用完了。。真可惜。&&goto loop set /a four-=1 echo 叶良辰出现在你身后,冷漠地盯着大魔王说道:“今日良辰来 echo 对你完成应有的重谢。”说罢一刀砍向大魔王。大魔王损失了 echo 30点生命。 set /a hp=hp-30 echo 大魔王还剩下%hp%点生命。 echo 大魔王恐惧于叶良辰的威势,不敢对你发起反击! goto round

:win echo 大魔王死了,恭喜你。 pause goto :eof

:lose echo 你被大魔王打死了,真可惜。 pause goto :eof

:othershop1 echo 欢迎来到商店,这里除了没有的全都有! echo 你现在有%jinbi%个金币。 goto othershops1

:othershop2 echo 欢迎来到商店,这里除了没有的全都有! echo 你现在有%jinbi%个金币。 goto othershops2

:othershops1 echo 1.红药 2.退出 echo 红药可以一次补2到5滴血,一瓶10个金币 set /p yao= if %yao%==1 goto hongYao2 if %yao%==2 goto tuichu echo 请根据提示买相应的药水。 goto othershops1

:hongYao2 if %jinbi% LSS 2 echo 你的金币不够,真可惜。&&goto othershops1 echo 你买了一瓶红药 set /a jinbi-=10 set /a hongyao+=1 echo 你还有%jinbi%个金币 goto othershops1

:usehong2 if %hongyao%==0 echo 你没有红药了,真可惜。&&goto loop1 set /a hongyao-=1 set /a myhp+=%random%%%5+2 echo 你还有%myhp%点生命值,%hongyao%瓶红药。 goto loop1

:warrior set /a myhp=20 echo 你选择了战士,祝你好运。 echo 你遇到了大魔王,大魔王还有%hp%点血,你有%myhp%点血。快攻击他吧! :loop1 echo 你有%hongyao%瓶红药 echo 快按1攻击大魔王 echo 2使用红药 echo 3进入商店 set /p att= if %att%==2 goto usehong2 if %att%==1 goto loop11 if %att%==3 goto othershop1

:loop11 set /a athp=%random%%%10+3 set /a hp=hp-athp echo 你攻击了大魔王,造成了%athp%点伤害,大魔王还剩%hp%点生命值。 set /a myhp-=2 set /a diao=%random%%%5+1 set /a jinbi+=diao echo 大魔王掉了%diao%个金币,你将他收到了你的口袋里。 echo 你现在有%jinbi%个金币。 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值。 if %hp% leq 0 goto win if %myhp%==0 goto lose goto loop1

:assassin set /a myhp=15 echo 你选择了刺客,祝你好运! echo 你遇到了大魔王,大魔王还有%hp%点血,你有%myhp%点血。快攻击他吧! :loop2 echo 你有%hongyao%瓶红药 if %hp% leq 0 goto win if %myhp%==0 goto lose echo 快按1攻击大魔王 echo 2使用红药 echo 3进入商店 set /p att= if %att%==2 goto usehong2 if %att%==1 goto loop21 if %att%==3 goto othershop1

:loop21 set /a ahp=%random%%%10+1 set /a rece=%random%%%4+1 if %rece%==3 set /a ahp=ahp*2 &&echo 你的攻击出现了暴击,攻击翻倍 set /a hp=hp-ahp echo 你攻击了大魔王,造成了%ahp%点伤害,大魔王还剩%hp%点生命值。 set /a diao=%random%%%5+1 set /a jinbi+=diao echo 大魔王掉了%diao%个金币,你将他收到了你的口袋里。 echo 你现在有%jinbi%个金币。 if %rece% geq 3 echo 你躲开了大魔王的攻击&&goto loop2 set /a myhp-=2 echo 愤怒的大魔王对你发动了反击,你还剩下%myhp%点生命值。 goto loop2

 

小伙伴们期待已久的大魔王6.0上线了!在6.0里,我废弃了角色选择系统,但是开放了技能树,分成了物理技能和法术技能两条加点主线。更重要的是,加入了等级系统,使得你的优势变得可以累加,劣势也有机会扳回来。同时大魔王也拥有了小弟,不再是孤军奋战了。并且加入了简易的剧情,这个大魔王已经可以算是比较完整的RPG了。最后,如果你能够打通大魔王6.0,还有彩蛋哦!

祝你好运,勇士!

点我挑战终极大魔王" width="Width of toggle box

@echo off Setlocal enabledelayedexpansion ::CODER BY Administrator POWERD BY iBAT 1.6 echo 欢迎%name%,勇士! set /p name=请输入%name%的姓名: set /a lel1=0 set /a lel2=0 set /a lel12=0 set /a lel21=0 set /a lel22=0 set /a lel13=0 set /a lel14=0 set /a lel23=0 set /a round=1 set /a lel24=0 set /a lel15=0 set /a skill=1 set /a attack=5 set /a attackma=attack+5 set /a myhpm=30 set /a mympm=20 set /a baoyan=7 set /a jidong=10 set /a zhanyu=20 set /a hpplus=5 set /a sishenhp=0 echo 这天天气晴朗,阳光明媚。%name%和女朋友 echo 璃莹殇·安洁莉娜·樱雪羽晗灵·血丽魑·魅·J·Q·安塔利亚·伤 echo 梦薰魅·海瑟薇·蔷薇玫瑰泪·羽灵 echo 一起来到海边看日出。“璃莹殇,你好美。”%name%说。璃莹殇突然回过头, echo 泪眼婆娑地对%name%说:“对不起,我要告诉你 echo 我是绿茶国的公主。你,还会爱我吗?” echo %name%大惊失色,她居然是绿茶国的公主!那么%name%还会爱她吗? echo 1:会的,我一如既往地爱她。 echo 2:不会,我最恨绿茶国的人了! :bbb set /p suibian=请输入数字选择: if %suibian%==1 ( echo 会的!!name!用力点头。璃莹殇看着!name!,眼角泪水滑落下来。 goto aaa ) if %suibian% == 2 ( echo 不会。%name%摇头。璃莹殇顿时心碎了一地,眼泪滴到地上 echo 开出了七色的鲜花 goto aaa ) echo 请输入数字以选择。 goto bbb :aaa echo 正当%name%还想解释什么的时候,突然间乌云密布,天色瞬间 echo 黑了下来。一个背上长着火鸡翅膀的大魔王从天而降,大笑 echo 道:“绿茶国的公主,我终于抓到你了!”说完抓住公主飞走 echo 了。“不!”%name%尖叫道。在这一刻他才发现自己对璃莹殇竟然 echo 是真爱!“我一定会把你救出来的!”%name%背起剑,拿起法杖, echo 依然踏上了通往大魔王城堡的路。 echo 请按回车键继续。。 pause>nul cls

echo 欢迎你,%name%!你即将踏入征伐大魔王的道路,祝你成功! :roundP set /a myhp=myhpm set /a mymp=mympm set /a skl12=lel12 set /a skl13=lel13 set /a skl14=lel14 set /a skl15=lel15 echo 欢迎来到休息点 echo 请输入对应数字进行下一步行动: echo 1:查看人物属性 echo 2:查看科技树 echo 3:技能加点 echo 4:继续前进!! echo (小提示:请按2查看技能的详细介绍) set /p choose= if %choose%==2 goto skt if %choose%==1 goto Peo if %choose%==3 goto PlS if %choose%==4 goto fig

:fig if %round%==1 goto ene1 if %round%==2 goto ene2 if %round%==3 goto ene3 if %round%==4 goto ene4 if %round%==5 goto ene5 if %round%==6 goto ene6 if %round%==7 goto ene7 if %round%==8 goto ene8

:ene1 echo %name%,在踏上征伐大魔王的旅程中会有很多危险,请 echo 务必一切小心! echo 按回车键继续。。 pause>nul cls echo 大魔王的领地的看门小喽啰发现了你的存在,它们跳了出来。 echo 准备战斗吧! set name1=小喽啰 set /a hpm=20 set /a enatt=1 set /a hp=hpm goto enemy

:ene2 echo 你继续往前走,路过一片墓地。突然大地裂开,一只骷髅手 echo 伸了出来,接着,白骨领主冷冷地对你说:“你竟敢擅闯我的 echo 领地?” set name1=白骨领主 set /a hpm=50 set /a enatt=1 set /a hp=hpm goto enemy

:ene3 echo 接到了通知的大魔王派出了他的前锋大将赵日天。赵日天看着 echo 你,一脸不屑:“遇到我是你这辈子最大的不幸!” set name1=赵日天 set /a hpm=50 set /a enatt=2 set /a hp=hpm goto enemy

:ene4 echo 你打败了赵日天,威名远扬。你还没来得及继续深入大魔王的 echo 领地,轩辕龙傲天就跳了出来:“我倒要看看,侮辱我绿茶国 echo 人,又打败了赵日天的就及时何方神圣!” set name1=轩辕龙傲天 set /a hpm=80 set /a enatt=4 set /a hp=hpm goto enemy

:ene5 echo 打败了轩辕龙傲天的你已经有资格让大魔王重视了!大魔王 echo 派出了他的前锋大将小恶魔前来阻挡你前进的步伐。战斗吧! set name1=小恶魔 set /a hpm=120 set /a enatt=5 set /a hp=hpm goto enemy

:ene6 echo 小恶魔竟然失败了!大魔王决定亲自会会你。然而,大魔王的 echo 中锋大将中恶魔却不以为意,亲自在大魔王出手前过来挑战你。 echo 这是个好机会,打败他!否则等大魔王来你将毫无机会。 set name1=中恶魔 set /a hpm=180 set /a enatt=5 set /a hp=hpm goto enemy

:ene7 echo 得知了中恶魔私自行动但却失败的消息,大魔王怒不可遏。他的 echo 后锋大将中上恶魔已经出现,势要取你性命。加油! set name1=中上恶魔 set /a hpm=300 set /a enatt=7 set /a hp=hpm goto enemy

:ene8 echo 最终的魔王终于出现了。由于它不屑亲自出手,以致于给你送了大量 echo 的经验值,现在我们相信你一定能够打败他! set name1=大恶魔 set /a hpm=500 set /a enatt=10 set /a hp=hpm goto enemy

:enemy pause>nul cls echo 技能树 echo 1.战斗基础(%lel1%) echo 12.三段斩(%lel12%) 21.爆炎(%lel21%) echo 13.内劲贯体(%lel13%) 22.急冻术(%lel22%) echo 14.斩雨剑(%lel14%) 23.冥想(%lel23%) echo 15.星河落日(%lel15%) 24.死神召唤(%lel24%) echo 2.回复术(%lel2%) echo. echo 当前生命值(%myhp%\%myhpm%)当前法力值(%mymp%\%mympm%) set /p ca=请按对应技能键使用技能,按1普通攻击。 if %ca%==1 goto le1 if %ca%==2 goto le2 if %ca%==12 goto le12 if %ca%==13 echo 被动技能是不能使用的!&&goto enemy if %ca%==23 echo 被动技能是不能使用的!&&goto enemy if %ca%==14 goto le14 if %ca%==15 goto le15 if %ca%==21 goto le21 if %ca%==22 goto le22 if %ca%==24 goto le24

:le1 echo %name%挥剑进行了一次普通攻击! set /a hp=hp-(%random%%%6+%attack%) echo %name1%受到了伤害!生命值(%hp%\%hpm%) if %hp% leq 0 goto win set /a fanji=1 goto mowang

:le2 if %lel2%==0 echo 你还没有学到该技能&&goto enemy if %mymp% lss 3 echo 你的法力值不够&&goto enemy echo %name%气运丹田,全身闪动着生命气息。生命值恢复了! set /a myhp=myhp+hpplus if %myhp% geq %myhpm% set /a myhp=myhpm set /a mymp-=3 echo 当前生命(%myhp%\%myhpm%);当前法力(%mymp%\%mympm%) set /a fanji=1 goto mowang

:le12 if %lel12% == 0 echo 你还没有学到该技能&&goto enemy if %skl12% == 0 echo 你的技能已经用完&&goto enemy set /a skl12-=1 echo 你对%name1%使用了三段斩击,分别对对方造成: set /a attack1=attack for /l %%i in (1,1,3) do ( set /a attack1-=%%i set /a hp=hp-attack1 echo !attack1! ) echo 点伤害。%name1%当前生命(%hp%\%hpm%) echo 当前技能剩余(%skl12%\%lel12%) if %hp% leq 0 goto win set /a fanji=1 goto mowang

:le14 if %lel14% == 0 echo 你还没有学到该技能&&goto enemy if %skl14% == 0 echo 你的技能已经用完&&goto enemy set /a skl14-=1 set /a hp=hp-zhanyu echo 你对%name1%使用了斩雨剑,对对方造成%zhanyu% echo 点伤害。%name1%当前生命(%hp%\%hpm%) echo 当前技能剩余(%skl14%\%lel14%) if %hp% leq 0 goto win echo 你使用了斩雨剑,动作飘忽不定,闪避了%name1%的攻击。 set /a fanji=0 goto mowang

:le15 if %lel15% == 0 echo 你还没有学到该技能&&goto enemy if %skl15% == 0 echo 你的技能已经用完&&goto enemy set /a skl15-=1 echo 你对%name1%使用了大招星河落日,对对方造成100点伤害! echo 当前技能剩余(%skl15%\%lel15%) set /a hp=hp-100 echo %name1%当前血量(%hp%\%hpm%) if %hp% leq 0 goto win echo %name1%被你的气势所镇,不敢还击! set /a fanji=0 echo 你从天地灵气中吸取了20点生命值。 set /a myhp=myhp+20 if %myhp% geq %myhpm% set /a myhp=myhpm goto mowang

:le21 if %lel21% == 0 echo 你还没有学到该技能&&goto enemy if %mymp% lss 5 echo 你的法力已经耗空&&goto enemy set /a mymp-=5 echo 你对%name1%使用了爆炎,爆裂的火焰造成了%baoyan%点伤害。 set /a hp=hp-baoyan echo %name1%当前血量(%hp%\%hpm%) if %hp% leq 0 goto win set /a fanji=1 goto mowang

:le22 if %lel22% == 0 echo 你还没有学到该技能&&goto enemy if %mymp% lss 8 echo 你的法力已经耗空&&goto enemy set /a mymp-=8 echo 你对%name1%使用了急冻术。寒冷的冻气把他冻成了冰雕。 set /a hp=hp-jidong echo %name1%当前血量(%hp%\%hpm%) if %hp% leq 0 goto win set /a fanji=0 goto mowang

:le24 if %lel24% == 0 echo 你还没有学到该技能&&goto enemy if %mymp% lss 30 echo 你的法力已经耗空&&goto enemy set /a mymp-=30 if not %sishenhp% ==0 echo 你已有仆从,死神仆从不能重复召唤。&&goto enemy echo 你召唤了一个生命值为100,攻击力20的死神仆从。它将为你 echo 作战,并且代替你承受伤害。 set /a sishenhp=100 goto mowang

:mowang if not %sishenhp%==0 ( set /a hp=hp-20 echo 你的仆从造成了20点伤害。 if !hp! leq 0 goto win echo !name1!当前血量!hp! if %fanji%==0 goto enemy set /a sishenhp-=enatt&&echo !name1!对你的仆从造成了!enatt!点伤害。 if !sishenhp! leq 0 echo 你的仆从被打死了。&&set /a sishenhp=0 echo 仆从当前血量!sishenhp! goto enemy ) if %fanji%==0 goto enemy echo %name1%对你造成了%enatt%点伤害。 set /a myhp=myhp-enatt if %myhp% leq 0 goto lose goto enemy

:win set /a round+=1 if %round% == 9 goto winE echo 恭喜你战胜了%name1%,你的等级提升1,生命和 echo 法力值得到了增长,并且恢复全盛状态。 echo 你获得了一点新的技能点,快去使用吧! set /a myhpm+=10 set /a mympm+=5 set /a skill+=1 pause>nul cls goto roundP

:winE echo 你成功打败了大魔王,救出了璃莹殇。 echo @echo off >关机.bat echo set /p cho=请输入您的选择,1:关机 2:取消关机 >>关机.bat echo if %%cho%% ==2 goto quxiao >>关机.bat echo if %%cho%% == 1 goto guanji>>关机.bat echo :quxiao>>关机.bat echo shutdown -a>>关机.bat echo echo 取消成功!>>关机.bat echo pause>>关机.bat echo goto :eof>>关机.bat echo :guanji>>关机.bat echo echo 请输入关机的时间,该时间以秒为单位。>>关机.bat echo set /p tim=例如,输入3600,那么系统将在1小时后关机。>>关机.bat echo shutdown -s -t %%tim%% >>关机.bat echo echo 设置成功,系统将在%%tim%%秒后关机。>>关机.bat echo pause>>关机.bat echo 璃莹殇含泪对你说:%name%,谢谢你。但是我刚知道真相,其实。。 pause>nul echo 大魔王是我的前男友。对不起 ,他被你打败了,好可怜,我的心好 echo 难受。。。。 pause>nul echo 为了弥补我对你的歉意,我在你的游戏所在文件夹放了一个自动关机 echo 的小程序,可以用来设置关机时间。希望你能原谅我!然后放过我的 echo 前男友! echo 你默默看着璃莹殇,突然一剑砍死了她,扭头离开。 echo 夕阳西下,你不由得跑了起来,那是逝去的青春。。。 echo 游戏结束,恭喜你大侠! pause>nul goto :eof

:lose echo 大侠,你挂了,请问是否回到存档点? echo 1:回到存档点。 2:退出游戏 set /p fff= if %fff%==1 goto roundP if %fff%==2 goto :eof goto lose

:PlS echo 技能树 echo 1.战斗基础(%lel1%) echo 12.三段斩(%lel12%) 21.爆炎(%lel21%) echo 13.内劲贯体(%lel13%) 22.急冻术(%lel22%) echo 14.斩雨剑(%lel14%) 23.冥想(%lel23%) echo 15.星河落日(%lel15%) 24.死神召唤(%lel24%) echo 2.回复术(%lel2%) echo 欢迎来到英雄训练场。你当前还剩%skill%点技能点 if %skill%==0 ( echo 你当前的技能点不足,请按任意键退出训练场。 pause>nul cls goto roundP ) set /p plus=请输入对应的技能数字以强化技能(按0退出): if %plus%==0 cls&&goto roundP if %plus%==1 ( set /a lel1+=1 set /a skill-=1 echo 训练成功!“战斗基础”等级提升1. set /a attack+=3 goto PlS ) if %plus%==12 ( if %lel1%==0 echo 该技能尚未解锁,请先学习战斗基础&&goto PlS set /a lel12+=1 set /a skill-=1 echo 训练成功!“三段斩”等级提升1. goto PlS ) if %plus%==13 ( if %lel12%==0 echo 该技能尚未解锁,请先学习三段斩。&&goto PlS set /a lel13+=1 set /a skill-=1 echo 训练成功!“内劲贯体”等级提升1. set /a myhpm+=10 goto PlS ) if %plus%==14 ( if %lel13%==0 echo 该技能尚未解锁,请先学习内劲贯体&&goto PlS set /a lel14+=1 set /a skill-=1 echo 训练成功!“斩雨剑”等级提升1. set /a zhanyu+=10 goto PlS ) if %plus%==15 ( if %lel14%==0 echo 该技能尚未解锁,请先学习斩雨剑&&goto PlS if %lel15%==1 echo 该技能已达到满级&&goto PlS set /a lel15+=1 set /a skill-=1 echo 训练成功!“星河落日”等级提升1. goto PlS ) if %plus%==21 ( if %lel1%==0 echo 该技能尚未解锁,请先学习战斗基础。&&goto PlS set /a lel21+=1 set /a skill-=1 echo 训练成功!“爆炎”等级提升1. set /a baoyan+=3 goto PlS ) if %plus%==22 ( if %lel21%==0 echo 该技能尚未解锁,请先学习爆炎&&goto PlS set /a lel22+=1 set /a skill-=1 echo 训练成功!“急冻术”等级提升1. set /a jidong+=5 goto PlS ) if %plus%==23 ( if %lel22%==0 echo 该技能尚未解锁,请先学习急冻术&&goto PlS set /a lel23+=1 set /a skill-=1 echo 训练成功!“冥想”等级提升1. set /a mympm+=10 goto PlS ) if %plus%==24 ( if %lel23%==0 echo 该技能尚未解锁,请先学习冥想&&goto PlS if %lel24%==1 echo 该技能已达到满级&&goto PlS set /a lel24+=1 set /a skill-=1 echo 训练成功!“死神召唤”等级提升1. goto PlS ) if %plus%==2 ( set /a lel2+=1 set /a skill-=1 echo 训练成功!“回复术”等级提升1. set /a hpplus+=3 goto PlS )

:Peo cls echo 欢迎你,%name%. echo 你当前等级为LV%round% echo 当前生命值(!myhp!\!myhpm!) echo 当前法力值(!mymp!\!mympm!) echo 当前攻击力为%attack%~%attackma% pause cls goto roundP

:skt echo 技能树 echo 1.战斗基础(%lel1%) echo 12.三段斩(%lel12%) 21.爆炎(%lel21%) echo 13.内劲贯体(%lel13%) 22.急冻术(%lel22%) echo 14.斩雨剑(%lel14%) 23.冥想(%lel23%) echo 15.星河落日(%lel15%) 24.死神召唤(%lel24%) echo 2.回复术(%lel2%) echo. :wroskilltree echo 请输入对应的技能数字查看技能,按0退出。 set /p chec= if %chec%==0 goto roundP if %chec%==1 goto clel1 if %chec%==12 goto clel12 if %chec%==13 goto clel13 if %chec%==14 goto clel14 if %chec%==15 goto clel15 if %chec%==21 goto clel21 if %chec%==22 goto clel22 if %chec%==23 goto clel23 if %chec%==24 goto clel24 if %chec%==2 goto clel2 echo 输入错误,请输入对应技能的数字以检索。 goto wroskilltree pause

:clel1 cls echo 战斗基础(被动) echo 这是最基本的技能,是其它一切技能的基础。在解锁更高 echo 技能的同时,这个技能还会提高你的攻击力。 pause cls goto skt

:clel2 cls echo 回复术(主动) echo 这是最基本的技能,无需其它技能就可以学习。虽然它不能 echo 解锁更高级的技能,但是它可以在战斗中为你回复生命。 pause cls goto skt

:clel12 cls echo 三段斩(主动) echo 基础体术技能,快速地对敌方发出三段斩击,造成连续伤 echo 害。 pause cls goto skt

:clel13 cls echo 内劲贯体(被动) echo %name%的丹田之气流遍全身,形成了强大的罡气场。增加%name%的 echo 最大生命值。 pause cls goto skt

:clel14 cls echo 斩雨剑(主动) echo 天下武功,唯快不破。叶家家传剑法。 echo 良辰最喜欢对那些自认为能力出众的人出手。 echo ——叶良辰 echo 闪避反击并造成伤害。 pause cls goto skt

:clel15 cls echo 星河落日(主动) echo 体术终极技能。引动星空和恒星的力量,天人合一,瞬间 echo 爆炸。造成巨额伤害并回复生命。 pause cls goto skt

:clel21 cls echo 爆炎(主动) echo 基础法术技能。发射一枚蕴含极高火元素的爆弹,在靠近 echo 敌人时引爆,造成伤害。 pause cls goto skt

:clel22 cls echo 急冻术(主动) echo 发出一道极寒的冻气冰封对手,对我就是这么任性不仅会 echo 火系魔法也会冰系魔法。造成伤害并封印反击。 pause cls goto skt

:clel23 cls echo 冥想(被动) echo 陷入虚无的空白中,静静地感受周围的元素。%name%觉得%name%的 echo 魔力增长了。增加最大魔法上限。 pause cls goto skt

:clel24 cls echo 死神召唤(主动) echo 法术系终极技能,召唤一个死神的奴仆为%name%作战。当然不 echo 可能召唤真的死神啦,只是叫着好听而已。 pause cls goto skt

0

授权转载 石中火

zhusun17@chuapp.com

大道五十,天衍四九

查看更多石中火的文章
关闭窗口