井字游戏的Haskell函数 [已关闭]

Haskell function for Tic Tac Toe [closed]

提问人:sebdev 提问时间:11/8/2023 更新时间:11/9/2023 访问量:85

问:


想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。

12天前关闭。

我相信你们都做得很好。我带着一个谦虚的请求伸出援手。我一直在研究我在网上发现的一系列 Haskell 练习,事情进展顺利。但是,我目前的任务遇到了一些障碍,这涉及实现井字游戏功能。该任务要求我创建以下函数:

任务:(https://i.stack.imgur.com/D7OKb.png)

我想知道你们中是否有人可以就此事提供一些指导或帮助?

我衷心感谢您的时间和支持!

我试图创建一个单独的函数,在其中我创建了一个没有“x”或“o”填充空格的竞争环境。

Haskell 函数式编程

评论

5赞 cafce25 11/8/2023
Stack Overflow 不是一个免费的代码编写服务,你应该诚实地尝试,当你遇到任何特定问题时,你可以再次询问该问题。您可以参观并阅读如何提问,了解该问题应如何措辞以获得最佳效果。
4赞 Mark Seemann 11/8/2023
请不要上传代码/数据/错误的图像。

答:

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!