Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 2.59 MB
Время: 0.458 c
15-1329856202
Юрий
2012-02-22 00:30
2013.03.22
С днем рождения ! 22 февраля 2012 среда


15-1346775365
pasha_golub
2012-09-04 20:16
2013.03.22
Как привести TList<TField> к простому TList


15-1344950240
DVM
2012-08-14 17:17
2013.03.22
Помогите перевести с английского на русский


2-1343506606
3asys
2012-07-29 00:16
2013.03.22
Получение директории программы


4-1256124076
istok
2009-10-21 15:21
2013.03.22
WM_ENDSESSION и Win7





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский