首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Learn Python The Hard Way学习(52) - 开始您的web游戏

2012-08-16 
Learn Python The Hard Way学习(52) - 开始你的web游戏书已经接近尾声了。最后的练习对你是一个挑战。当你完

Learn Python The Hard Way学习(52) - 开始你的web游戏
书已经接近尾声了。最后的练习对你是一个挑战。当你完成以后,你就是一个能力不错的 Python 初学者了。你还需要多读一些书,多写一些程序,不过你已经具备进一步学习的技能了。只是时间、动力、以及资源的问题了。
在这个练习中,我们不会去创建一个完整的游戏,但是是我们会为习题 43中的游戏创建一个引擎,让这个游戏能够在浏览器中运行起来。这会涉及到重构习题 43中的游戏,将习题 47中的架构混合进来,添加自动测试代码,最后创建一个可以运行游戏的 web 引擎。
这个练习很庞大。我预测你要花一周到一个月才能完成它。最好的方法每晚上完成一点,在进行下一步之前确认上一步有正确完成。
重构43课的游戏你已经在两个练习中修改了 gothonweb 项目,这节习题中你会再修改一次。这种修改的叫做“重构”,或者用我喜欢的讲法来说,叫“修补”。重构指的是清理旧代码或者为旧代码添加新功能的过程。你其实已经做过这样的事情了,只不过你不知道而已。这是写软件过程的第二个自然属性。
我们要做的是将习题 47中的房间地图和习题 43中的游戏归并到一起,创建一个新的游戏架构。包含相同的内容,只是结构变化了。
第一步是将 ex47/game.py 的内容复制到 gothonweb/map.py中,然后将 tests/ex47_tests.py 的内容复制到 tests/map_tests.py 中,然后再次运行 nosetests,确认他们还能正常工作。
复制完ex47的代码后,我们要把ex43的地图放进去,我简单的完成了框架,你需要完成整个map.py和map_tests.py文件。
首先,地图的基本结构是这样的:

$def with (room)<h1> $room.name </h1><pre>$room.description</pre>$if room.name == "death":    <p><a href="/">Play Again?</a></p>$else:    <p>    <form action="/game" method="POST">        - <input type="text" name="action"> <input type="SUBMIT">    </form>    </p>



下面是templates/you_diad.html的代码:<h1>You Died!</h1>
<p>Looks like you bit the dust.</p><p><a href="/">Play Again</a></p>
然后你需要做下面这些事情:
    运行tests/app_tests.py测试你的游戏,由于session的存在你可能只要点击几下游戏,但是基本的测试还是要做的。运行游戏前先删除sessions文件夹。运行python bin/app.py,测试你的游戏吧。
慢慢修正你的代码,直到游戏可以正常运行。
最后的练习你是不是觉得一下接收了很多信息?对的,我希望你在学习技能的时候能够自己修改一些东西。完成这个练习后,我将给你最后一个你要自己完成的练习。你会发现你的初始版本比较烂,你的任务就是完善你的游戏:
    修复所有的Bug。改进你的自动化测试,让它能够测试所有东西,包括浏览器能测试的。让你的HTML看起来更漂亮。研究一下登陆系统,让用户能登陆,并且记录他们的高分。完善你的游戏地图,做得更大更全。给用户一个帮助系统,让用户知道在房间里能干什么添加其他你能想到的东东。创建多个地图,让用户可以选择哪个地图游戏。最后,使用48和49章的知识改进输入系统。你已经有了大部分代码,只要和游戏引擎合并就好。
祝你好运!

热点排行