博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结对和团队项目建议 - 黄金点游戏
阅读量:5758 次
发布时间:2019-06-18

本文共 1154 字,大约阅读时间需要 3 分钟。

故事看这里: 

作业

这个游戏可以变成一个持续发展的团队项目:

1)在课堂上玩这个黄金点游戏,用Excel 纪录成绩。过渡到做成简单的单机版游戏,锻炼基本的编程能力

2)两人合作,做成简单的 client/server App,用户从网页/手机上输入数字,并算出获胜者。 技术讨论的议题有: 

  • 前面写的模块有多少是可以重用的? 为何不能重用?
  • 研讨 client/server 的API 应该怎么设计,如何认证用户?
  • 如何开发client App
  • 为了保证游戏按时完成,如何在服务器/客户端做时钟同步?
  • 如果获得第一名的多个用户的数字相同,如何排定次序?(提示:可以考虑提交时间,历史成绩)

3)如何设计测试用例, 保证server 的正确性, 效率, 压力测试 (如何模拟上千个客户端,从不同的端口,提交不同的数字?)

4)原来我们是让用户从客户端输入数字, 看到结果之后,再玩下一轮。用户玩这个游戏是有一定的策略的, 我们如何能把这个策略变成程序,成为人工智能呢? 能否利用 AI 算法提交数据?

  client 程序能访问所有以前的历史记录, 它再推测下一个数字是多少, 然后提交。

  这里面也有很多问题要克服,例如,如果数字很小 0.00000000000000000001,  下溢了, 怎么办?

    应该提交的是 double, float, 还是 string 类型?

5) 全班同学每人写一个程序, 玩一万轮, 服务器要能快速处理。 
  挑战:
  如何在服务器和客户端都做到高效, 能多少秒钟就比完一轮, 并把数据传给所有客户端? 客户端是通过什么接口来接受比赛数据,或者从某个公共来源去读取数据?
6) 修改规则, 每个用户每次可以提交两个数字, 其他规则一样,再玩一万轮。

  挑战:这个时候,有程序会不会提交一个大的数字,来保证自己的另一个数字比较接近 golden number? 你的AI 程序如何在这个新规则下占得先机?

7)让互联网的用户可以通过网站注册, 然后用某种 Domain Specified Language 写这个AI 的规则, 然后他们也可以通过网站玩这个游戏。
  挑战: 设计这种 DSL,并解释执行。

  例如, DSL 可以支持下面的规则:

  ① 我每一轮都提交上一轮所有数字的平均值 * 0.618 * 0.618

  ② 如果我上一轮的提交的数值小于当轮的 golden number,那我的下一个数字要是上个数字的两倍

8) 扩展到全球,服务器能 24/7 不断主持游戏,并记录成绩。 同时,全球用户的数据都可以开放下载,供人工或者是 AI 做研究和训练。  
  挑战:这个过程就能练很多技能和软工设计的功夫, 同时可以让各个开发人员的AI 上台来比拼。  

 

转载地址:http://zsvkx.baihongyu.com/

你可能感兴趣的文章
GitLab联合DigitalOcean为开源社区提供GitLab CI免费托管
查看>>
通过XAML Islands使Windows桌面应用程序现代化
查看>>
区块链现状:从谨慎和批判性思维看待它(第二部分)
查看>>
苹果公司透露Siri新发音引擎的内部原理
查看>>
GCM 3.0采用类似方式向Android、iOS和Chrome发送消息
查看>>
如何成为一家敏捷银行
查看>>
MongoDB主动撤回SSPL的开源许可申请
查看>>
Oracle在JavaOne上宣布Java EE 8将会延期至2017年底
查看>>
使用Prometheus监控Cloudflare的全球网络
查看>>
Javascript 深入浅出原型
查看>>
VS 2019要来了,是时候了解一下C# 8.0新功能
查看>>
简单之极,搭建属于自己的Data Mining环境(Spark版本)
查看>>
Web Storage--HTML5本地存储
查看>>
数据库自动化:DBA和DevOps的双赢
查看>>
Ruby 2.5.0概览
查看>>
如何通过解决精益问题提高敏捷团队生产力
查看>>
阿里云数据库产品总监何云飞:云服务是影响未来10~20年的事
查看>>
Comment2Wechat —— Typecho 插件
查看>>
Apache下.htaccess文件配置及功能介绍
查看>>
Magento XML cheatsheet
查看>>