From: Konstantin T. <an...@ya...> - 2010-09-15 08:38:19
|
Идея проста. Создается класс "делегата" игрока (см. в доках Qt Item Views, если вдруг непонятно о чем речь). Для делегата задается положение на столе в виде одной из условных точек, исходя из которого он выбирает расположение карт и рисует их в правильном месте стола Поясню с помощью ASCII-арта: _______________ | * * | | | Три игрока, раскладка как сейчас | | | | | | | * | ---------------- _______________ | * | | | Два игрока напротив, карты горизонтально | | | | | | | * | ---------------- _______________ | * * | | | Четыре игрока напротив, карты горизонтально | | | | | | | * * | ---------------- _______________ | * | | | Четыре игрока по краям стола | | |* *| | | | | | * | ---------------- _______________ | | | | У игрока внизу карты горизонтально, у игроков сбоку - вертикально | | |* *| | | | | | * | ---------------- _______________ |* *| | | У игрока внизу карты горизонтально, у игроков сбоку - компактно расположены в три ряда | | | | | | | | | * | ---------------- Сначала я думал сделать выбор оптимальной раскладки автоматическим, но потом решил, что лучше он будет жестко контролироваться пользователем движка (на префе свет клином не сошелся же;), а автоматически будет высчитыватсья размер карт (если на экране не хватает места, уменьшать их) Смену раскладки карт думаю сделать доступной для пользователя через гуи Насчет гуи на других языках - пока не планируется, более важна задача "AI на других языках" (хотя если делать обертки, думаю можно сделать для всех апишных классов сразу) -- Regards, Konstantin |