#第三个程序(猜数字自动化) ##题目要求
- 唯一作业:
- 猜数游戏AI版
- 期待:
- 抽象你的自然思维
- 在尽可能短的代码行数中完成:无人介入的猜数游戏
- 最好能动画式演示游戏过程
- 要求:
- 基础: 用程序模拟出自己猜数的策略, 并进行检验
- 可用: 用自制的猜数AI, 和自己的游戏对战
- 合格: 猜数AI的游戏过程,可记录,可回放
- 天才: 猜数AI的游戏过程,可记录,可回放,可分享,加载...进一步的:
- 通过大量的游戏对战,统计自个儿AI 的能力?!
- 发布他人的AI 也可以接入的服务?
- 并行多组游戏?
- 怎么证明自个儿的 AI 策略是最优的?能用最少次数猜中?
- 教程期待:
- 向 6个月 前看过以往自己教程的自己认真描述
- 怎么设计代码来减少行数完成这个任务?
- 有哪些理解上的坑,如何能理解之?
- 一个非常有价值的隐藏任务:
- 如何能自动化测试这种边界问题?
- 以免反复出现?
-
猜数字游戏教程见第一节 第一个程序——猜数字
-
猜数字策略——二分法
-
自动化——将二分法生成的数字代替人机互动的输入的数字与随机数比较
-
思考过程
这里是否要设置timer? 今天进行了尝试,有一个已经可用该如何同时添加多个timer?
-
-
可记录、可回放——创建列表,timer。
- 创建模版(inport)
- 创建框架等(frame/timer)
- 注册事件(frame.set/frame.add)
- 定义全局变量(global)
- 调用事件(def)
- 创建辅助函数
- 开始(start Frame&Timer)
略(参见基本框架和前两节的教程内容)
- 思路是 ai 猜数字回放、手动猜数字过程回放、ai 自动猜数字各一个timer。
- Bug 已经解决,
- 思考:如何能自动化测试这种边界问题? 以免反复出现?
将 timer 中的 for 语句用 if 代替得已解决。
- 如何在代码中添加中文,有两种方法: ( 注意引号的位置。)
- u"中文字符"——用于句中。
- "中文字符\n"——用于句末,打印时自动添加一段空行。