Ойындар TurboC-дың Visual C++

0

Кіріспе

Ойындар

      Ойындардың маңызы баяғы заманнан бері жойылған жоқ. Ойындар ойлау қабілетін, логиканы т.б. дамытады. Ойындар әсіресе кішкентай балалардың дамуына көп көмек көрсетеді.

Алғашқы ойындар біздің заманымызға дейінгі мыңдаған жылдар бұрын пайда болған. Ол ойындар өте қарапайым болған. Бірақ сол кезеңде Үндістан жерінде өте қызық әрі күрделі шахмат ойыны пайда болады. Аңыз бойынша бұл ойынды шах бұйрығы бойынша шах сарайының бір ғалымы ойлап тапқан екен. Шахқа ойынның ұнағаны сонша, ол өзінің көмекшілеріне ғалымға өзі қалаған сыйлықты тарту етіңдер деген екен. Ғалым сыйлық ретінде оған шахмат тақтасындағы шаршылар санындай бидай дәнін беруін сұраған. Бірақ бидай саны былай саналуы керек болды: Әрбір келесі шаршыға оның алдындағы шаршының квадраты көбейтілуі қажет еді. Шах болса, бұл бір екі-үш қап бидай болар, неге алтын сұрамаған деп таң қалып кетіп қалады. Ертеңгісін көмекшілерін шақырып, ғалымға бидайын бергендігін сұрайды. Бірақ көмекшілері әлі бидай санын санап бітпегенін айтады. Шах ашуланып, ғалымды өзіне шақыртады. Ғалым шахқа егер ол өзінің бүкіл жеріне бидай егіп тастаса да, тіпті бүкіл жер шарын бидай алқабына айналдырса да керек бидай санын жинай алмайтынын айтады. Шах ғалымның даналығына риза болып, оны дұрыстап марапаттауын бұйырады. Міне аңыз бойынша шахмат ойынының тарихы осындай.

Қазіргі кезде , жиырма бірінші ғасырда көптеген өзінің маңызын жоғалтты. Осы ғасыр IT-ғасыры болғандықтан қазір компьютерлік ойындар бірінші орынға шықты. Компьютерлік ойындар осы кезде көптеген миллиард доллар айналымы бар IT-индустрияның бір тармағы. Әрбір жаңа шыққан ойын бұрын шыққан ойындардан графикасы жағынан, сюжеті жағынан т.б жақсы болады.

Болашақта менің ойымша барлық ойындарды компьютерге көшіріп, ойындардың тек электронды варианттары қалады. Бірақ шахмат ойының маңызы жоғалмайды және ол болашақта да нағыз дарынды адамдардың ойыны болып қалады.

  1. Есептің қойылымы 

      Бұл тапсырма «Аттың серуені» деп аталады. Шахмат тақтасындағы әр жолға бір реттен жүретін аттың қозғалысын жүзеге асыратын программа құру.

  1. Пайдалынатын әдістер

2.1 «Үш стакан методы» бойынша сұрыптау

Көптеген программалар тез орындалады, егер осы программа жұмыс жасайтын ақпаратты сұрыптаса. Бұлай аталу себебі мынау: Бізде екі стакан бар, осы стакандардың ішіндегісін араластыру үшін бізге үшінші стакан қажет. Бұл сұрыптау сұрыптаудың ең жәй түрі. Себебі ол үшін массивтің әр элементін бір-бірімен салыстырып шығу керек. Ең кішкентай элементті тауып, оны бірінші орынға қоямыз. Келесі кіші элементтерді осы элементтен кейін орналастырамыз. Бұл сұрыптаудың алгоритмі мынадай. Мысалы, төрт элементі бар массив берілген.

  • for (i=0;i<4;i++)
  • массивтегі минимал элементті тауып, оны бірінші орындағы элементпен алмастыру
  • массивтің екінші элементінен бастап сұрыптап, минимал элементті тауып, оны екінші элементпен алмастыру
  • осы операцияларды массивтің барлық элементтері қаралғанша қайталау

 

і=0, ең кіші элемент 16 оны 74-пен орнын ауыстырамыз

 

і=1, ең кіші элемент 45 ол өз орнында қалады

 

і=2, ең кіші элемент енді – 74 оны 4-элементпен орнын

ауыстырамыз

74
45
16
83

 

 

і=3, ,массив сұрыпталды, элементтер өз орнында

қалады

Осы алгоритмді Cи тілінде көрсетсек, программа фрагменті былай болады:

for(i=0; i<4; i++)

for(j=i+1; j<4; j++)

{

if (a[j]<a[i]) {

c= a[j];

a[j]=a[i];

a[i]=c;

}

}

 

2.2 Іздеу (поиск)

 

Біз массив ішінде іздеу жүргізе аламыз. Ол үшін массивтің әрбір элементін бізге керек ақпаратпен салыстырамыз. Егер ондай элемент бар болса, онда оның орны қайтарылуы керек. Іздеу массивтің соңы болғанша, жүру керек. Мысалы бізге массивтің ішіндегі К-ға тең элементті табу керек. Оның алгоритмі былай болады:

  • Массивтің бірінші элементінен бастап, әрбір элементін К-мен салыстырымыз, егер тең болса оны экранға шығарамыз.
  • Осылай массив соңына дейін салыстырамыз.

 

Бұл алгоритмді Cи тіліне көшірсек, фрагмент былай болады:

k=10;

for (i=0; i<n; i++)

for (j=0; j<n; j++)

{

if (a[i][j] == k)

printf(“%d”, a[i][j]\n);

}

 

2.3 Рекурсия

 

Рекурсия деп, ішкі программаның өзін-өзі шақыруын айтады. Ал бұндай ішкі программаларды рекурсивті ішкі программалар деп атайды. Рекурсияны көбінесе циклдік есептеулердің орнына қолданады. Бірақ мысалы мынандай жағдайда егер бір процедура екінші процедураны шақырса, ал ол процедура алғашқы процедураны шақырса, бұл процедураларды рекурсивтік процедуралар деп атаймыз. Рекурсияны қолданғанда өте мұқият болу қажет. Себебі дұрыс емес алгоритм арқасында программа «циклденіп» қалуы мүмкін. Рекурсивті шақырылулардың санын рекурсия тереңдігі деп атайды. Бұл тереңдіктің шегі болу керек. Бұл туралы рекурсивтік алгоритм құрайтын программалаушы ойлану керек. Рекурсияға бір мысал қарастырайық. «Ханойская башня» ойыны бар. Ол ойынның шарты мынадай: белгілі әртүрлі диаметрлі дискілер беріледі, осы дискілерді бірінші бағаннан екінші бағанды көмекші ретінде қолданып, үшінші бағанға көшіру керек және кіші диаметрлі диск үстіне үлкен диаметрлі диск қоюға болмайды. Дискілердің қанша орын ауыстыруын жасап, тапсырма орындалады? Бұл есептің алгоритмі мынадай болады:

  • үстіңгі n-1 дискілерін екінші бағанға көшіру
  • бірінші бағанның ең төменгі дискісін үшіншіге көшіру
  • n-1 дискілерін біріншіні көмекші баған ретінде қолданып, үшінші бағанға көшіру
  • үшінші бағанда дұрыс пирамида қалыптасқанша қайталау

Сонда бас тапсырма екі тапсырмашаға бөлінеді: біріншісі, n-1 дискілерін көшіру, екіншісі, бір дискті көшіру. Бұл программаны Си тілінде орындасақ, былай болады:

include<stdio.h>

include<stdlib.h>

include<math.h>

int hanoi_moves(int n)

{

if (n==1)

return 1;

else

return (2*hanoi_moves(n-1)+1);

printf(“%d”, hanoi_moves(5));

}

 

2.4 Көпіршікті сұрыптау

 

Бұл сұрыптаудың алгоритмі өте қарапайым. Бұл сұрыптауда элемент пен одан кейінгі көршілес элемент қарастырылады. Егер шартты қанағаттандырса, элементтерді орындарымен ауыстырамыз. Бұлай аталу себебі «жеңіл» элементтер жоғарыға «қалқып» шығады. Бұл алгоритмді Си тілінде орындасақ, фрагмент мына түрде беріледі:

do

{

for(i=0, found=0; i<n; i++)

if(a[i+1]>a[i])

{

c=a[i+1];

a[i+1]=a[i];

a[i]=c;

found++;

}

while(found!=0);

 

2.5 Қосалқы (ішкі) программалар

 

Си тілінде қосалқы программалардың тек бір түрі болады: Ол функциялар. Функцияларды программада жиі қолданылатын код болған кезде пайдаланады. Бұл әдіс программа кодын әжептәуір азайтады. Си тілінде мән қайтаратын және қайтармайтын функциялар қолданылады. Мән қайтаратын функцияны өрнек ішінде қолдануға болады. Қосалқы программалардың структурасы негізгі main функциясының структурасына ұқсас, тек тақырыбы өзгеше. Қосалқы программаларды  main функциясының ішінде не сыртында баяндауға болады.

 

2.5.1 Функцияларды баяндау

 

Си тілінде функцияны баяндау:

<қайтаратын мән типі> <функция идентификаторы>(параметрлер тізімі)

           {

<баяндау бөлімі>

  <операторлар бөлімі>

           return <қайтарылатын мән>;

}

      Мысал:

float f(float x, double y)

{

float s;

s=pow(x,2)+sin(y)+cos(x*y);

return s;

}

Си тілінде мән қайтармайтын функцияны баяндау:

void <функция идентификаторы> (параметрлер тізімі)

{

<баяндау бөлімі>

<операторлар бөлімі>

}

Мысал:

float s;

void f1(float x,double y)

{

s=pow(x,2)+sin(y)+cos(x*y);

}

 

2.5.2 Функцияларды шақыру

 

Барлық баяндалған функцияларды негізгі функцияда шақыру керек. Егер де функция шақырылмаса, онда ол орындалмайды. Си тілінде функцияларды шақыру үшін олардың идентификаторлары ғана қолданылады.

Мысал:

void main()

{

float res=0;

res=f(21.012, 2100.132564);

printf(“%f”, res);

f1(21.012, 2100.132564);

res=s;

printf(“%f”, res);

}

 

2.6 Graphics.h кітапханасы

 

Компьютерде екі жұмыс режимі болады:

  • Тексттік режим
  • Графикалық режим

Тексттік режимде біз тек қана текстпен жұмыс істейміз. Көптеген геометриялық объектілерді экранға шығара алмаймыз. Ол үшін біз графикалық режимге көшу керекпіз. Си тілінде графикалық режиммен жұмыс істеуге арналған стандартты процедуралар мен функциялар Graphics.h кітапханасында орналасқан. Бұл кітапхананы қолдану үшін оны қосу және драйверлер орналасқан каталогтың толық жолын сиппаттау керек. Ол үшін include бөлімінде graphics.h деп жазу керек:

#include<graphics.h>

Кітапхананы  қосқан соң графикалық режимді инициалдау керек:

#include<graphics.h>

#define pathdrv “C:\\TurboC\\bgi\\”

int gd=DETECT, gm

void main()

{

initgraph(&gd, &gm, pathdrv);

closegraph();

}

Мұндағы gm айнымалысы қате кодын қайтарады, gd айнымалысы драйвер типін береді, егер драйвер типі белгісіз болса, онда Detect түйінді сөзін қолданған жөн. Бұл оператор драйвер типін өзі анықтайды. initgraph функциясы графикалық режимді инициалдайды. Осы функциядағы соңғы параметр драйвер орнын анықтайды. Графикалық режимді жабу үшін closegraph функциясын пайдаланамыз. graphics.h кітапханасының кейбір функцияларын қарастырайық.

  • setcolor(түс коды ) – экранға шығарылатын объектілердің түсін беруге болады
  • setbkcolor(түс коды) – фонның түсін беруге болады
  • line(х1, у1, х2, у2) – экранға ұштары х1, у1 және х2, у2 координаталары бар линия шығарады
  • rectangle(х1, у1, х2, у2) – экранға сол жоғарғы жағының координаталары х1, у1 және оң төменгі жағының координаталары х2, у2 тік төртбұрыш шығарады
  • circle(х, у, Р) – экранға центрінің координаталары х және у, радиусының ұзындығы Р-ға тең шеңбер сызады
  • outtextxy(х, у, Т) – экранға х, у координаталар бойынан Т текстін шығарады. Бұл функциясы puts() функциясына пара-пар
  • GetMaxX – экранның көлдненең пиксель санын қайтарады
  • GetMaxY – экранның тігінен пиксель санын қайтарады

 

 

 

  1. Есептің алгоритмі

 

Кез-келген есепті шешу барысында прогаммалаушы компьютердің орталық процессоры орындайтын командалардың белгілі бір барысын анықтап, белгілеу керек. бұл процесті алгоритмдеу деп атайды.

«Алгоритм» деген сөз, IX ғасырдағы араб математигі Әл-Хорезмидің «Algorithmi de numero indorum» (Трактат об арифметическом искустве индусов) деген кітабының атының латын аудармасынан шыққан. Алгоритмнің қасиеттері:

  1. Жалпылық
  2. Корректілік
  3. Шектеулік
  4. Эффектілік
  5. Бір мән қабылдау

Алгоритм осы қасиеттерді қанағаттандыру керек. Егер алгоритм ЭЕМ прцессоры үшін құрылса, процессор орындаушы болып саналады. Процессордың қарапайым моделі мәліметтерді оқу құрылғысынан, стектен, арифметикалық құрылғыдан құралады.

Алгоритмді жазу үшін табиғи тіл немесе псевдокод қолданылады. Псевдокодтың программалау тілінен айырмашылығы, алгоритм жазғанда программалаушы белгілі программалау тілінің синтаксисіне қарамай, тек алгоритмнің формулировкасында тоқталады.

Егер программа алгоритмін блок-схема түрінде жазса, түсінуге жеңіл болады. Алгоритмдік структураларды көрсету үшін блок-схемада арнайы графикалық символдар пайдаланады.

Менің программамның алгоритмі мынадай:

  • Графикалық режимді қосу.
  • Айнымалыларды инициалдау.
  • Шахмат татасын экранa шыару.
  • Атты бастапы позициясын есептеп, оны экрана шыару.
  • олданушыны рекетiн кту.

 

 

3.1 Программаның блок-схемасы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Бас программа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

init() процедурасы
drawtable() процедурасы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tips() процедурасы
drawhorse() процедурасы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

game() процедурасы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Программаның баяндалуы

 

4.1 Жалпы мәліметтер

 

Программаның аты «Ат серуенi». Оны коды kurs.c файлында сақталады. Орындалатын ЕХЕ файлы kurs.exe файлында сақталады. Программа Си тілінде жазылған. Программаның орындалуы үшін , MS-DOS  операциялық жүйесі, Microsoft Windows 3.1/95/98/2000/Mе/NT графикалық операциялық жүйесі және TurboС 2.01 немесе TurboС 2.0 программалы пакеті қажет.

 

4.2 Программа қызметі

 

Программа «Ат серуенi» есебiнi шешiмi болып табылады.

 

4.3 Қолданылған техникалық жабдықтар

 

      Бұл программаны жазу барысында мынадай техникалық жабдықтар қолданылды:

  • процессор Intel Celeron 2,4MHz
  • ОЗУ 512 Мб
  • видеокарта GeForce NVIDIA 128 Мб
  • HDD 80 Гб
  • монитор LG Flatron 17”

Және мынадай программалық жабдықтар қолданды:

  • Microsoft Windows Millenium RU SP1 версия 5.26
  • TurboС 2.01 (Borland)
  • Microsoft Office 97 SP3

 

4.4 Программаны шақыру және орындау

 

Программаны шақыру үшін kurs.c файлын тауып, оны TurboC программасы көмегімен ашу керек. Программаны орындау үшін Ctrl+F9 клавишаларын басу керек. Программаны командалы жолдан орындау шiн келесi командаларды орындау керек:

CD D:\STUD_DIR\TC\

kurs

 

4.5 Енгізілген мәліметтер

     

      олданушыны тадауын енгiзу.

 

4.6 Шығарылған мәліметтер

 

олданушыны тадауы бойынша экрана млiмет шыару.

 

4.7 Логикалық структурасы

 

1-7 жолдарында керек кiтапханалар осылады жне тратылар   аныталады.

8-12 жолдарында coordinates структурасы сипатталады.

13 жолда coordinates структурасы негiзiнде coor(n, n) массивi сипатталады.

14-15 жолдарында глобал жмыс айнымалылары сипатталады.

16-31 жолдарында init процедурасы сипатталады.

18-19 жолдарында локал жмыс айнымалылары сипатталады.

20-30 жолдарында coor массивi ат координаталарымен толтырылады.

32-52 жолдарында drawtable процедурасы сипатталады.

34-37 жолдарында локал жмыс айнымалылары сипатталады.

38-51 жолдарында шахмат тахтасы салынады.

53-60 жолдарында tips процедурасы сипатталады.

55-56 жолдарында жазу тусi мен стилi аныталады.

57-59 жолдарында экрана текст шыады.

61-68 жолдарында drawhorse процедурасы сипатталады.

63 жолда локал жмыс айнымалы сипатталады.

64-65 жолдарында атты тсi мен стилi аныталады.

66-67 жолдарында ат суретi салынады.

69-98 жолдарында game процедурасы сипатталады.

71 жолда локал жмыс айнымалылары сипатталады.

72-95 жолдарында атты жрiсi есептелiнедi жне суретi салынады.

99-138 жолдарында author процедурасы сипатталады.

101 жолда локал жмыс айнымалы сипатталады.

104 жолда графикалы режим инициалданады.

105-106 жолдарында фон мен жазу тусi аныталады.

108-135 жолдарында экрана жазулар салынады.

139-167 жолдарында бас процедура main сипатталады.

141-142 жолдарында локал жмыс айнымалылары сипатталады.

144 жолда графикалы режим инициалданады.

146-149 жолдарында ercode айнымалысыны мнi тексерiледi.

151 жолда init процедурасы шаырылады.

152 жолда drawtable процедурасы шаырылады.

153 жолда tips процедурасы шаырылады.

154 жолда кездейсо cандар генераторы инициалданады.

156 жолда drawhorse процедурасы шаырылады.

157-158 жолдарында экрана жазулар салынады.

159 жолда олданушы тадауы енгiзiледi.

160-164 жолдарында олданушы тадауы тексерiледi.

басару back белгiсiне айтарылады.

 

 

 

 

  1. Қорытынды

 

Қазіргі кезде программалау тілдері ішінде графикалық құрастыру жүйелері кең танымал. TurboC тілі өзінің өмір сүруін тоқтатып, эстафетаны Visual C++  жүйесіне берді. TurboC –дың Visual C++ –ге қарағанда көп кемшіліктері бар. TurboC программаларын жазу қолайсыз, себебі ол көп уақыт алады және графикалық интерфейсі жоқ. Бірақ соған қарамастан TurboC программалаумен бірінші танысушыларға, әсіресе, студенттерге бірінші тіл ретінде қолданып жүр.

Менің программам осы TurboC тілінде жазылған. Мен өз программамда бұл тілдің барлық мүмкіндіктерін максимал қолдандым. Меніңше, TurboC тілі оқуға өте оңай, жеңіл, иілгіш тіл.

Пайдаланған әдебиеттер тізімі

  1. Бочков С.О., Субботин Д.М. Язык программирования Си для ПК.

Москва, «Радио и связь», 1990.

  1. Керниган Б., Ритчи Д. Язык программирования СИ. Задачи по языку СИ.

Москва, «Финансы и статистика», 1985.

  1. Уинер Р. Язык ТурбоСи.

Москва, «Мир», 1991.

  1. Страусруп Б. Язык программирования Си++.

Санкт-Петербург, «Невский диалект», 1999.

  1. Дейтел Х., Дейтел П. Как программировать на С++.

Москва, «Бином», 1998.

  1. Джуди Бишоп. Java 2. Эффективная работа.

Санкт-Петербург, «Питер», 2002.

  1. Романов Е. Практикум по программированию на С++.

Санкт-Петербург, «БХВ-Петербург».

Қосымша А 

Программа листингі

1.#include<graphics.h>

2.#include<stdio.h>

3.#include<stdlib.h>

4.#include<conio.h>

5.#include<dos.h>

6.#define pathdrv «C:\\Program Files\\TurboC\\»

7.#define n 8

8.struct coordinates

  1. {
  2. int x;
  3. int y;

12.};

13.struct coordinates coor[n][n];

14.int posx=0, posy;

15.int gm, gd=DETECT;

16.void init(void)

17.{

18.int i, j;

19.int s1=90, s2=33;

20.for(i=0;i<n;i++)

21.{

  1. for(j=0;j<n;j++)
  2. {
  3. coor[i][j].x=s1;
  4. coor[i][j].y=s2;
  5. s1+=60;
  6. }
  7. s1=90;
  8. s2+=60;

30.}

31.}

——————————————————————————————————-

32.void drawtable(void)

33.{

34.int x0=60, y0=5, x, y, w=60;

35.int i, j;

36.x=x0;

37.y=y0;

38.for(i=0;i<n;i++)

  1. {
  2. for(j=0;j<n;j++)
  3. {
  4. if((i+j)%2)
  5. setfillstyle(SOLID_FILL,BLUE);
  6. else
  7. setfillstyle(SOLID_FILL,WHITE);
  8. bar(x,y,x+w,y+w);
  9. x+=w;
  10. }
  11. x=x0;
  12. y+=w;

51.}

52.}

——————————————————————————————————-

53.void tips(void)

54.{

55.setcolor(RED);

56.settextstyle(2,0,5);

57.outtextxy(550,70,»Q — VYHOD»);

58.outtextxy(550,100,»S — ZAPUSK»);

59.outtextxy(550,130,»A — AVTOR»);

60.}

——————————————————————————————————-

61.void drawhorse(int cx,int cy)

62.{

63.int radius=25;

64.setcolor(RED);

65.setfillstyle(SOLID_FILL,BLACK);

66.circle(cx,cy,radius);

67.floodfill(cx,cy,RED);

68.}

——————————————————————————————————-

69.void game(void)

70.{

71.int i, j;

72.for(i=posx;;)

  1. for(j=posy;;)
  2. {
  3. if((j+2)<n)
  4. {
  5. i++;
  6. j+=2;
  7. clrscr();
  8. drawtable();
  9. drawhorse(coor[i][j].x,coor[i][j].y);
  10. getch();
  11. }
  12. if((j+2)>n)
  13. {
  14. i++;
  15. j-=2;
  16. clrscr();
  17. drawtable();
  18. drawhorse(coor[i][j].x,coor[i][j].y);
  19. getch();
  20. }
  21. if(i>6)
  22. {
  23. exit(1);
  24. }
  25. }

98.}

——————————————————————————————————-

99.void author(void)

100.{

101.int delsize;

102.clrscr();

103.closegraph();

104.initgraph(&gd,&gm,pathdrv);

105.setbkcolor(BLACK);

106.setcolor(RED);

107.settextstyle(4,0,6);

108.outtextxy(0,17,»******************************»);

109.setcolor(BLUE);

110.outtextxy(160,37,»TUR KONYA»);

111.setcolor(RED);

112.outtextxy(0,80,»******************************»);

113.setcolor(GREEN);

114.settextstyle(2,0,6);

115.outtextxy(170,110,»PROGRAMMA RAZRABOTANA STUDENTOM»);

116.delay(delsize);

117.outtextxy(170,140,»IIT KAZNTU GRUPPY ISB-04-1K»);

118.delay(delsize);

119.outtextxy(190,170,»ISKALIYEVIM ARMANOM»);

120.delay(delsize);

121.outtextxy(170,200,»DATA SOZDANIA: 05.04.2005 23:47:57″);

122.delay(delsize);

123.outtextxy(180,230,»VERSIA PRODUCTA: 1.0.1.1″);

124.delay(delsize);

125.outtextxy(170,260,»PROGRAMMA IAVLIAETSA RESHENIEM»);

126.delay(delsize);

127.outtextxy(200,290,»ZADACHI <TUR KONYA>»);

128.delay(delsize);

129.setcolor(RED);

130.settextstyle(4,0,6);

131.outtextxy(0,310,»******************************»);

132.delay(delsize);

133.setcolor(CYAN);

134.settextstyle(4,0,4);

135.outtextxy(90,340,»DLIA VYHODA NAZHMI ENTER!»);

136.getch();

137.clrscr();

138.}

——————————————————————————————————-

139.void main(void)

140.{

141.char choice;

142.int errcode;

143.back:

144.initgraph(&gd, &gm, pathdrv);

145.errcode=graphresult();

146.if(errcode!=grOk)

147.{

  1. printf(«Doesnt find video driver!!!»);
  2. exit(1);

150.}

151.init();

152.drawtable();

153.tips();

154.srand(1);

155.posy=random(7);

156.drawhorse(coor[posx][posy].x, coor[posx][posy].y);

157.outtextxy(560,210,»VYBERI»);

158.outtextxy(550,220,»DEISTVIE!!!»);

159.choice=getch();

160.switch(choice)

161.{

  1. case ‘q’: exit(1);
  2. case ‘s’: game(); break;
  3. case ‘a’: author(); break;

165.}

166.goto back;

167.}