Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Шахматный турнир   Найти похожие ветки 

 
ClawClaw   (2012-01-16 17:06) [840]

Я не про саму доску, а про организацию соревнований. А почему контроли времени не нравятся? Там же есть возможность поблицевать.


 
Mystic ©   (2012-01-16 17:25) [841]

> А почему контроли времени не нравятся?

Вот играл контроль день на ход. Постоянный цейтнот. В воскресенье закрутился --- пять просрочек. При том, что игру не задерживал, отвечал иногда мгновенно. Самый простенький контроль с накоплением не более 3-5 дней решил бы ситуацию. Так что такое счастье мне нафиг надо :)

Другой контроль семь дней на ход, игра еле идет. Игрок делает ход раз в неделю. Партии бывают 80 ходов (иногда и 100), итого 160 недель = в перспективе чуть более трех лет.

А поблицевать я там не пробовал, но в web это извращение еще то, имхо. И какой там контроль для блица, кстати? По минуте есть?

Ну а организация соревнований, чем на том же bestlogic.ru хуже, например? Все то же самое, выбираешь турнир, записываешься, играешь... Что в ней военного?


 
ClawClaw   (2012-01-18 14:05) [842]

Мистик, как ты думаешь, на каком языке лучше реализовывать игровой шахматный портал? Какую СУБД лучше использовать? Может, есть какие-то заготовки для старта?


 
Mystic ©   (2012-01-18 15:15) [843]

На том, который знаешь. Если взять меня, то с учетом быстрых контролей, масштабируемости и моих знаний и наклонностей, я бы выбрал C. Другие варианты: C++, Java, C#, и т. п. И писал бы на чистых сокетах, без HTTP. Генератор ходов был бы magic bitboard.

А если брать чисто игру по переписке, то PHP. Генератор ходов 0x88.


 
xayam ©   (2012-01-18 15:22) [844]


> я бы выбрал C. Другие варианты: C++, Java, C#

можно и PHP. Транслируется в си с помощью инструментов от facebook


 
Mystic ©   (2012-01-18 17:06) [845]


> можно и PHP. Транслируется в си с помощью инструментов от
> facebook


С для работы на низком уровне банально удобнее. Но даже в этом случае большой оверхед, потому как исключаются только затраты на интерпретацию. А так все остается в силе. Да и про 64-битные целые вопрос актуальный:

<pre>
  <?php
    $a = 0xFFFFFFFFFFFFFFF0;
    echo "a = $a\n";
    $a |= 7;
    echo "b = $a\n";
  ?>
</pre>

У меня выводит
<pre>
a = 1.844674407371E+19
b = 7
</pre>

Как оно тама будет? В общем, куча потенциальных граблей и почти никакой пользы.


 
xayam ©   (2012-01-18 19:54) [846]


> Да и про 64-битные целые вопрос актуальный:
> $a = 0xFFFFFFFFFFFFFFF0;
> echo "a = $a\n";
> $a |= 7;
> echo "b = $a\n";

php на 64 бита конечно скомпилирован? :) Такое ощущение что на 32


 
Mystic ©   (2012-01-18 20:11) [847]

Система 64-битная, Debian, PHP обычный.

Вообще, судя по реализации, в PHP принят подход JavaScript: все числа представляются как double. Мантисса у нас около 50 бит, которые и можно использовать свободно. Например,

<pre>
<?php
 $a = 0x100000000;
 echo "a = $a\n";
 $a |= 7;
 echo "b = $a\n";
?>
</pre>

Прекрасно справляется с задачей:

<pre>
$ php -f test.php
a = 4294967296
b = 4294967303
</pre>

Думаю, что хипхоп поступает также. Но, увы, в шахматах 64 клетки.

Ну а вообще запускать демоном PHP-приложение выглядит некоторым извратом, честно :)


 
ClawClaw   (2012-01-19 10:28) [848]


> Mystic ©   (18.01.12 15:15) [843]


А на каком языке обычно делают реализацию игровых порталов для логических игр (необязательно шахмат)? bestlogic на чем написан?


 
Mystic ©   (2012-01-19 18:37) [849]

bestlogic только шахматы и скорее всего и на PHP. Вообще, сайт я бы писал на PHP (потому что его знаю). Ну, может быть, если бы захотелось поизвращаться, то посмотрел бы в сторону Ruby, Python, ... Но PHP лучше хотя бы тем, что проще искать спецов.

Но под нагрузкой я бы предпочел сокеты (или epool и прочие их аналоги) и, соответственно, православный C. Но это дело вкуса. Но тогда к логическим играм попали бы и тетрис по сети на двоих, и т. д. и т. п.


 
ClawClaw   (2012-01-19 21:03) [850]

А Java чем плох?
Игровой сервер http://bereg.ru/games/club/hall.shtml на нем написан.


 
Mystic ©   (2012-01-20 14:28) [851]

Если ты знаешь Java, то хороший выбор. Мне язык субъективно не нравится, потому что слишком аскетичный. Хочу я в ухе отверткой поковырять, а она не дает. Биты, байты, указатели мне ближе, без них некомфортно как-то...

Ну и есть еще один мой бзик. На C есть ассемблерные вставки, корорые дают возможность использовать инструкции BSF, BSR, POPCNT. В .NET аналогов, которые бы переводились в эти инструкции я не знаю. А Java я совсем не знаю. Самый близкий по скорости вариант без ассемблера это что-то вроде:

<pre>
#include <iostream>
#include <stdint.h>

const int magic[64] = {
 63,  0, 58,  1, 59, 47, 53,  2,
 60, 39, 48, 27, 54, 33, 42,  3,
 61, 51, 37, 40, 49, 18, 28, 20,
 55, 30, 34, 11, 43, 14, 22,  4,
 62, 57, 46, 52, 38, 26, 32, 41,
 50, 36, 17, 19, 29, 10, 13, 21,
 56, 45, 25, 31, 35, 16,  9, 12,
 44, 24, 15,  8, 23,  7,  6,  5
};

inline int first_bit_index(uint64_t* value)
{
 int result = magic [ ( (*value&-*value) * 0x07EDD5E59A4E28C2ull ) >> 58 ];
 *value &= *value - 1;
 return result;
}

int main()
{
 for (;;)
 {
   uint64_t value;
   std::cout << "Enter number, zero to end: ";
   std::cin >> value;
   if (value == 0) break;
   while (value != 0)
     std::cout << "Bit #" << first_bit_index(&value) << " is set" << std::endl;
 }
 return 0;
}
</pre>


 
xayam ©   (2012-01-28 17:05) [852]

Кто желал блиц турнир?

Тут как раз начинается в 17-54 на chess.com

Раздел Live Chess / Tournaments /

15 +10 Standard Tournament (1500+) 5 rounds - Starting 17:54 (42 mins)


 
MastaK ©   (2012-01-28 21:46) [853]

за блиц спс.уже во всю рублюсь:)


 
xayam ©   (2012-01-28 22:59) [854]

через 40 минут будет еще один
15 +10

Играешь?


 
MastaK ©   (2012-01-29 00:39) [855]


> Играешь?

Я не в турнире а так на вызов.Турнир ща не охото.И без того седня в блиц турнире участвовал.Запарился.Такие турниры каждый день проводят?Завтра можно поиграть.15+10 это уже какие то быстрые шахматы получаются.


 
xayam ©   (2012-01-29 03:19) [856]

второе место
блин последнюю партию проиграл
а нужна была только ничья белыми


 
MastaK ©   (2012-01-29 12:34) [857]


> второе место
> блин последнюю партию проиграл
> а нужна была только ничья белыми

Такое всегда обидно.Из за чего проиграл то?


 
xayam ©   (2012-01-29 13:31) [858]


> Из-за чего проиграл то?

Несколько вариантов на выбор :)

1) Мистик был прав насчет e2 e4
2) В три часа ночи у меня голова поплыла и я вместо спокойного дебюта играю самый агрессивный
3) Последнее время мне за белых нравится c4, но почему-то по-прежнему играю e4


 
MastaK ©   (2012-01-29 14:20) [859]


> 1) Мистик был прав насчет e2 e4

Можно по подробнее?

>  В три часа ночи у меня голова поплыла и я вместо спокойного
> дебюта играю самый агрессивный

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

> Последнее время мне за белых нравится c4, но почему-то по-
> прежнему играю e4

Рефлекс:)


 
xayam ©   (2012-01-29 18:03) [860]


> Можно по подробнее?

он в этой ветки вроде писал, читай выше :)


 
был здесь   (2012-01-30 06:34) [861]


> С для работы на низком уровне банально удобнее. Но даже
> в этом случае большой оверхед, потому как исключаются только
> затраты на интерпретацию. А так все остается в силе. Да
> и про 64-битные целые вопрос актуальный:
>
> <pre>
>   <?php
>     $a = 0xFFFFFFFFFFFFFFF0;
>     echo "a = $a\n";
>     $a |= 7;
>     echo "b = $a\n";
>   ?>
> </pre>
>
> У меня выводит
> <pre>
> a = 1.844674407371E+19
> b = 7
> </pre>

А питон легко справляется и с 128 бит


>>> a = 0xFFFFFFFFFFFFFFF0
>>> a
18446744073709551600
>>> a |= 7
>>> a
18446744073709551607
>>> b = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
>>> b
340282366920938463463374607431768211440
>>> b |= 7
>>> b
340282366920938463463374607431768211447
>>>


 
ClawClaw   (2012-01-30 12:21) [862]


> Mystic ©   (20.01.12 14:28) [851]
>
> Если ты знаешь Java, то хороший выбор.


Интересно, а на Delphi можно написать игровой сайт? :)


 
AV ©   (2012-01-30 12:29) [863]


> Интересно, а на Delphi можно написать игровой сайт? :)

можно.
Писал как-то, подключал к IIS, играл сам с собой. (правда, не в шахматы, текстовая игра была)

Диспетчер сервера загружает разрешенный для него код, выполняет, берет ответ и отдает юзеру. Что разрешено - то и выполнит.

Очень просто начать, если интересно сделать первые шаги,  -
гугли по CGI + delphi. Проще некуда, обычная консолька берет что-то, отдает что-то. Только все через браузер.


 
ClawClaw   (2012-01-30 13:33) [864]


> AV ©   (30.01.12 12:29) [863]


Спасибо.

Какую версию Delphi использовал?
СУБД подключал? Хостинг какой подбирал?


 
Mystic ©   (2012-01-30 13:45) [865]


> Интересно, а на Delphi можно написать игровой сайт? :)


А в чем проблема? Мне, правда, FreePascal будет ближе, потому как хотелось бы под UNIX-like...

> гугли по CGI + delphi.

CGI не выдержит большой нагрузки. Жутко представить себе 5000 клиентов (читай процессов). Да и HTTP не самые лучший протокол для игрового сервера, WebSocket появились только в HTML 5, да и реализовать их не так, чтобы тривиально.

> А питон легко справляется и с 128 бит

А компилится ли в машкод? Основная идея битбордов как раз в том, чтобы за несколько машинных инструкций генерировать кучу ходов. Если вопрос производительности не стоит, то зачем ломать голову? Используй генератор 0x88 и будет тебе счастье.

Питон, я думаю, справится и с любым количеством бит, абы памяти хватило. Но посредством встроенной библиотеки.


 
xayam ©   (2012-01-30 14:01) [866]


> А компилится ли в машкод?

есть реализация на яве (ясень пень компилится)

http://www.jython.org/

> Mystic

это я [861] :)


 
Mystic ©   (2012-01-30 14:17) [867]

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


 
AV ©   (2012-01-30 14:40) [868]

> Какую версию Delphi использовал?
7ка
> СУБД подключал?
да, MsSqlExpress, там собствено, база действа, игрок выбирает, повернул ли направо, на - лево, потом считывается что произошло с ним, потом выбор опять. Аля интерактивная книга

> Хостинг какой подбирал?
localhost :)


 
ClawClaw   (2012-01-30 14:49) [869]


> Mystic ©   (30.01.12 13:45) [865]
> > Интересно, а на Delphi можно написать игровой сайт? :)
>
> А в чем проблема? Мне, правда, FreePascal будет ближе, потому
> как хотелось бы под UNIX-like...


Мистик, а есть хорошие manuals/tutorials для создания web-приложений на FreePascal для Линукса?


 
ClawClaw   (2012-01-30 14:53) [870]

Что-то уже нашел:

http://freepascal.ru/article/raznoe/20060127073733


 
Mystic ©   (2012-01-30 15:49) [871]


> Мистик, а есть хорошие manuals/tutorials для создания web-
> приложений на FreePascal для Линукса?


А зачем именно Web???

А вообще Стивенс, там, правда, C, но какая разница? Функции то одни и те же самые :)


 
ClawClaw   (2012-01-30 16:08) [872]

В смысле - а зачем именно Веб? А что ты предлагаешь?


 
xayam ©   (2012-01-30 16:23) [873]


> Но Java нормальный вариант, но тогда мне непонятно, зачем
> питон, а на Java?

это наверное у меня тоже тараканы в голове мешают :)
На embedded linux по умолчанию для программинга есть только питон...

Хотя питон не практиковал особо, но в нём что-то есть однозначно
Прочитал одну книгу, сам подход понравился.


 
Mystic ©   (2012-01-30 18:27) [874]

> В смысле - а зачем именно Веб? А что ты предлагаешь?

В шахматы через Веб я могу только по переписке играть. По минуте гонять, как на ICC, планете, playchess нужен клиент. Плюс всякие плюшки, типа premove. Плюс тут же сохранить по месту партии в базу, посмотреть где была новинка, что играли умные люди, сравнить со своими анализами, запустить двигло, .... Сюда же фристайл.


 
Mystic ©   (2012-01-30 18:28) [875]

> На embedded linux по умолчанию для программинга есть только
> питон...


Хм, даже gcc нетъ? Вообще, имхо, как соберешь :)


 
ClawClaw   (2012-01-30 18:59) [876]


> Mystic ©   (30.01.12 18:27) [874]


А если не с домашнего компа? Если в командировке и хочется сыграть в Интернет-кафе?


 
Mystic ©   (2012-01-30 19:13) [877]

WiFi? iPad? Опять же, браузерный Java-клиент будет работать? Тут я не в курсах


 
xayam ©   (2012-01-30 19:35) [878]


> Вообще, имхо, как соберешь

ну да, но это заморочка большая имхо
я не справлюсь :)


 
Mystic ©   (2012-01-30 22:55) [879]

Вопрос, зачем на сервер ставить embedded Linux тоже открыт :)


 
xayam ©   (2012-01-31 00:02) [880]


> Вопрос, зачем на сервер ставить embedded Linux тоже открыт
> :)

это к производителю вот такой штуки

http://www.sena.com/products/industrial_bluetooth/msp1000.php



Страницы: 1 2 3 4 5 6 7 8 9 
10 11 12 13 14 15 16 17 18 
19 20 21 22 23 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 2.61 MB
Время: 0.358 c
15-1343313724
waveOutXXX
2012-07-26 18:42
2013.03.22
Как правильно работать с waveOutXXX?


15-1330193035
oxffff
2012-02-25 22:03
2013.03.22
Вопрос по настройке VPN


15-1343881225
xss22
2012-08-02 08:20
2013.03.22
Система диалогов


15-1351590930
Palladin
2012-10-30 13:55
2013.03.22
Как в директивах препроцессора с# target framework учесть?


2-1345811633
Егорка
2012-08-24 16:33
2013.03.22
Безопасен ли вызов в DllMain такой функции