2

我是一名 CS 学生,我很想制作一个命令行国际象棋游戏。理想情况下,我可以将我的动作直接发送给我的对手,只是为了好玩,我宁愿使用 ASCII 艺术在命令行打印棋盘(无记忆棋)。

我拥有 4 年的计算机科学学位,并且刚刚开始作为 Java 程序员工作。我想回到基础来找点乐子,但我不知道如何开始。

您将建立什么样的联系以及如何建立?你会使用什么语言,在你看来这个项目最困难的地方是什么。

2台linux机器在同一个网络,我可以ping通机器很容易。

干杯,

加夫

编辑

我对可能的方法有什么想法?我可以很容易地用 Java 做到这一点,也许这对我来说是最好的选择。制作一个可执行的 Jar 并从命令行运行它。我只是希望通过脚本语言或类似语言学习一门新语言或技能。例如,我只是对在 Python 中建立连接一无所知。

抱歉,我知道这个问题有点含糊,但我只是在寻找一些指针,没有深入的内容。你会使用什么技术。

4

4 回答 4

1

如果您使用 Java,则可以使用 Java 套接字。我听说在两者之间建立联系真的很容易。

在快速的谷歌搜索中,我想出了这个: http: //www.devarticles.com/c/a/Java/Socket-Programming-in-Java/

这可能会有所帮助。

于 2009-10-01T20:24:12.577 回答
1

如果您确实在机器之间进行套接字连接,请考虑进行测试。

测试它们是否相互发送文本移动会容易得多,然后您可以使用 telnet 手动测试它,而不是使用一些复杂的远程对象(尽管可能有很多工具用于测试/监视 J2EE 类型系统)。

于 2009-10-02T14:20:32.790 回答
1

我为我的在线国际象棋网站做了类似的事情:www.geekswithchess.com

我使用客户端服务器架构在 C# 中实现了我的国际象棋系统。我将 Microsoft Silverlight 用于客户端,将 Windows Communication Foundation (WCF) 服务用于服务器。

您可以与客户一起进行客户设计,但每个客户都必须保留自己的信息,例如分数,获胜配置文件。这将使破解变得非常容易,例如修改您的分数。

我强烈建议出于安全原因使用在线客户端。您可以限制可以访问您的 Web 服务的域名,并防止任何未经授权的访问您的服务器。如果您制作一个分布式客户端,那么安全将更加困难,因为任何人都可以下载客户端并访问您的服务。您还必须考虑,在此设计中,有人可以使用计算机国际象棋引擎制作自己的作弊客户端。

如果您需要更多帮助,请随时在我的网页上查找我的联系信息。

如果您想了解有关编写国际象棋引擎的更多信息并下载一些免费源代码,请访问我的博客:www.chessbin.com

于 2009-10-03T12:15:41.610 回答
0

我已经使用 Java 完成了一个命令行国际象棋游戏。但是我还没有实现在线模式。但是 Java 可能是最好的语言。

于 2010-08-30T02:19:59.610 回答