Python Web实战 - 基于Flask实现的黄金点游戏
一、简介
团队成员:
领航者:张旭
驾驶员:张国庆
项目简介:
项目名称:基于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实现的黄金点游戏的更多相关文章
- Python Web实战:Python+Django+MySQL实现基于Web版的增删改查
前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...
- Python Web框架 bottle flask
Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. 1 2 3 4 pip instal ...
- Python Web开发之Flask
PythonWEB框架之Flask 前言: Django:1个重武器,包含了web开发中常用的功能.组件的框架:(ORM.Session.Form.Admin.分页.中间件.信号.缓存.ContenT ...
- Python WEB框架之Flask
前言: Django:1个重武器,包含了web开发中常用的功能.组件的框架:(ORM.Session.Form.Admin.分页.中间件.信号.缓存.ContenType....): Tornado: ...
- C# 启动 a Python Web Server with Flask
概览 最近有个需求是通过c#代码来启动python 脚本.嘿~嘿!!! 突发奇想~~既然可以启动python脚本,那也能启动flask,于是开始着手操作. 先看一波gif图 通过打开控制台启动flas ...
- python web开发之flask框架学习(1) 创建flask项目
python 开发越来越火,作为菜鸟,也应该学习一下,感觉还可以,记录下来,方便学习参考. 不管做什么开发首先肯定是安装环境,这里我用的是pycharm,python3.如果不清楚怎么安装环境可以去网 ...
- python web开发——c2 flask框架和flask_script
重定向/error 通过flask中的redirect方法和自定义的newpath函数.redirect_demo函数实现重定向: #coding:utf-8 from flask import Fl ...
- python web开发之flask框架学习(2) 加载模版
上次学习了flask的helloword项目的创建,这次来学习flask项目的模版加载: 第一步:创建一个flask项目 第二步:在项目目录的templates文件夹下创建一个html文件 第三步: ...
- 结对编程--基于android平台的黄金点游戏
游戏内容: 阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫“黄金点”的游戏: N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或1 ...
随机推荐
- 敏捷软件开发:原则、模式与实践——第10章 LSP:Liskov替换原则
第10章 LSP:Liskov替换原则 Liskov替换原则:子类型(subtype)必须能够替换掉它们的基类型(base type). 10.1 违反LSP的情形 10.1.1 简单例子 对L ...
- 每日Scrum--No.9
Yesterday:测试软件 Today:写阶段性的总结 Problem: (1)晚上我们的团队进行了收尾工作:第一阶段的任务基本完成,软件主要实现了校园景点照片以及对应的介绍,查询最短路径,查询涉及 ...
- oracle REGEXP_SUBSTR函数
REGEXP_SUBSTR函数格式如下: function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier) __srcst ...
- Python基本数据结构-集合-创建/与其他类型比较
- 对象复制问题 && lvalue-rvalue && 引用
按值传递实参到函数和函数返回临时变量的副本,函数的效率对执行性能来说至关重要 如果避免这样的复制操作,则执行时间可能会大大缩短. class CMessage { private: char * m_ ...
- JavaScript中typeof的坑
typeof是一个运算符,它对操作数返回的结果是一个字符串,有6种(只针对ES,不包含HOST环境对象) 'undefined' 'boolean' 'string' 'number' 'object ...
- 虚拟机centos6.5 --VirtualBox设置全屏
一.安装以下模块 yum install kernel-devel kernel-headers gcc,然后重启. 二.安装增强功能 安装失败,查看日志文件,cat /var/log/vboxadd ...
- redis watch multi exec 关系
EXEC 执行所有事务块内的命令. 假如某个(或某些) key 正处于 WATCH 命令的监视之下,且事务块中有和这个(或这些) key 相关的命令,那么EXEC 命令只在这个(或这些) key 没有 ...
- uva 839 Not so Mobile-S.B.S.
Before being an ubiquous communications gadget, a mobilewas just a structure made of strings and wir ...
- 合工大 OJ 1332 蛇形阵
Description 蛇形针回字阵: 如3*3: 回字阵: 7 6 5 8 1 4 9 2 3 Input 多组数据: 每一行一个正整数n(n为奇数,<26),代表n*n矩阵. Output ...