Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Гра "П'ятнашки"

Реферат Гра "П'ятнашки"





if ord (ch) = 77 then {Якщо натиснута клавіша вправо}

begin

if stolb <> 1 then {Якщо це не останній елемент, що стоїть біля кордону табло}

begin

as [strok, stolb]: = as [strok, stolb-1]; {На місце порожнього елемента присвоюється елемент стоїть ліворуч від порожнього}

as [strok, stolb-1]: = ' '; {Елементу стоїть ліворуч від порожнього присвоюється порожній елемент}

stolb: = stolb-1; {Нова координата порожнього елемента}

hod: = hod +1; {Черговий зроблений хід}

end;

end;

if ord (ch) = 80 then {Якщо натиснута клавіша вниз}

begin

if strok <> 1 then {Якщо це не останній елемент, що стоїть біля кордону табло}

begin

as [strok, stolb]: = as [strok-1, stolb]; {На місце порожнього елемента привласнюється елемент стоїть зверху від порожнього}

as [strok-1, stolb]: = ' '; {Елементу стоїть зверху від порожнього присвоюється порожній елемент}

strok: = strok-1; {Нова координата порожнього елемента}

hod: = hod +1; {Черговий зроблений хід}

end;

end;

Vivod;

end;

procedure readFile;

{Додає в файл інформацію про кращі результати}

begin

assign (f, 'res.txt'); {Оголошення файлу}

reset (f); {Відкриття файлу}

j: = 1;

for i: = 1 to 10 do

begin

readln (f, res [i]); {Занесення імен кращих гравців з файлу в масив}

readln (f, it [j]); {Занесення результатів кращих гравців в масив}

j: = j +1; {Лічильник для кращих результатів}

end;

close (f);

end;

procedure writeFile;

{Зчитує файл з кращими результатами}

begin

assign (f, 'res.txt'); {Оголошення файлу}

rewrite (f); {Відкриття в режимі перезапису}

for i: = +1 to 10 do

begin

writeln (f, resv [i]); writeln (f, itv [i]); {Внесення інформації про кращі гравцях та їх результати з масивів у файл}

end;

close (f);

end;


procedure Mesto;

{Процедура в якої встановлюється зайняв Чи гравець яке або місце, якщо так то занесення до список кращих гравців}

var chetcik: integer; {Лічильник, оголошує що інформація про лучім гравцеві вже внесена, повторної інформації не повинно бути}

begin

if prov = true then {Якщо гравець розклав розклад}

begin

readfile; {Процедура зчитування інформації з файлу з кращими результатами}

chetcik: = 0;

j: = 1;

for i: = 1 to 10 do

begin

if (hod <= it [i]) and (Hod> = it [i-1]) and (chetcik <1) then

begin

{Введення імені гравця}

OutTextXY (132,325, 'will Enter name and press Enter: ');

line (400,338,530,338);

GoToXY (52,21),

read (name);

{Присвоєння чергового елементу даних поточного гравця}

itv [i]: = hod;

resv [i]: = name;

j: = j +1;

chetcik: = 1;

end;

{Перенесення з одного масиву в інший}

if j <= 10 then

begin

itv [j]: = it [i];

resv [j]: = res [i];

j: = j +1;

end;

end;

writeFile; {Збереження інформації у файл}

OutTextXY (230,360, 'For leaving press ENTER ');

readln;

end;

end;

procedure proverka;

{Перевірка чи правильно розкладено табло}

begin

prov: = false;

if (as [1,1] = '1 ') and (As [1,2] = '2 ') and (as [1,3] = '3') and (as [1,4] = '4 ')

and (as [2,1] = '5 ') and (As [2,2] = '6 ') and (as [2,3] = '7') and (as [2,4] = '8 ')

and (as [3,1] = '9 ') and (As [3,2] = '10 ') and (as [3,3] = '11') and (as [3,4] = '12 ')

and (as [4,1] = '13 ') and (As [4,2] = '14 ') and (as [4,3] = '15') and (as [4,4] = '')

then

begin

prov: = true; {Якщо табло розкладено вірно, то ІСТИНА}

OutTextXY (230,100, 'Congratulate You have won ');

Mesto; {Процедура, що встановлює на якому місці поточний користувач}

end;

end;

procedure Game15;

{Підключення графіки і перехід в режим ІГРИ}

var grMode: integer; {Режим роботи відеосистеми}

grPath: string; {Шлях до файлу}

grDriver: integer; {Використовуваний програмою драйвер відеоадаптера}

begin

hod: = 0;

grDriver: = VGA;

grmode: = VGAHi;

grPath: = 'EGAVGA.BGI';

initGraph (grDriver, grMode, grPath); {Ініціалізація графічного режиму}

Tablo; {Формування табло}

Poisk; {Пошук порожнього елемента}

repeat {Цикл, поки не натиснута клавіша ESC або поки гравець не переміг грати} <...


Назад | сторінка 11 з 13 | Наступна сторінка





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

  • Реферат на тему: Creation of control system by a personnel how to begin with a zero
  • Реферат на тему: Як бути, якщо контрагент за договором - нерезидент?
  • Реферат на тему: Якщо ви викликаєте швидку допомогу
  • Реферат на тему: Якщо ремонт виявився модернізацією
  • Реферат на тему: Якщо лікарняний невірно розрахований