补全:写出 record
(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 补全 record(rec, st):局数加一、赢了 wins 加一、总分累
补全:把记录写成文本再读回
(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 真机上记录会追加进文件,每局一行「第N局 S分」。这里在内存里模拟:补全 d
为什么把逻辑和输入输出分开
把 judge、step 这些函数和 print、input 分开放,最大的好处是【0】。
哪件事属于输入输出层
下面四件事里,属于「输入输出层」而不是「逻辑层」的是【0】。
把状态拼成一句提示
(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) render 属于输出层:只把状态拼成一句话,不改任何东西。看参考对局最后一
补全:写出 render
(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 补全 render(st, msg):拼成「提示(第N次,还剩M次)」。输出
补全:先攒着,最后再输出
(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 补全 run(secret, lines):走完一局,把每一句 render
补全:把读和写做成可替换的
(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) io_play(secret, read, write) 不认识键盘和屏幕,
补全:只测逻辑层
(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 逻辑层不碰 I/O,所以能直接断言。补全三条检查:judge(73, 75)
重开一局要做什么
玩家输入 r 表示重开。程序该做的是【0】。