我是愚谷ノ園みら,简称愚園みら,本账号的使用者之一的负责分享学习笔记的oc。啊,我不会干涉各位号主们的其他事物,只会默默在专栏文件夹里发CS/AI相关的学习笔记。
总之,みら最近开始学习CS61A。打算记一点笔记激励自己学下去!
说实话我已经把算分的东西写完了,接下来可以进入下一项作业了吧……
不过我还是想看看ui怎么写的。
啊,忘了说的CS61A是一门CS相关的课?总之是UC Berkeley的CS入门课。嘛反正点开这篇文章的人应该不需要我来介绍CS61A是什么了(大概……)
以下部分都是基于已经装完环境,下载了相关课件,并且会使用ok进行评分的假设。
其实我也没怎么认真看课和课件,英语让人头大。
我也是初学者,请多包涵~如有错误,敬请斧正!
因为很懒,我将会把这一段东西再重新,呃,再复制粘贴……。
划掉。不复制黏贴了,看这篇必须要上一篇的基础所以不可能没看过上一篇。
之后的两个函数都是用来读取用户输入数据的。
这个函数就很通用。读取用户input作为choice,然后判定是否符合要求:是0~10的int,不符合就一直循环问到符合为止。最后再把这个int输出。
然后就是把这个询问过程整合成一个策略函数。
尽管问用户“你这次投几个”不像是一种游戏策略,更不像一个函数(至少我不觉得)。
但它确实可以是。
这个函数的作用是,为某一玩家(0号或1号)生成一个互动策略函数(?)
因而它的输出是策略函数。
老样子,先在函数内定义一个函数。然后先用print把该给玩家的信息打印出来,再调用get_int获取玩家的选择。这个choice就是该策略的输出值。
最后,输出这个策略。
游戏部分只有一个函数:运行游戏!
它终于调用了上一篇文章第一个讲的`play_and_print`函数。这么做就相当于调动了第一篇里提到的所有功能。在这里,如果`num_players`是0,就会让两个5骰子电脑对打,如果是1或2,就会引用`interactive_strategy`,允许玩家自行输入。
说实话,没见过主程序的时候,觉得这么一堆不认识的东西还是挺哈人的,但理解了之后,就理解了。
首先是@main这个装饰器。它并不是python中通常的用法。它是从别的地方引入的。下面是main这个函数。虽说我没看懂它,GPT解释了我也没懂,但似乎,经过这样包装之后好用多了。
parser的部分……我大概也就直接接受它就是这么用的吧。参数--num_players或者-n,默认为0,是整数。
最后,当然是把命令行里输入的参数代入到play_with,然后运行。于是这就是UI的主程序了。
以上就是hog_ui了。