+ Ответить в теме
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 20 из 34

Тема: Крестики-нолики

  1. #1
    Новичок shalex кто это?
    Регистрация
    15.02.2006
    Адрес
    где-то рядом
    Сообщений
    10
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    Talking Крестики-нолики

    тоже релиз

  2. #2
    Под контролем Radist Petrov отключил(а) отображение уровня репутации Аватар для Radist Petrov
    Регистрация
    26.11.2004
    Адрес
    Энергетик
    Возраст
    46
    Сообщений
    15,785
    Поблагодарил(а)
    3,140
    Получено благодарностей: 4,072 (сообщений: 2,074).

    По умолчанию

    Саня, напиши больше чем 3х3 А то он мне постоянно проигрывает Логика у него помоему железно пробита

    Либо ничья!
    "Опасайтесь людей верующих, ибо у них есть боги, которые всё им прощают. Неверующих тоже, ибо у них нет бога, который бы им хоть что-то запретил!" (с)

  3. #3
    Новичок shalex кто это?
    Регистрация
    15.02.2006
    Адрес
    где-то рядом
    Сообщений
    10
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Цитата Сообщение от Radist Petrov
    Саня, напиши больше чем 3х3 А то он мне постоянно проигрывает Логика у него помоему железно пробита

    Либо ничья!
    не для того делалась чтоб выигрывать кто-то просил года два назад..

  4. #4
    Ветеран Sprit_e кто это? Sprit_e кто это? Аватар для Sprit_e
    Регистрация
    21.03.2006
    Адрес
    Энергетик
    Возраст
    36
    Сообщений
    1,379
    Поблагодарил(а)
    246
    Получено благодарностей: 348 (сообщений: 221).

    По умолчанию

    Прикольная игруха!

  5. #5
    Под контролем Radist Petrov отключил(а) отображение уровня репутации Аватар для Radist Petrov
    Регистрация
    26.11.2004
    Адрес
    Энергетик
    Возраст
    46
    Сообщений
    15,785
    Поблагодарил(а)
    3,140
    Получено благодарностей: 4,072 (сообщений: 2,074).

    По умолчанию

    Цитата Сообщение от shalex
    не для того делалась чтоб выигрывать кто-то просил года два назад..
    дык я уже аналоги нашел С безграичным полем
    "Опасайтесь людей верующих, ибо у них есть боги, которые всё им прощают. Неверующих тоже, ибо у них нет бога, который бы им хоть что-то запретил!" (с)

  6. #6
    Новичок shalex кто это?
    Регистрация
    15.02.2006
    Адрес
    где-то рядом
    Сообщений
    10
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Цитата Сообщение от Radist Petrov
    дык я уже аналоги нашел С безграичным полем
    идейка пришла, может замутить турнир между программами по крестикам-ноликам (не 3х3)? только как две программы будут биться на одном поле, пока слабо представляю..

  7. #7
    Ветеран nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты Аватар для nobody
    Регистрация
    03.06.2005
    Адрес
    Lost in Space...
    Возраст
    41
    Сообщений
    1,126
    Поблагодарил(а)
    19
    Получено благодарностей: 161 (сообщений: 101).

    По умолчанию

    Надо реализовать протокол обмена, а зафигачить турнир по сети ;)

  8. #8
    Новичок shalex кто это?
    Регистрация
    15.02.2006
    Адрес
    где-то рядом
    Сообщений
    10
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    Thumbs up

    Цитата Сообщение от Qwadrat
    Надо реализовать протокол обмена, а зафигачить турнир по сети ;)
    тоже тема, а то всё контра да контра

  9. #9
    Ветеран nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты Аватар для nobody
    Регистрация
    03.06.2005
    Адрес
    Lost in Space...
    Возраст
    41
    Сообщений
    1,126
    Поблагодарил(а)
    19
    Получено благодарностей: 161 (сообщений: 101).

    По умолчанию

    Нужен выделенный сервер, который будет посредником между игроками/программами и будет вести статистику, ладдер, регистрацию и прочее. Протокол нужно четко задекларировать, чтобы программист мог написать свою программу, которая будет играть и чтобы живой игрок могу сыграть с программами/игроками на выбор, используя понравившийся ему клиент.

  10. #10
    Новичок shalex кто это?
    Регистрация
    15.02.2006
    Адрес
    где-то рядом
    Сообщений
    10
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    Post

    Цитата Сообщение от Qwadrat
    Нужен выделенный сервер, который будет посредником между игроками/программами и будет вести статистику, ладдер, регистрацию и прочее. Протокол нужно четко задекларировать, чтобы программист мог написать свою программу, которая будет играть и чтобы живой игрок могу сыграть с программами/игроками на выбор, используя понравившийся ему клиент.
    дело за малым: реализовать это.
    у кого-нить есть опыт работы с клиент-серверными приложениями?
    или хотя бы небольшой пример как делать это правильно.. я бы взялся тогда. И как выглядит задекларированный протокол?

  11. #11
    Sef
    Guest

    По умолчанию

    Цитата Сообщение от Qwadrat
    Нужен выделенный сервер, который будет посредником между игроками/программами и будет вести статистику, ладдер, регистрацию и прочее. Протокол нужно четко задекларировать, чтобы программист мог написать свою программу, которая будет играть и чтобы живой игрок могу сыграть с программами/игроками на выбор, используя понравившийся ему клиент.
    мыслишь верно но не для этой ситуации..
    писать сервак со статистикой-регистрацией и прочим прочим для крестиков ноликов?
    имхо это просто никому не нужно, мне кажется не такого размаха эта игра.. гораздо проще можно устроить, взять исходную прогу и туда добавить функцию и клиента и сервера, чтоб игрок мог сам становиться серваком либо просто коннектиться к кому-либо, ну и чат туда добавить, не более..

  12. #12
    Ветеран nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты Аватар для nobody
    Регистрация
    03.06.2005
    Адрес
    Lost in Space...
    Возраст
    41
    Сообщений
    1,126
    Поблагодарил(а)
    19
    Получено благодарностей: 161 (сообщений: 101).

    По умолчанию

    Сеф, ты не понял концепт ))
    Вся идея в фане, нужно устроить турнир между программами )
    А возможность играть живым игрокам чисто опциональна ))

  13. #13
    Sef
    Guest

    По умолчанию

    Цитата Сообщение от Qwadrat
    Сеф, ты не понял концепт ))
    Вся идея в фане, нужно устроить турнир между программами )
    А возможность играть живым игрокам чисто опциональна ))
    хе, ну если устраивать турнир между программками крестиками ноликами то впринципе да.. это уже будет правда в большей части кодерское соревнование, чья прога лучше, это впринципе довольно интересно.. можно сделать посложнее и замутить по шахматам, например, вот там действительно есть над чем подумать, особенно если делать программу, способную к самообучению

  14. #14
    Ветеран nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты Аватар для nobody
    Регистрация
    03.06.2005
    Адрес
    Lost in Space...
    Возраст
    41
    Сообщений
    1,126
    Поблагодарил(а)
    19
    Получено благодарностей: 161 (сообщений: 101).

    По умолчанию

    По сути задекларированный протокол адаптировать к шахматам вообще ничего не стоит.

  15. #15
    Новичок shalex кто это?
    Регистрация
    15.02.2006
    Адрес
    где-то рядом
    Сообщений
    10
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Цитата Сообщение от Sef
    можно сделать посложнее и замутить по шахматам, например, вот там действительно есть над чем подумать, особенно если делать программу, способную к самообучению
    куда-то не туда вас понесло.. искусственный интелект эт конечно интересно, но давайте вернемся к нашим баранам то есть к крестикам-ноликам - это тоже интересно и познавательно (для меня по крайней мере), а потом может, если получится, можно и посложнее что-нибудь замутить

  16. #16
    Ветеран nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты Аватар для nobody
    Регистрация
    03.06.2005
    Адрес
    Lost in Space...
    Возраст
    41
    Сообщений
    1,126
    Поблагодарил(а)
    19
    Получено благодарностей: 161 (сообщений: 101).

    По умолчанию

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

  17. #17
    Кандидат в умники JiF Включаюсь JiF Включаюсь JiF Включаюсь
    Регистрация
    20.05.2005
    Сообщений
    420
    Поблагодарил(а)
    0
    Получено благодарностей: 14 (сообщений: 9).

    По умолчанию

    Цитата Сообщение от Qwadrat
    Искуственный интеллект, реализация его - это задача программиста, пишущего клиент в соответствии с задекларированными требованиями. Первая задача - реализовать серверную часть.
    Первая задача - протокол !
    Возникло три вопроса:
    1. Если битва алгоритмов, то откуда гарантия, что на другом конце провода будет не человек ?
    2. имхо крестики нолики - это просто не та игра, где можно состязаться в AI ...
    3. турнир предполагается 1х1 ? или AxB или вообще каждый сам за себя ?

  18. #18
    Новичок shalex кто это?
    Регистрация
    15.02.2006
    Адрес
    где-то рядом
    Сообщений
    10
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    хорошо давай,
    какой вообще общий план взаимодействия сервера с клиентом, то есть кто кому что и зачем отправляет и т.п.? и будет ли возможность играть нескольким парам одновременно?

  19. #19
    Ветеран nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты Аватар для nobody
    Регистрация
    03.06.2005
    Адрес
    Lost in Space...
    Возраст
    41
    Сообщений
    1,126
    Поблагодарил(а)
    19
    Получено благодарностей: 161 (сообщений: 101).

    По умолчанию

    Конечно же первая задача - протокол.
    1. Игры 1х1.
    2. Протокол можно будет адаптировать под любую другую полевую игру 1х1.
    3. Гарантии никакой не надо пока.

    С чего начинать:
    1. Назначить порт Tcp.
    2. Определить структуру пакета хендшейка.
    3. Пакеты протокола пронумеровать и задекларировать. Пример навскидку:
    - пакет х0000 логин, длина пакета 32 байта
    - х0001 пароль, 32 байта
    - х0002 режим, сколько-то байт
    - и т.д.
    4. Сервер должен анализирвать принимаемые пакеты, и есс-но контролировать, выявлять ошибки, эксплоиты в соответствии с правилами игры.

    Это просто мысли, с чего начать....

  20. #20
    Ветеран nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты nobody Набираю обороты Аватар для nobody
    Регистрация
    03.06.2005
    Адрес
    Lost in Space...
    Возраст
    41
    Сообщений
    1,126
    Поблагодарил(а)
    19
    Получено благодарностей: 161 (сообщений: 101).

    По умолчанию

    Вот примерчик работы с сокетами, если кому интересно ;)

    client.c
    Код:
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <stdio.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <unistd.h>
    int main()
    {
       int sockfd;
       int len;
       struct sockaddr_in address;
       int result;
       char ch = 'A';
       sockfd = socket(AF_INET, SOCK_STREAM, 0);
       address.sin_family = AF_INET;
       address.sin_addr.s_addr = inet_addr("127.0.0.1");
       address.sin_port = 9000;
       len = sizeof(address);
       result = connect(sockfd, (struct sockaddr *)&address, len);
       if(result == -1) {
         perror("Error: client");
         exit(1);
       }
       write(sockfd, &ch, 1);
       read(sockfd, &ch, 1);
       printf("Answer from server = %c\n", ch);
       close(sockfd);
       exit(0);
    }
    server.c
    Код:
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <stdio.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <unistd.h>
    int main()
    {
       int server_sockfd, client_sockfd;
       int server_len, client_len;
       struct sockaddr_in server_address;
       struct sockaddr_in client_address;
       server_sockfd = socket(AF_INET, SOCK_STREAM, 0);
       server_address.sin_family = AF_INET;
       server_address.sin_addr.s_addr = inet_addr("127.0.0.1");
       server_address.sin_port = 9000;
       server_len = sizeof(server_address);
       bind(server_sockfd, (struct sockaddr *)&server_address, server_len);
       listen(server_sockfd, 5);
       while(1) {
          char ch;
          printf("server waiting\n");
          client_len = sizeof(client_address);
          client_sockfd = accept(server_sockfd,
          (struct sockaddr *)&client_address, &client_len);
          read(client_sockfd, &ch, 1);
          ch++;
          write(client_sockfd, &ch, 1);
          close(client_sockfd);
       }
    }

+ Ответить в теме
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

     

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru
Администрация сайта не выражает согласия
с высказыванием участников форума и не несет
ответственности за их содержание.

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