Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Використання динамічних списків на прикладі гри &Хрестики-нулики&

Реферат Використання динамічних списків на прикладі гри &Хрестики-нулики&





у списку кораблів

shiplist ()//Конструктор списку

{= 0;=firstdown=lastright=lastdown=NULL;

} addshipFirst (int _x, int _y)//додавання першого корабля

{* newship=new ship (_x, _y);=newship;=newship;=newship; ++;

} addshipRight (int _x, int _y)//додавання корабля вправо (комірки)

{* newship=new ship (_x, _y); gt; nextright=newship;=newship; ++;

} addshipDown (int _x, int _y)//додавання першого осередку наступного корабля

{* newship=new ship (_x, _y); gt; nextdown=newship;=newship;=newship; ++;

} delShip (int _x, int _y)//видалення осередку

{* prev=NULL,

* current=first,

* lastdown=first,

* prevup=NULL; (current)//поки не 0

{(current- gt; nextdown)//поки знизу не нуль

{(current- gt; nextright)//поки впоратися не нуль

{((current- gt; x == _x) amp; amp; (current- gt; y == _y))//якщо значення співпали

{(current == first)//якщо перше

{

if (current- gt; nextright)//якщо праворуч щось є

{ gt; nextright- gt; nextdown=current- gt; nextdown;=current- gt; nextright;=first; current; -;=first; true;

}

{= current- gt; nextdown;=first; current; -;=first; true;

} if ((prev == 0) amp; amp; (prevup!=0) amp; amp; (current- gt; nextright!=0))//якщо зліва порожньо і зверху є клітка і праворуч не порожньо

{ gt; nextdown=current- gt; nextright; gt; nextright- gt; nextdown=current- gt; nextdown;=current- gt; nextright; current; -;=lastdown; true;

} if (prev)//якщо попередній не дорівнює 0

{ gt; nextright=current- gt; nextright; current; -;=prev- gt; nextright; true;

}

}//якщо значення не співпали йдемо далі

{= current;=current- gt; nextright;

}

} ((current- gt; x == _x) amp; amp; (current- gt; y == _y))//якщо праворуч 0

{(prev)//якщо зліва не порожньо

{ gt; nextright=0; current; -;=prev; true;

} if ((prev == 0) amp; amp; (prevup!=0) amp; amp; (current- gt; nextright == 0) amp; amp; (current- gt; nextdown!=0))//якщо зліва порожньо і зверху є клітка і праворуч порожньо і знизу не порожньо

{ gt; nextdown=current- gt; nextdown;=current- gt; nextdown; current; -;=lastdown; true;

}=lastdown;=lastdown- gt; nextdown;=current;=0;

} current; -; true;

} false;

}


Назад | сторінка 6 з 6





Схожі реферати:

  • Реферат на тему: Якщо лікарняний невірно розрахований
  • Реферат на тему: Якщо ремонт виявився модернізацією
  • Реферат на тему: Якщо ви викликаєте швидку допомогу
  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений
  • Реферат на тему: наслідки, які відбудуться, якщо всі льоди розтануть