提问人:sebdev 提问时间:11/8/2023 更新时间:11/9/2023 访问量:85
井字游戏的Haskell函数 [已关闭]
Haskell function for Tic Tac Toe [closed]
问:
我相信你们都做得很好。我带着一个谦虚的请求伸出援手。我一直在研究我在网上发现的一系列 Haskell 练习,事情进展顺利。但是,我目前的任务遇到了一些障碍,这涉及实现井字游戏功能。该任务要求我创建以下函数:
任务:(https://i.stack.imgur.com/D7OKb.png)
我想知道你们中是否有人可以就此事提供一些指导或帮助?
我衷心感谢您的时间和支持!
我试图创建一个单独的函数,在其中我创建了一个没有“x”或“o”填充空格的竞争环境。
答:
3赞
141592653
11/8/2023
#1
您应该问自己的第一个问题是:我应该使用什么数据结构来存储井字游戏的状态?我们称之为这种类型,我会让你找出这应该是什么。Board
回答了这个问题后,您应该实现一些小函数来执行此数据类型的简单任务。例如,你可以实现一个函数
circPlay :: (Int, Int) -> Board -> Board
这允许圆圈玩家在某个方块上玩。然后你可能会意识到你应该处理方块不在棋盘上的情况,等等。也许你想要尽可能多的玩家,你可能会想出越来越多的想法来概括你开始编写的代码。
例如,您可能会意识到使用 而不是circPlay
play :: Char -> (Int, Int) -> Board -> Board
这样玩家就有多少角色就有多少。按照这个步骤,您最终将能够实现井字游戏。一小步接着一小步!
评论
0赞
sebdev
11/9/2023
谢谢。现在的解决方式更加清晰了。我会试一试!
0赞
141592653
11/10/2023
@sebdev 不要犹豫,接受这个答案,祝你好运,学习Haskell!
评论