Экранды басқаратын процедуралар мен функциялар
Графикалық режим: фон, экранды тазарту және курсор
Графикалық ортада экранды рәсімдеу мен объектілерді басқару бірнеше негізгі процедура арқылы орындалады: фон түсін орнату, экранды тазарту, курсорды жылжыту және графикалық режимді жабу.
SetBkColor: фон түсін орнату
Экранның фоны SetBkColor процедурасы арқылы орнатылады:
SetBkColor(C);
- C — түс коды (0–15).
- Нәтижесінде экран толықтай C нөмірлі түске боялады.
Орнатылған фон түсінің ағымдағы мәнін GetBkColor процедурасы арқылы анықтауға болады.
ClearDevice: экранды толық тазарту
Экрандағы барлық салынған графикалық объектілерді өшіру үшін параметрсіз ClearDevice қолданылады.
- Экран тазарады және графикалық режимде орнатылған параметрлер (фон, курсор орны, терезелер және т.б.) бастапқы күйге келтіріледі.
- Курсор қайтадан экранның сол жақ жоғарғы бұрышындағы (0,0) координатасына қойылады.
Курсорды басқару: MoveTo және MoveRel
Графикалық режимде көзге көрінбейтін сілтеме-көрсеткіш — курсор қолданылады. Оны басқарудың негізгі тәсілдері: MoveTo және MoveRel.
MoveTo
Курсорды берілген координаталарға дәл апарып қояды.
MoveTo(x, y);
// курсорды A(x, y) нүктесіне қояды
MoveRel
Курсорды ағымдағы орнынан салыстырмалы түрде жылжытады.
MoveRel(dx, dy);
// курсорды dx, dy шамасына жылжытады
CloseGraph: графикалық режимнен шығу
Графикалық режимді аяқтау үшін параметрсіз CloseGraph процедурасы қолданылады. Ол жадтан графикалық режим драйверлерін босатып, экранды графикалық режимге дейінгі жұмыс режиміне қайтарады.
CloseGraph;
Ойын бағдарламасындағы модульдер мен міндеттер
Төмендегі функциялар мен процедуралар шахмат тақтасына қатысты графикалық ойынды ұйымдастыруға бағытталған: позицияны таңдау, көмек мәтіндерін шығару, заставка көрсету және ойыншы енгізулерін тексеру.
1) Random: позицияны кездейсоқ таңдау
Random функциясының негізгі міндеті — шахмат тақтасында берілген шартқа сай позицияны кездейсоқ таңдау (немесе жасыру) және сол позицияға қатысты есепті орындауға негіз дайындау.
Есептің қойылымы
- Тақтаға бес ферзь орналастырылады.
- Орналасу шарттары: олардың бір ферзі қалғандарын міндетті түрде “ұра” алатындай болуы керек.
- Нәтиже графикалық режимде дұрыс көрсетіліп, экранға шығарылады.
2) PrintText: төменгі аймақта ескертулерді шығару
PrintText процедурасы келесі қадамдарда пайда болатын көмек мәтіндерін, ескертулерді және нұсқауларды экранның төменгі бөлігіндегі қызыл жолаққа мәтін ретінде шығарады.
3) Zastavka: бағдарламаның заставкасы
Zastavka процедурасы бағдарламаның көркемдік бет-бейнесін қалыптастырады және ойынды безендіреді. Ол негізінен CRT және GRAPH модульдерінің мүмкіндіктеріне сүйенеді.
Көрнекі элементтер
- Экран ортасында ойын атауы ірі қаріппен беріледі.
- Атау түсі белгілі уақыт аралығында өзгеріп отырады.
- Жоғары және төменгі бөліктерде кіші қаріппен қосымша мәтіндер көрсетіледі.
Фон және дыбыс
- Қара фонда түрлі-түсті “жұлдыздар” жанып-өшіп тұрады.
- Экран шеттері көгілдір реңкті оюлы шекарамен қоршалады.
- Барлығы жүйелік динамиктен шығатын дыбыспен сүйемелденеді.
4) ReadPlayerDigits: енгізуді қабылдау және тексеру
ReadPlayerDigits процедурасы ойыншыға мән енгізуге мүмкіндік береді және енгізілген сандардың дұрыстығын тексереді. Процедура барысында PrintText арқылы нұсқаулар үнемі көрсетіліп отырады.
Нұсқаулар мен тексеру шарттары
- Координаталар енгізу арқылы тақтадағы көріністі алуға шақырады.
- Енгізілген координаталар дұрыс болса, ойыншыға хабарлама беріледі.
- Енгізілген координаталар қате болса, қате екені туралы ескерту көрсетіледі.
Ойыннан шығу
Егер ойыншы ойынды тоқтатқысы келсе, end сөзін енгізсе жеткілікті.
5) Бағдарламаның негізгі денесі
Негізгі бөлім ойын шарттарын ойыншыға түсіндіреді және жоғарыда аталған функциялар мен процедураларды қолданады. Сонымен қатар ойыншының атын енгізуге мүмкіндік береді және ойын барысында координата енгізулерінің қаншасы дұрыс болғаны жөнінде мәлімет көрсетеді.
Егер ойыншы жеңіске жетсе, бағдарлама құттықтап, ойынды қайта бастағысы келетін-келмейтінін сұрайды.
Сызу құралдары: түс, сызық, боялған тік төртбұрыш және стиль
Графикалық объектілерді салу үшін түсті орнату, сызық жүргізу, боялған тік төртбұрыш салу және сызықтың стилін баптау процедуралары қолданылады.
6) SetColor: фигура түсін орнату
SetColor процедурасы графикалық фигуралардың түсін орнатады:
SetColor(C);
Мұнда C — палитрадағы түс коды (0–15).
7) Line: түзу салу
Түзу салу үшін Line қолданылады. Сондай-ақ LineTo және LineRel процедуралары да пайдаланылады.
Line(x1, y1, x2, y2);
8) Bar: боялған тік төртбұрыш салу
Bar процедурасы экранда боялған тік төртбұрыш салу үшін қолданылады:
Bar(x1, y1, x2, y2);
Нәтижесінде сол жақ жоғарғы бұрышы (x1, y1) болатын және алдын ала орнатылған толтыру стилімен боялған тік төртбұрыш шығады.
9) SetLineStyle: сызық стилі мен қалыңдығы
Түзулерді әртүрлі стильде көрсету үшін SetLineStyle қолданылады:
SetLineStyle(L, T, P);
L — түзу стилі.
P — түзу үлгісі (pattern):
- Егер стиль стандартты болса, P = 0.
- Егер үлгіні пайдаланушы берсе, P = 4 деп қабылданады.
T — түзудің қалыңдығы:
- Қалыпты қалыңдық үшін T = 1.
- Жуан сызық үшін T = 3.
Қорытынды
Осы процедуралар жиынтығы графикалық режимде экранды басқару, объектілерді салу және ойын логикасын ұйымдастыру үшін қажетті базалық құралдарды береді: фонды орнату, экранды тазарту, курсорды жылжыту, түстер мен сызық стильдерін баптау және нәтижені графикалық түрде көрсету.