对新项目的建议 - 两个Ubuntu机器之间的命令行国际象棋游戏

时间:2009-10-01 20:02:13

标签: command-line networking chess

我是CS学生,我很想做一个命令行象棋游戏。理想情况下,我可以直接将我的动作ping到我的对手,只是为了好玩,我宁愿使用ASCII艺术在命令行上打印棋盘(没有记忆象棋)。

我有4年的计算机科学学位,我刚刚开始担任Java程序员。我想回到基础,获得一些乐趣,但我很难理解如何开始。

您将建立什么样的联系以及如何建立联系?您会使用什么语言,以及您认为该项目最困难的是什么。

在同一网络上有2台linux机器,我可以轻松ping这台机器。

干杯,

GAV株系

修改

我对可能的方法有什么想法? 我可以轻松地在Java中完成它,也许这对我来说是最好的选择。制作一个可执行的Jar并从命令行运行它。我只是希望用脚本语言或类似语言学习一门新语言或技能。我只是不知道如何在Python中设置连接。

对不起,我知道这个问题有点模糊,但我只是在寻找几个指针,没有深入。你会用什么技术。

4 个答案:

答案 0 :(得分:1)

如果您使用的是Java,则可以使用Java套接字。我听说在两者之间建立连接非常容易。

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

这可能会有所帮助。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

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

你可以和客户一起去客户设计,但每个客户都必须保留自己的信息,如得分,赢得个人资料。这将使攻击变得非常容易,例如修改你的分数。

我强烈建议在线客户端出于安全原因。您可以限制有权访问您的Web服务的域名,并防止对您的服务器进行任何未经授权的访问。如果您创建分布式客户端,那么安全起见就会困难得多,因为任何人都可以下载客户端并访问您的服务。你还必须考虑到,在这个设计中,有人可以通过使用计算机象棋引擎制作自己的欺骗客户端。

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

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

答案 3 :(得分:0)

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