Перейти к содержимому


Фотография

Рука фортуны и Карты монстров


  • Закрытая тема Тема закрыта
11 ответов в этой теме

Опрос: Рука фортуны и Карты монстров (15 пользователей проголосовало)

Дарить карты в буфер

  1. нравится (2 голосов [13.33%])

    Процент голосов: 13.33%

  2. не нравится (13 голосов [86.67%])

    Процент голосов: 86.67%

Голосовать

#1 slaviktaz

slaviktaz
  • Пользователи
  • 5 Сообщений:

Отправлено 06 December 2016 - 01:57 AM

Для повышения друже-любности механизма игры к игрокам, нужно
пере-направлять карты монстров, включаяя карты элементов, в буфер_для_коробок.

Когда игрок открывает, например, синюю коробку, то открывается отдельное окошко,
и там показаны подарки - это и есть, буфер для коробок.

Есть пара деталей - авторы игры могут гибко их настроить..

1. Игнорирование настроек групы на дроп, потому-что карты выдаёт рука бога.
При этом, игрок, которому выпала карта в буфер, может не брать её оттуда сразу,
и факт выпадения останется в тайне.

2. Особая галочка блокератора переноса карты в нормальный рюкзак, если на момент
попадания карты в буфер, нужный отдел рюкзака не имел свободных слотов.
Блокератор с карты снимается, если расширить любой раздел рюкзака.
Блокератор изначально не ставится, если нужный раздел рюкзака _полностью расширен.

// --- Далее, мысли, близкие к техническим заморочкам

Процедура дропа, от факта смерти монстра, как обычно, выясняет _какая_пати
получит доступ к дропу из этого монстра (один игрок == тоже пати).
Далее, предметы дропа порождаются ... но кейс порождения карт монстров,
выносим в отдельную процедуру, например, drop_card_mob.


// номер предмета, и масив на 8 игроков групы, которая нанесла больше урона.
bool drop_card_mob( int id_card, t_player* params[] )
{
// фантазирую внутрености _руки_фортуны // надо узнать _кому_выпало

int k = 0;
t_player* p8[ 8];
for(i < 8) if( params[ i] ) p8[ k++] = params[ i]; // с ноля по семёрку
// утрамбовать указки, чтобы все не-нолевые стали подряд.

if( k < 1 ) // нет даже одного игрока ...
  return 0; // никому не досталось - вызов процедуры подозрительный.
else if( k != 1 ) // если много игроков, то рулетка.
  k = random( 1, k); // хотя, этот выбор можно усложнить.

t_player* p = p8[ k -1]; // первый счастливчик.

if( p->card_gift_ok( id_card) ) // содержимое процы чуть ниже.
  return 1; // удалось выдать.

// можно переделать процу, чтобы не удачная выдача карты первому счастливчику,
// пыталась крутануть рулетку _оставшимся игрокам групы.
return 0;
}


bool t_player:: card_gift_ok( int id_card)
{
if( this->bag_extra__on_use() ) // не разгружен буфер_для_коробок.
  return 0; // игрок не хочет новых подарков.

t_item* card = game_create_item( id_card); // создать предмет-карту.
if( card ) // если получилось создать предмет-карту.
{
  int bloker = 0;
  if( ! this->bag3_don_max ) // если раздел рюкзака не максимален
  {
  if( this->bag3_next_empty_slot < 0 ) // if( не нашли пустого места )
    bloker = 1; // надо ставить блокератор на карту,
    // который сбросим, когда игрок _расширит рюкзак.
  }

  if( this->bag_extra__add_item( card) ) // выставили в буфер_для_коробок
  {
    card->bloker_move_to_bag = bloker;
    card->spec_on_gift(); // в статистику сервера, что карта была выбита
    return 1; // удалось выдать.
  }

  card->destroy(); // не доставайся никому - карта не была выбита.
}
return 0;
}


// в событии расширения рюкзака
bool t_player:: on_bag_up()
{
  t_item* first = this->bag_extra__on_use();
  if( first )
  {
    if( first->type as card_mob || first->type as card_mob_elem )
    first->bloker_move_to_bag = 0; // обноляем, чтобы игрок мог перенести
  }

// и остальная часть события
}



#2 Андросин

Андросин

    .....

  • Пользователи
  • 7779 Сообщений:

Отправлено 06 December 2016 - 06:08 AM

Нг еще не начался, а люди отмечают уже во всю)

#3 puffick

puffick
  • Пользователи
  • 3872 Сообщений:

Отправлено 06 December 2016 - 06:29 AM

Учись пользоваться CamelCase'ом, иначе очень сложно читать что-либо.



#4 Kabriolet

Kabriolet
  • Глас Запределья
  • 9038 Сообщений:

Отправлено 06 December 2016 - 08:22 AM

Перевожу на русский язык. Тут две идеи.

1. Не хочу заботиться подбором лута, а если выпадет карта, пусть она сразу будет моя.
2. Не хочу, чтобы сопартийцы знали о выбитой мной карте.

И если цель первого хотя бы понятна, то второе - совсем не понятно зачем и очень спорно.

А попытки написать код выглядят странно. Ты что, думаешь, разработчики будут копировать этот код, что ли? А читать с этим куском кода (совершенно банального) только труднее.

#5 Descarado

Descarado

    Гуглю "имба и не контрицца"

  • Пользователи
  • 3509 Сообщений:

Отправлено 06 December 2016 - 08:41 AM

А читать с этим куском кода (совершенно банального) только труднее.

Есть подозрение, что ТСу нужно срочно сдать курсовок. Вот и выложил, замаскировав слегка: вдруг кто-нибудь невзначай отладит неработающий кусок?

#6 Андросин

Андросин

    .....

  • Пользователи
  • 7779 Сообщений:

Отправлено 06 December 2016 - 10:01 AM


курсовок

на курсовик чет вообще не похоже, говно какое-то



#7 Veron

Veron

    Саах-Тэм, Адские Поняши

  • Заслуженный фотограф Ауры
  • 13288 Сообщений:

Отправлено 06 December 2016 - 10:16 AM

интересно, если он обычные слова пишет с ошибками, что там в коде творится?



#8 Kabriolet

Kabriolet
  • Глас Запределья
  • 9038 Сообщений:

Отправлено 06 December 2016 - 10:44 AM


интересно, если он обычные слова пишет с ошибками, что там в коде творится?


Да ничего там особенного не творится. Написана банальщина, и по-дилетантски написана. Но в принципе, если добавить сюда недостающие куски (что правда раз в 10 может быть больше уже написанного) может и заработать.

#9 Shade81

Shade81

    Homo homini orcus est

  • Пользователи
  • 9718 Сообщений:

Отправлено 06 December 2016 - 10:51 AM

Идея фиг-ня



#10 Алонсо

Алонсо

    Фан. форум: royalquest.net

  • Пользователи
  • 21299 Сообщений:

Отправлено 06 December 2016 - 16:36 PM

Личинка быдлокодера?

 

Ну и сами по себе предложения, зачем они?



#11 Барчушка

Барчушка

    Барчушка

  • Пользователи
  • 4490 Сообщений:

Отправлено 29 December 2016 - 16:18 PM

Сдается ТС в душе син)))

#12 kostopirk

kostopirk

    3/10

  • Пользователи
  • 3010 Сообщений:

Отправлено 29 December 2016 - 21:00 PM

Мне одному что-ли понравилась идея? OQ96w.gif






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых пользователей