猜动物:假设你是一个动物,程序问问题试图猜出你是哪种动物。如果程序的猜测正确,就开始另一轮游戏。如果程序不能断定你是哪种动物,你就提供一些信息给程序以使下次再玩游戏时,程序会聪明一点儿。
举例:假设你现在是一只浣熊(raccoon)。游戏开始
***** 猜动物游戏 *****
程序: 请在心里想好一种动物,让我来猜一猜
你是哺乳动物吗?'
用户:y
程序:你比猫大吗?
用户:y
程序:我猜是袋鼠,我猜的对吗
用户:Y
程序:我猜对了!
程序:继续玩吗?
用户:Y
(再完一次)
程序:你是哺乳动物吗?'
用户:Y
程序:你比猫大吗?
用户:Y
程序:我猜是袋鼠,我猜的对吗
用户:N
程序:我认输了,你是什么?
用户:浣熊
程序:请键入一个问题,便得通过此问题可以将袋鼠 和浣熊 区分开.
用户:你有大口袋吗?
程序:对于浣熊 你有大口袋吗?(Y/N)
用户:N
程序:噢,我明白了
程序:退出游戏吗?
……
这样你就给程序提供了一个以后可以区分袋鼠和浣熊的问题。
程序使用的数据存储在一棵二叉树中,每个非叶子结点包含一个问题。当程序开始后,它只知道4种动物。
根结点的问题是“是哺乳动物吗?”。
如果是,左子树的问题是“比猫大吗?”,
如果是,答案是袋鼠,否则,答案是老鼠
否则,不是哺乳动物,问“生活在水中吗?”
如果是,答案是鳟鱼,否则,答案是知更鸟
如果叶子结点包含正确的动物,一切都好。如果猜的不对,程序将从用户那里引出信息,并用这些信息改进二叉树。
主要功能函数:
(1) 建立初始状态的二叉树
(2) 猜策过程
(3) 学习过程,若猜测失败,扩展叶结点
要求是必须是自己写的 不要网上复制的 代码发我邮箱 [email protected] 若采纳 可再加分!!!!!