当前位置:首页|资讯

自学CS61A Project1 Hog(追加篇)(第二期)

作者:翻车水王汪轓发布时间:2024-10-20

前言

我是愚谷ノ園みら,简称愚園みら,本账号的使用者之一的负责分享学习笔记的oc。啊,我不会干涉各位号主们的其他事物,只会默默在专栏文件夹里发CS/AI相关的学习笔记。


总之,みら最近开始学习CS61A。打算记一点笔记激励自己学下去!


说实话我已经把算分的东西写完了,接下来可以进入下一项作业了吧……

不过我还是想看看ui怎么写的。


啊,忘了说的CS61A是一门CS相关的课?总之是UC Berkeley的CS入门课。嘛反正点开这篇文章的人应该不需要我来介绍CS61A是什么了(大概……)


以下部分都是基于已经装完环境,下载了相关课件,并且会使用ok进行评分的假设。

其实我也没怎么认真看课和课件,英语让人头大。


我也是初学者,请多包涵~如有错误,敬请斧正!


总之是正文

因为很懒,我将会把这一段东西再重新,呃,再复制粘贴……。


划掉。不复制黏贴了,看这篇必须要上一篇的基础所以不可能没看过上一篇。


hog_ui


用户输入部分


之后的两个函数都是用来读取用户输入数据的。

这个函数就很通用。读取用户input作为choice,然后判定是否符合要求:是0~10的int,不符合就一直循环问到符合为止。最后再把这个int输出。


然后就是把这个询问过程整合成一个策略函数。

尽管问用户“你这次投几个”不像是一种游戏策略,更不像一个函数(至少我不觉得)。

但它确实可以是。


这个函数的作用是,为某一玩家(0号或1号)生成一个互动策略函数(?)

因而它的输出是策略函数。


老样子,先在函数内定义一个函数。然后先用print把该给玩家的信息打印出来,再调用get_int获取玩家的选择。这个choice就是该策略的输出值。

最后,输出这个策略。


游戏部分


游戏部分只有一个函数:运行游戏!


它终于调用了上一篇文章第一个讲的`play_and_print`函数。这么做就相当于调动了第一篇里提到的所有功能。在这里,如果`num_players`是0,就会让两个5骰子电脑对打,如果是1或2,就会引用`interactive_strategy`,允许玩家自行输入。


main部分


说实话,没见过主程序的时候,觉得这么一堆不认识的东西还是挺哈人的,但理解了之后,就理解了。


首先是@main这个装饰器。它并不是python中通常的用法。它是从别的地方引入的。下面是main这个函数。虽说我没看懂它,GPT解释了我也没懂,但似乎,经过这样包装之后好用多了。


parser的部分……我大概也就直接接受它就是这么用的吧。参数--num_players或者-n,默认为0,是整数。


最后,当然是把命令行里输入的参数代入到play_with,然后运行。于是这就是UI的主程序了。


以上就是hog_ui了。



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1