Python Web实战 - 基于Flask实现的黄金点游戏

时间:2023-12-21 21:31:02

一、简介

  团队成员:

    领航者:张旭

    驾驶员:张国庆

  项目简介:

    项目名称:基于B/S模式的黄金点游戏

    采用技术:

      后端:Python + Sqlite3

      前端:HTML + CSS + JS + BootStrap

    项目源码:https://git.coding.net/netcon/gold-dot.git

    项目地址:http://gd.conw.net/(点击试玩)

    服务器环境:Ubuntu Server 14.04 + Nginx 1.4.6 + uWSGI 2.0.14

二、使用

  游戏介绍:

    黄金点游戏是一个数字小游戏,N个同学,每人写一个0~100之间的有理数 (不包括0或100)。交给裁判,裁判算出所有数字的平均值,然后乘以0.618,得到G值,提交的数字最靠近G(取绝对值)的同学得到N分。离G最远的同学得到-2分,其他同学得0分。玩了几天以后,玩家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动。

  游戏截图:

    一、玩家可自定义游戏人数

    Python Web实战 - 基于Flask实现的黄金点游戏

    二、游戏可多人玩,已经提交的玩家按钮会显示“已提交”状态。

    Python Web实战 - 基于Flask实现的黄金点游戏

    三、游戏每轮结果会保存在历史记录中,便于统计结果。

    Python Web实战 - 基于Flask实现的黄金点游戏

  实现特色:

    一、游戏真正做到多人同时玩,每个用户有其固定的ID,多个浏览器登录结果并不会冲突,已提交的用户会显示“已提交”状态,当所有人都提交后,说明本轮游戏结束。

    二、每轮游戏结束后,后台会自动计算游戏结果,并保存到历史记录中,便于后期统计。

    三、BootStrap的风格显得更加友好,不会让玩家对界面产生厌恶感。

三、合作合影

  以下是我们二人合作时的合影:

  Python Web实战 - 基于Flask实现的黄金点游戏

  Python Web实战 - 基于Flask实现的黄金点游戏

  Python Web实战 - 基于Flask实现的黄金点游戏

四、个人总结

  本次项目是二人合作,并且二人各有分工,既提高了开发效率,又提高了项目质量。

  从本次项目中,我也是真正认识到多人合作的重要性,我在项目模型已经完成后,自认为已经完成项目所需功能,此时张旭提出游戏的bug,即只能支持整数的输入,而对于有理数的输入则无法处理,原因则是我在写代码时粗心,忘了解决这个问题。发现bug后,又重新修改代码,重新commit,重新push...

  另一方面我本人比较欠缺的艺术审美方面的天赋,没办法把握前端页面是否美观,于是张旭又帮我设计页面展示,这是以前我独自工作时最头痛的地方,这次也得到了圆满的解决。

  两人合作后,工作效率得到了提高,并且开发过程中也不再那么枯燥,心情也是项目质量的因素之一,另外两人取长补短,必然比一个人做出来的东西更好。

  另:本次作业额外的收获,则是得自大家对本文的评论中:软件只有经过测试才能发现更多的问题,开发者可谓是当局者迷,必须经历用户的体验才能更大提高软件的质量,作为开发者也必须尽力完善自己的工作,要对所有的软件使用过程中发现的漏洞负全责。

  还要引用@ffl的在评论中的一句话:为了改一个bug,引入10个子bug,当10个子bug都修正后,原来的那个bug才解决。