一、简介

  团队成员:

    领航者:张旭

    驾驶员:张国庆

  项目简介:

    项目名称:基于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分。玩了几天以后,玩家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动。

  游戏截图:

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

    

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

    

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

    

  实现特色:

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

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

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

三、合作合影

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

  

  

  

四、个人总结

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

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

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

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

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

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

Python Web实战 - 基于Flask实现的黄金点游戏的更多相关文章

  1. Python Web实战:Python+Django+MySQL实现基于Web版的增删改查

    前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...

  2. Python Web框架 bottle flask

    Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. 1 2 3 4 pip instal ...

  3. Python Web开发之Flask

    PythonWEB框架之Flask 前言: Django:1个重武器,包含了web开发中常用的功能.组件的框架:(ORM.Session.Form.Admin.分页.中间件.信号.缓存.ContenT ...

  4. Python WEB框架之Flask

    前言: Django:1个重武器,包含了web开发中常用的功能.组件的框架:(ORM.Session.Form.Admin.分页.中间件.信号.缓存.ContenType....): Tornado: ...

  5. C# 启动 a Python Web Server with Flask

    概览 最近有个需求是通过c#代码来启动python 脚本.嘿~嘿!!! 突发奇想~~既然可以启动python脚本,那也能启动flask,于是开始着手操作. 先看一波gif图 通过打开控制台启动flas ...

  6. python web开发之flask框架学习(1) 创建flask项目

    python 开发越来越火,作为菜鸟,也应该学习一下,感觉还可以,记录下来,方便学习参考. 不管做什么开发首先肯定是安装环境,这里我用的是pycharm,python3.如果不清楚怎么安装环境可以去网 ...

  7. python web开发——c2 flask框架和flask_script

    重定向/error 通过flask中的redirect方法和自定义的newpath函数.redirect_demo函数实现重定向: #coding:utf-8 from flask import Fl ...

  8. python web开发之flask框架学习(2) 加载模版

    上次学习了flask的helloword项目的创建,这次来学习flask项目的模版加载: 第一步:创建一个flask项目 第二步:在项目目录的templates文件夹下创建一个html文件 第三步: ...

  9. 结对编程--基于android平台的黄金点游戏

    游戏内容: 阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫“黄金点”的游戏: N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或1 ...

随机推荐

  1. win7 64位安装oracle10g出现未知错误,程序异常终止解决方法

    修改Oracle 10G\database\stage\prereq\db\refhost.xml 在 </SYSTEM> <CERTIFIED_SYSTEMS>后面添加 &l ...

  2. angularjs onchange

    HTML <div ng-controller="TestCtrl"> <select ng-change="change(x)" ng-mo ...

  3. SAM4E单片机之旅——16、NAND Flash读写

    这次大概介绍了一下NAND Flash,以及在ASF中使用它的方法. 一. 接线 这个开发板搭载了一个256 MB,8位的NAND Flash(MT29F2G08ABAEA).引脚接线如下: 偷个懒, ...

  4. LevelDB源码分析--使用Iterator简化代码设计

    我们先来参考来至使用Iterator简化代码2-TwoLevelIterator的例子,略微修改希望能帮助更加容易立即,如果有不理解请各位看客阅读原文. 下面我们再来看一个例子,我们为一个书店写程序, ...

  5. 大写金额字符串生成 C#实现

    思路: 中文对金额的描述以四位为一组, 只考虑一万亿以内的数字则每组内以千.百.十和[亿\万\元]区分各位 连续的零按一个处理,组内最低位的零可略去 无角无分说整,有角无分只说角,无角有分说零X分,有 ...

  6. internet connection sharing has been disabled by the network administrator

    Start > Run > gpedit.msc Locate; Computer Configuration/Administrative Templates/Network/Netwo ...

  7. 在Myeclipse中添加User Library,用户自己的库

    在Myeclipse中添加User Library,用户自己的库 作用:可以将常用的jar包添加到一个固定的库中,避免每一次都要手动导入. 步骤: 1.选择项目,点击Myeclipse的window菜 ...

  8. openPOWERLINK官方安装版例程(v2.3.0)附带mnobd.cdc文件断句

    demo_mn_qt.exe启动所需载入的mnobd.cdc文件断句(备忘) //// Project: Demo_3CN //// NodeCount: 3 //// 0000003A //// N ...

  9. 1维FDTD仿真

    FDTD基本原理是把麦克斯韦方程胡两个矢量旋度方程写成差分形式,利用数值方法求其解. 假设电磁场传播方向为x轴方向,电场只有z轴方法分量,磁场只有y轴方向分量.两个旋度方程可以写成下列形式 电场.磁场 ...

  10. js制作倒计时效果

    该程序可以计算任意指定的两个日期中间的差值. 本例子的指定日期是2017年1月1日,当前时间是2016年10月21日:计算它们之间的差值,在网页上显示如图所示: 关键部分代码: var nowtime ...