Совет для нового проекта - Шахматная игра командной строки между двумя машинами Ubuntu - PullRequest
2 голосов
/ 02 октября 2009

Я студент CS, и я хотел бы сделать игру в шахматы командной строки. В идеале я мог бы пинговать свои ходы непосредственно своему оппоненту, и просто для удовольствия я бы предпочел использовать искусство ASCII для печати доски (без шахмат памяти) в командной строке.

У меня 4 года обучения по информатике, и я только начинаю работать программистом на Java. Я хочу вернуться к основам, чтобы немного повеселиться, но я озадачен тем, как начать.

Какую связь вы бы установили и как? Какой язык вы бы использовали и что, по вашему мнению, было бы самым сложным в этом проекте.

2 машины Linux в одной сети, я могу легко проверить связь с машиной.

Приветствия

Гав

EDIT

Какие у меня мысли о возможном подходе? Я мог бы сделать это на Java легко и, возможно, это лучший вариант для меня. Сделайте исполняемый файл Jar и запустите его из командной строки. Я просто надеялся выучить новый язык или навык на языке сценариев или подобном. Я просто не знаю ничего о настройке соединения в Python, например.

Извините, я знаю, что вопрос был немного расплывчатым, но я просто искал пару указателей, ничего глубже. Какие технологии вы бы использовали.

Ответы [ 4 ]

1 голос
/ 02 октября 2009

Если вы делаете сокетное соединение между машинами, подумайте о тестировании.

Было бы намного проще проверить, отправляют ли они друг другу текстовые перемещения, тогда вы можете проверить это вручную с помощью telnet, а не с помощью какого-нибудь сложного удаленного объекта (хотя, вероятно, существует множество инструментов для тестирования / мониторинга системы типа J2EE) .

1 голос
/ 03 октября 2009

Я сделал нечто похожее для моего сайта по шахматам по адресу: www.geekswithchess.com .

Я реализовал свою шахматную систему в C #, используя архитектуру клиент-сервер. Я использовал Microsoft Silverlight для клиента и службы Windows Communication Foundation (WCF) для сервера.

Вы могли бы пойти с клиентом к клиенту, но каждый клиент должен был бы сохранить свою собственную информацию, такую ​​как счет, побеждая в профиле. Это позволит легко взломать и, например, изменить ваш счет.

Я бы настоятельно рекомендовал онлайн-клиент по соображениям безопасности. Вы можете ограничить доменное имя, которое имеет доступ к вашим веб-службам, и предотвратить любой несанкционированный доступ к вашему серверу. Если вы создадите распределенный клиент, его будет гораздо сложнее защитить, поскольку любой может загрузить клиент и получить доступ к вашим услугам. Вы также должны учитывать, что в этом проекте кто-то может создать своего собственного клиента, который обманывает, используя компьютерный шахматный движок.

Если вам нужна дополнительная помощь, ищите мою контактную информацию на моей веб-странице.

Если вы хотите узнать больше о написании шахматного движка и загрузить бесплатный исходный код, посетите мой блог: www.chessbin.com

1 голос
/ 02 октября 2009

Если вы используете Java, вы можете использовать сокеты Java. Я слышал, что действительно легко установить связь между ними.

При быстром поиске в Google я придумал следующее: http://www.devarticles.com/c/a/Java/Socket-Programming-in-Java/

Это может быть полезно.

0 голосов
/ 30 августа 2010

Я сделал игру в шахматы из командной строки, используя Java. Однако я не реализовал онлайн-режим. Но Java, вероятно, будет лучшим языком для использования.

...