Реферат: Арканоид на Паскале

Реферат: Арканоид на Паскале




⚡ 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































4. ÏÐÀÂÈËÀ ÏÎËÜÇÎÂÀÍÈß ÏÐÎÃÐÀÌÌÎÉ «ÀÐÊÀÍÎÈÄ»


8. ÒÅÊÑÒ ÏÐÎÃÐÀÌÌÛ È ÑÊÎÍÑÒÐÓÈÐÎÂÀÍÍÛÕ ÌÎÄÓËÅÉ


9. ïðàâèëà ïîëüçîâàíèÿ äîïîëíèòåëüíîé ïðîãðàììîé äëÿ ïîñòðîåíèÿ óðîâíåé «MARKEDIT»


10. ÑÏÅÖÈÔÈÊÀÖÈß ÏÎÄÏÐÎÃÐÀÌÌ Â ÏÐÎÃÐÀÌÌÅ «MARKEDIT»


11. ÒÅÊÑÒ ÏÐÎÃÐÀÌÌÛ «MARKEDIT” È ÑÊÎÍÑÒÐÓÈÐÎÂÀÍÍÛÕ ÌÎÄÓËÅÉ


ßçûê Òóðáî Ïàñêàëü – ýòî îäèí èç ñàìûõ ðàñïðîñòðàí¸ííûõ ÿçûêîâ ïðîãðàììèðîâàíèÿ ìèêðîêîìïüþòåðîâ. Îí ðàçðàáîòàí ôèðìîé «Áîðëàíä» êàê äèàëåêò ñòàíäàðòíîãî ÿçûêà Ïàñêàëü, íî áëàãîäàðÿ ñâîåé ïîïóëÿðíîñòè ñàì ñòàë ñòàíäàðòîì ÿçûêà ïðîãðàììèðîâàíèÿ 8- è 16-ðàçðÿäíûõ ìèêðîêîìïüþòåðîâ.
Ê âàæíåéøèì äîñòîèíñòâàì ÿçûêà Òóðáî Ïàñêàëü îòíîñÿòñÿ íåáîëüøîé ðàçìåð êîìïèëÿòîðà, âûñîêàÿ ñòåïåíü ñîîòâåòñòâèÿ ñòàíäàðòíîìó Ïàñêàëþ, î÷åíü áûñòðàÿ êîìïèëÿöèÿ ïðîãðàìì, îáúåäèíåíèå êîìïèëÿòîðà ñ èíòåðàêòèâíûì ýêðàííûì ðåäàêòîðîì, ïðåäóïðåæäåíèå îá îøèáêàõ íà óðîâíå èñõîäíîé ïðîãðàììû, îáøèðíàÿ áèáëèîòåêà ïîäïðîãðàìì è ïîëåçíûå ðàñøèðåíèÿ, óïðîùàþùèå ñèñòåìíîå ïðîãðàììèðîâàíèå.


Îäíîé èç îñíîâíûõ ïðîáëåì, ñ êîòîðîé ñòàëêèâàþòñÿ â ïðîöåññå ïðîãðàììèðîâàíèÿ, ÿâëÿåòñÿ íàïèñàíèå ïðîãðàììû, íå ñîäåðæàùåé îøèáîê. Îøèáêó íàèáîëåå ïîëíî ìîæíî îïðåäåëèòü êàê ðàñõîæäåíèå ïîâåäåíèÿ ïðîãðàììû ñ îæèäàíèÿìè ïîëüçîâàòåëÿ. Ñþäà âõîäèò êàê íåñîîòâåòñòâèå ðåçóëüòàòîâ èñõîäíûì äàííûì, òàê è äðóãèå, ïîðîé áîëåå îïàñíûå ýôôåêòû: çàöèêëèâàíèå, àâàðèéíàÿ îñòàíîâêà ïðîãðàìì è ò.ï.


Íàèáîëåå ÿâíî íàáëþäàåìûìè èñòîðè÷åñêèìè òåíäåíöèÿìè â ïðîãðàììèðîâàíèè ÿâëÿþòñÿ íåïðåðûâíûé ðîñò ïîëüçîâàòåëüñêèõ òðåáîâàíèé, ëàâèíîîáðàçíîå óñëîæíåíèå ôóíêöèîíàëüíîñòè ïðîãðàììû è, êàê ñëåäñòâèå, - óñëîæíåíèå å¸ ðàçðàáîòêè. ñâÿçè ñ óâåëè÷åíèåì òðóäî¸ìêîñòè ïðîãðàìíûõ ñðåäñòâ âîçíèêëà íåîáõîäèìîñòü âûðàáîòêè èíòåëëåêòóàëüíûõ èíñòðóìåíòîâ, ïîçâîëÿþùèõ ðàçðàáîò÷èêàì ñïðàâëÿòüñÿ ñ âîçðîñøåé ñëîæíîñòüþ ñâîåãî òðóäà.


 íàñòîÿùèé ìîìåíò ìîæíî óòâåðæäàòü, ÷òî ïðàêòè÷åñêè êàæäàÿ ïðîãðàììà ñîñòàâëÿåòñÿ ñ ïðèìåíåíèåì òîé èëè èíîé òåõíîëîãèè ïðîãðàììèðîâàíèÿ.


«Â ñâÿçè ñ òåì,÷òî çà ïîñëåäíèå äåñÿòü èëè ïÿòüíàäöàòü ëåò ïðîèçâîäèòåëüíîñòü âû÷èñëèòåëüíûõ ìàøèí óâåëè÷èëàñü â òûñÿ÷è ðàç, ïîëüçîâàòåëè ñòàëè ãîðàçäî áîëåå áåñöåðåìîííûìè ïðè âûáîðå ïðîáëåì, êîòîðûå îíè ñ÷èòàþò «òåõíè÷åñêè ðàçðåøèìûìè». Ïîëüçîâàòåëè õîòÿò, ÷òîáû ðàçìåðû, ñëîæíîñòü è èçîùð¸ííîñòü ïðîãðàìì óâåëè÷èâàëàñü èñêëþ÷èòåëüíî áûñòðûìè òåìïàìè, è â ïîñëåäíèå ãîäû ñòàëî î÷åâèäíûì, ÷òî â öåëîì íàøè ïðîãðàììèñòñêèå âîçìîæíîñòè íå ïîñïåâàþò çà ýòèìè íåóìåðåííûìè àïïåòèòàìè».


Ïî ìåðå òîãî, êàê ìîùü êîìïüþòåðîâ ðîñëà, à îáëàñòü ïðèìåíåíèÿ âñ¸ ðàñøèðÿëàñü, óâåëè÷èâàëèñü íå òîëüêî ðàçìåðû, è ñëîæíîñòü ïðîãðàìì, íî è êîëè÷åñòâî îøèáîê â íèõ.


Ãëàâíîé çàäà÷åé ñîâðåìåííîãî ïðîãðàììèñòà ïðè íàïèñàíèè ïðîãðàììû ÿâëÿåòñÿ íå ïîäâåãàíèå å¸ áåñêîíå÷íûì òåñòèðîâàíèÿì, à òùàòåëüíûé, ïîëíûé àíàëèç èñõîäíîãî òåêñòà ïðîãðàììû, à òàêæå îòëàäêà ïðîãðàììû ñ ïîìîùüþ äîïîëíèòåëüíûõ ïðîãðàìíûõ ñðåäñòâ.


Ðàçðàáîòàòü àëãîðèòì èãðû «ÀÐÊÀÍÎÈÄ», öåëü êîòîðîé çàêëþ÷àåòñÿ â íàáîðå êàê ìîæíî áîëüøåãî êîëè÷åñòâà î÷êîâ, êîòîðûå óâåëè÷èâàþòñÿ ïðè âûáèâàíèè î÷åðåäíîãî êóáèêà.
Ïðè âûáèâàíèè âñåõ êóáèêîâ òåêóùåãî óðîâíÿ îñóùåñòâëÿåòñÿ ïåðåõîä íà ñëåäóþùèé óðîâåíü, êîëè÷åñòâî êîòîðûõ – äåñÿòü.


 êîíöå èãðû â çàâèñèìîñòè îò êîëè÷åñòâà íàáðàííûõ î÷êîâ, ââåä¸ííîå ïî çàïðîñó ïðîãðàììû èìÿ èãðîêà äîëæíî áûòü çàíåñåíî â äåñÿòêó ëó÷øèõ è çàïèñàíî â ôàéë.


Íàä ðàìêîé, â òå÷åíèå èãðû äîëæíû îòîáðàæàòüñÿ:


2) êîëè÷åñòâî îñòàâøèõñÿ æèçíåé, ïåðâîíà÷àëüíî êîòîðûõ – 10;


t_kubik – çíà÷åíèÿ âñåõ ïåðåìåííûõ, èñïîëüçóåìûõ â ïðîãðàììå, çàäàíû â ýòèõ ïðåäåëàõ (è íå áîëåå);

t_dx_dy – çíà÷åíèå, êîòîðîå ïðèíèìàåò êîýôôèöèåíò, îò êîòîðîãî çàâèñèò íàïðàâëåíèå äâèæåíèÿ ïî îñè ÎÕ èëè ÎÓ;

t_arr – çíà÷åíèÿ êîîðäèíàò, êîòîðûå ïðèíèìàåò êóáèê, â ñîîòâåòñòâèè ñî ñâîèì îòîáðàæåíèåì (èçîáðàæåíèåì) íà ýêðàíå;

kol_kubik – ìàêñèìàëüíîå êîëè÷åñòâî êóáèêîâ;

3. WINDOS – ìîäóëü òðåáóåìûé ñêîíñòðóèðóåìûì ìîäóëåì MYMOUSE;


4. STRINGS – ìîäóëü òðåáóåìûé ñêîíñòðóèðóåìûì ìîäóëåì MYMOUSE;


1. MARKEL – îñíîâíûå èãðîâûå ïîäïðîãðàììû;


2. MARK_ZAS – ñîäåðæèò èíñòðóìåíòàðèé èíòåðôåéñà (çàñòàâêà, ïîìîùü, ñ÷¸ò ëó÷øèõ èãðîêîâ â êîíöå èãðû);


Íàçíà÷åíèå: ñ÷èòàåò îñòàâøèåñÿ æèçíè, åñëè ÷èñëî æèçíåé áóäåò ðàâíî íóëþ, òî âûâîäèò íà ýêðàí ìèãàþùóþ íàäïèñü: «YOU HAVE LOST»;


Âõîäíûå äàííûå: liv – ÷èñëî æèçíåé;


Âûõîäíûå äàííûå: liv – îñòàâøèåñÿ êîëè÷åñòâî æèçíåé;


2. procedure perehod_level(const numbering:byte);


Íàçíà÷åíèå: âûâîäèò ïî ñåðåäèíå ýêðàíà íàäïèñü, ñîîòâåòñòâóþùóþ íà÷àëó íîâîãî ýòàïà;


Âõîäíûå äàííûå: numbering – íîìåð íîâîãî ýòàïà;


3. procedure planka_sharik(koeff:byte);


Íàçíà÷åíèå: ðèñóåò ïëàíêó, ðàçìåðîì, îïðåäåë¸ííûì îò çíà÷åíèÿ koeff, ïîñåðåäèíå ýêðàíà è øàðèê íàä íåé;


Âõîäíûå äàííûå: koeff – ÷èñëî îïðåäåëÿþùåå ðàçìåð ïëàíêè;


Íàçíà÷åíèå: âûäà¸ò çâóêîâîé ñèãíàë, ñîîòâåòñòâóþùèé êàêîìó-ëèáî êàñàíèþ øàðèêà î ÷òî íèáóäü;


5.procedure izchez_vv_niz(var dy:t_dx_dy;x,y,i:t_kubik;var a:t_arr;var kol_kub:kol_kubik);


Íàçíà÷åíèå: îïðåäåëÿåò êîñíóëñÿ ëè øàðèê êóáèêà î âåðõíþþ èëè íèæíþþ ãðàíü;


2. dy – íàïðàâëåíèå äâèæåíèÿ øàðèêà ïî îñè Y;


3. x,y – òåêóùèå êîîðäèíàòû öåíòðà øàðèêà;


4. i – çíà÷åíèå, îò êîòîðîãî çàâèñèò êàêèå êóáèêè ïðîâåðÿòü íà ñáèâàíèå;


6. kol_kub – êîëè÷åñòâî êóáèêîâ íà äàííûé ìîìåíò;


7. dy – èçìåí¸ííîå íàïðàâëåíèå äâèæåíèÿ øàðèêà ïî îñè Y;


8. a – èçìåí¸ííûé ìàññèâ êîîðäèíàò êóáèêîâ;


9. kol_kub – èçìåí¸ííîå êîëè÷åñòâî êóáèêîâ;


6. procedure bok_bok(var dx:t_dx_dy;x,y:t_kubik;var a:t_arr;var kol_kub:kol_kubik);


Íàçíà÷åíèå: îïðåäåëÿåò êîñíóëñÿ ëè øàðèê êóáèêà î ëåâóþ èëè ïðàâóþ ãðàíü;


10. dx – íàïðàâëåíèå äâèæåíèÿ øàðèêà ïî îñè X;


11. x,y – òåêóùèå êîîðäèíàòû öåíòðà øàðèêà;


13. kol_kub – êîëè÷åñòâî êóáèêîâ íà äàííûé ìîìåíò;


14. dx – èçìåí¸ííîå íàïðàâëåíèå äâèæåíèÿ øàðèêà ïî îñè X;


15. a – èçìåí¸ííûé ìàññèâ êîîðäèíàò êóáèêîâ;


16. kol_kub – èçìåí¸ííîå êîëè÷åñòâî êóáèêîâ;


Íàçíà÷åíèå: âûäà¸ò çâóêîâîé ñèãíàë, ñîîòâåòñòâóþùèé ïðîèãðûøó îäíîé æèçíè;


8. procedure ugolki(var dx,dy:t_dx_dy;x,y:t_kubik;var a:t_arr;var kol_kub:kol_kubik);


Íàçíà÷åíèå: îïðåäåëÿåò êîñíóëñÿ ëè øàðèê êóáèêà îá óãëû;


17. dx,dy – íàïðàâëåíèå äâèæåíèÿ øàðèêà ïî îñÿì X è Y;


18. x,y – òåêóùèå êîîðäèíàòû öåíòðà øàðèêà;


20. kol_kub – êîëè÷åñòâî êóáèêîâ íà äàííûé ìîìåíò;


21. dx,dy – èçìåí¸ííîå íàïðàâëåíèå äâèæåíèÿ øàðèêà ïî îñÿì X è Y;


22. a – èçìåí¸ííûé ìàññèâ êîîðäèíàò êóáèêîâ;


23. kol_kub – èçìåí¸ííîå êîëè÷åñòâî êóáèêîâ;


9. procedure pausing(var pause:word);


Íàçíà÷åíèå: îïðåäåëÿåò ñêîðîñòü äâèæåíèÿ øàðèêà ïî âûáîðó ñàìèì ïîëüçîâàòåëåì, ñ íàãëÿäíûì ãðàôè÷åñêèì èíòåðôåéñîì;


10. procedure zapis(const xs,ys:t_kubik; i:t_kubik;var a:t_arr);


Íàçíà÷åíèå: îïðåäåëÿåò íà êàêèå ìåñòà â ìàññèâå çàïèñûâàòü êîîðäèíàòû êóáèêà;


1) xs,ys – êîîðäèíàòû øàðèêà, êîòîðûå è íóæíî çàïèñàòü â ìàññèâ;


24. i – ïåðåìåííàÿ îò êîòîðîé çàâèñèò ñ êàêîãî íîìåðà èñêàòü ïîäõîäÿùåå ìåñòî äëÿ êîîðäèíàò êóáèêà;


11. procedure level(var a:t_arr;const numbering:byte;var kol_kub:kol_kubik);


Íàçíà÷åíèå: îòêðûâàåò ôàéë è ñ÷èòûâàÿ ñ íåãî êîîðäèíàòû êóáèêîâ, ðèñóåò èõ;


2. numbering – íîìåð îòêðûâàåìîãî ýòàïà;


2) kol_kub – êîëè÷åñòâî íàðèñîâàííûõ êóáèêîâ;


12. procedure left(const koeff:byte;var x1_dv,x2_dv:t_kubik);


1) koeff – êîýôôèöèåíò, îò êîòîðîãî çàâèñèò ðàçìåð ïëàíêè;


2. x1_dv,x2_dv – êîîðäèíàòû ïëàíêè ïî îñè Õ;


x1_dv,x2_dv – èçìåíèâøèåñÿ êîîðäèíàòû ïëàíêè ïî îñè Õ;


13. procedure right(const koeff:byte;var x1_dv,x2_dv:t_kubik);


Íàçíà÷åíèå: äâèæåíèå ïëàíêè âïðàâî;


1) koeff – êîýôôèöèåíò, îò êîòîðîãî çàâèñèò ðàçìåð ïëàíêè;


3. x1_dv,x2_dv – êîîðäèíàòû ïëàíêè ïî îñè Õ;


x1_dv,x2_dv – èçìåíèâøèåñÿ êîîðäèíàòû ïëàíêè ïî îñè Õ;


14. procedure dviguna_keyboard(const koeff:byte;var x,x1_dv,x2_dv:t_kubik;var y:t_kubik);


Íàçíà÷åíèå: îæèäàíèå íàæàòèÿ êëàâèøè äëÿ íà÷àëà íîâîãî ýòàïà, åñëè ïîëüçîâàòåëü èãðàåò íà êëàâèàòóðå;


1) koeff – êîýôôèöèåíò, îò êîòîðîãî çàâèñèò ðàçìåð ïëàíêè;


2. x1_dv,x2_dv – êîîðäèíàòû ïëàíêè ïî îñè Õ;


4. x1_dv,x2_dv – èçìåíèâøèåñÿ êîîðäèíàòû ïëàíêè ïî îñè Õ;


15. procedure dviguna_mouse(const koeff:byte;var x,x1_dv,x2_dv:t_kubik;var y:t_kubik);


Íàçíà÷åíèå: îæèäàíèå íàæàòèÿ êíîïêè ìûøè äëÿ íà÷àëà íîâîãî ýòàïà, åñëè ïîëüçîâàòåëü èãðàåò ìûøüþ;


1) koeff – êîýôôèöèåíò, îò êîòîðîãî çàâèñèò ðàçìåð ïëàíêè;


5. x1_dv,x2_dv – êîîðäèíàòû ïëàíêè ïî îñè Õ;


2. x1_dv,x2_dv – èçìåíèâøèåñÿ êîîðäèíàòû ïëàíêè ïî îñè Õ;


16. procedure zar_nar(var x,y:t_kubik;const dx,dy:t_dx_dy);


Íàçíà÷åíèå: çàêðàñêà óæå íàðèñîâàííîãî øàðèêà è íàðèñîâàíèå íîâîãî øàðèêà ñ èçìåí¸ííûìè êîîðäèíàòàìè;


2) dx,dy – îò çíà÷åíèÿ ýòèõ ïåðåìåííûõ çàâèñèò äâèæåíèå øàðèêà â òó èëè èíóþ ñòîðîíó;


Íàçíà÷åíèå: îïðåäåëåíèå ïîëüçîâàòåëåì ÷åì èãðàòü (êëàâèàòóðîé èëè ìûøüþ), ñ íàãëÿäíûì ãðàôè÷åñêèì èíòåðôåéñîì;


18. procedure razmer_planki(var koeff:byte);


Íàçíà÷åíèå: îïðåäåëåíèå ïîëüçîâàòåëåì ðàçìåðà ïëàíêè;


Koeff – êîýôôèöèåíò, îïðåäåëÿþùèé ðàçìåð ïëàíêè;


Koeff – êîýôôèöèåíò, îïðåäåëÿþùèé ðàçìåð ïëàíêè; ãðàåì ìûøüþ;


19. procedure naverhu_liv(liv:byte);


Íàçíà÷åíèå: îòîáðàæåíèå íàä ðàìêîé â òå÷åíèå èãðû êîëè÷åñòâà îñòàâøèõñÿ æèçíåé;


20.procedure naverhu_number(numbering:byte);


Íàçíà÷åíèå: îòîáðàæåíèå íàä ðàìêîé â òå÷åíèå èãðû íîìåðà òåêóùåãî óðîâíÿ;


21. procedure naverhu_kubiki(kol_kub:byte);


Íàçíà÷åíèå: îòîáðàæåíèå íàä ðàìêîé â òå÷åíèå èãðû êîëè÷åñòâà îñòàâøèõñÿ êóáèêîâ;


Kol_kub – ÷èñëî îñòàâøèõñÿ êóáèêîâ;


Íàçíà÷åíèå: â íà÷àëå èãðû èñïîëüçóåòñÿ â êà÷åñòâå çàñòàâêè ñ ìèãàþùåé áîëüøîé íàäïèñüþ «MARKBALL» è íèæå ìèãàþùåé íàäïèñüþ «Click to start» ,òàêæå èñïîëüçóåòñÿ ïðè ïîòåðå âñåõ æèçíåé , íî ïðè ýòîì íèæíÿÿ íàäïèñü áóäåò «You have lost» , à ïðè ïðîõîæäåíèè âñåõ ýòàïîâ íèæíÿÿ íàäïèñü áóäåò «The end of game»;


Íàçíà÷åíèå: èñïîëüçóåòñÿ êàê ñïðàâêà ïîêà èãðà åù¸ íå íà÷àëàñü ïðè íàæàòèè êëàâèøè «F1»;


Íàçíà÷åíèå: â êîíöå èãðû ñ÷èòàåò â ñîîòâåòñòâèè ñ íàáðàííûìè î÷êàìè: çàéì¸ò ëè äàííûé èãðîê, êîòîðûé ââ¸ë ïî çàïðîñó ïðîãðàììû ñâî¸ èìÿ, êàêîå-íèáóäü ìåñòî ñðåäè ïðåäñòàâëåííûõ äåñÿòè ìåñò; åñëè êîëè÷åñòâî íàáðàííûõ î÷êîâ ïîçâîëÿåò èãðîêó çàíÿòü íåêîòîðîå ìåñòî, òî ïðîãðàììà âûâîäèò íà ýêðàí òàáëèöó ëèäåðîâ, âêëþ÷àþùóþ â ñåáÿ èìÿ äàííîãî èãðîêà, â ïðîòèâíîì ñëó÷àå íà ýêðàí âñ¸ æå áóäåò âûâåäåíà òàáëèöà ëèäåðîâ, íî èìåíè äàííîãî èãðîêà ñîäåðæàòüñÿ òàì íå áóäåò;


Score – êîëè÷åñòâî íàáðàííûõ â òå÷åíèè èãðû î÷êîâ;


Íàçíà÷åíèå: èíèöèàëèçèðóåò ãðàôèêó â ðåæèìå vgahi;


Íàçíà÷åíèå: âîññòàíàâëèâàåò öâåòà ñî ñòàíäàðòíûìè îòòåíêàìè;


uses graph,crt,mymouse,markel,mark_zas;
setrgbpalette(lightmagenta,44,0,63);
if dviguna then dviguna_mouse(koeff,x,x1_dv,x2_dv,y)
else dviguna_keyboard(koeff,x,x1_dv,x2_dv,y);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
true:dviguna_mouse(koeff,x,x1_dv,x2_dv,y);
false:dviguna_keyboard(koeff,x,x1_dv,x2_dv,y);
1..49: begin i:=37;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
50..99: begin i:=75;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
100..148:begin i:=113;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
149..197:begin i:=151;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
198..246:begin i:=189;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
247..295:begin i:=227;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
296..344:begin i:=265;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
345..393:begin i:=303;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
394..442:begin i:=341;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
443..491:begin i:=379;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
492..540:begin i:=417;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
541..588:begin i:=455;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
589..637:begin i:=493;izchez_vv_niz(dy,x,y,i,a,kol_kub,score); end;
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
if rb then begin closegraph;halt;end;
procedure livs(var liv:byte;score:integer);
procedure perehod_level(const numbering:byte);
procedure planka_sharik(koeff:byte);
procedure izchez_vv_niz(var dy:t_dx_dy;x,y,i:t_kubik;var a:t_arr;var kol_kub:kol_kubik;var score:integer);
procedure bok_bok(var dx:t_dx_dy;x,y:t_kubik;var a:t_arr;var kol_kub:kol_kubik;var score:integer);
procedure ugolki(var dx,dy:t_dx_dy;x,y:t_kubik;var a:t_arr;var kol_kub:kol_kubik;var score:integer);
procedure zapis(const xs,ys:t_kubik;i:t_kubik;var a:t_arr);
procedure level(var a:t_arr;const numbering:byte;var kol_kub:kol_kubik);
procedure left(const koeff:byte;var x1_dv,x2_dv:t_kubik);
procedure right(const koeff:byte;var x1_dv,x2_dv:t_kubik);
procedure dviguna_keyboard(const koeff:byte;var x,x1_dv,x2_dv:t_kubik;var y:t_kubik);
procedure dviguna_mouse(const koeff:byte;var x,x1_dv,x2_dv:t_kubik;var y:t_kubik);
procedure zar_nar(var x,y:t_kubik;const dx,dy:t_dx_dy);
procedure razmer_planki(var koeff:byte);
procedure naverhu_number(numbering:byte);
procedure naverhu_kubiki(kol_kub:byte;var score:integer);
procedure naverhu_score(score:integer);
settextstyle(4{GothicFont},horizdir,5);
outtextxy(round(getmaxx / 3.3), round(getmaxy / 2.3),'Mouse');
outtextxy(round(getmaxx / 1.5), round(getmaxy / 2.3),'Keyboard');
if (bluevalue = 63) or (bluevalue = 0) then
setRGBpalette(green,0,greenvalue,0);
if (greenvalue = 63) or (greenvalue = 0) then
#13: begin chem_play:=mask; delay(5000); cleardevice; exit; end;
procedure ugolki(var dx,dy:t_dx_dy;x,y:t_kubik;var a:t_arr;var kol_kub:kol_kubik;var score:integer);
procedure izchez(var dx,dy:t_dx_dy;var a:t_arr;var kol_kub:kol_kubik;i:word);
bar3d(a[i],a[i+1],a[i]+48,a[i+1]-20,0,false);
if (y-radius+1=a[i+1])or((y-radius+1a[i+1]-20))
or(y+radius-1=a[i+1]-20)or((y+radius-1a[i+1]-20))
if (y+radius-1=a[i+1]-20)or((y+radius-1a[i+1]-20))
or(y-radius+1=a[i+1])or((y-radius+1a[i+1]-20))
if (x-radius+1=a[i]+48)or((x-radius+1>a[i])and(x-radius+1a[i])and(x+radius-1a[i])and(x+radius-1a[i])and(x-radius+12 then dec(pause);
procedure razmer_planki(var koeff:byte);
s:='Adjust the size of a rod'{'îòðåãóëèðóéòå ðàçìåð ïëàíêè'};
settextstyle(4{GothicFont},horizdir,5);
outtextxy(getmaxx div 2, getmaxy div 2, s);
setRGBpalette(red,redvalue,bluevalue,0);
until keypressed or (redvalue=0) or (redvalue=63);
x1:=round(getmaxx/2-(koeff/2)*shir-1);
x2:=round(getmaxx/2+(koeff/2)*shir);
x1:=round(getmaxx/2-(koeff/2)*shir-1);
x2:=round(getmaxx/2+(koeff/2)*shir);
x1:=round(getmaxx/2-(koeff/2)*shir-1);
x2:=round(getmaxx/2+(koeff/2)*shir);
x1:=round(getmaxx/2-(koeff/2)*shir-1);
x2:=round(getmaxx/2+(koeff/2)*shir);
procedure livs(var liv:byte;score:integer);
procedure perehod_level(const numbering:byte);
settextstyle(4{GothicFont},horizdir,5);
outtextxy(getmaxx div 2, getmaxy div 2, s);
procedure planka_sharik(koeff:byte);
x1:=round(getmaxx/2-(koeff/2)*shir-1);
x2:=round(getmaxx/2+(koeff/2)*shir);
procedure izchez_vv_niz(var dy:t_dx_dy;x,y,i:t_kubik;var a:t_arr;var kol_kub:kol_kubik;var score:integer);
while (i>=p) and not((y-radius+1=a[i+1]) or (y+radius-1=a[i+1]-20)) do
if (y-radius+1=a[i+1]) or (y+radius-1=a[i+1]-20) then
bar3d(a[i],a[i+1],a[i]+48,a[i+1]-20,0,false);
procedure bok_bok(var dx:t_dx_dy;x,y:t_kubik;var a:t_arr;var kol_kub:kol_kubik;var score:integer);
if ((x+radius-1=a[i]) and (ya[i+1]-20)) or
((x-radius+1=a[i]+48) and (ya[i+1]-20)) then
bar3d(a[i],a[i+1],a[i]+48,a[i+1]-20,0,false);
procedure zapis(const xs,ys:t_kubik;i:t_kubik;var a:t_arr);
procedure level(var a:t_arr;const numbering:byte;var kol_kub:kol_kubik);
assign(f,'levels\level'+number+'.den');
1: begin i:=1; zapis(xs,ys,i,a); end;
50: begin i:=39; zapis(xs,ys,i,a); end;
99: begin i:=77; zapis(xs,ys,i,a); end;
148: begin i:=115; zapis(xs,ys,i,a); end;
197: begin i:=153; zapis(xs,ys,i,a); end;
246: begin i:=191; zapis(xs,ys,i,a); end;
295: begin i:=229; zapis(xs,ys,i,a); end;
344: begin i:=267; zapis(xs,ys,i,a); end;
393: begin i:=305; zapis(xs,ys,i,a); end;
442: begin i:=343; zapis(xs,ys,i,a); end;
491: begin i:=381; zapis(xs,ys,i,a); end;
540: begin i:=419; zapis(xs,ys,i,a); end;
589: begin i:=457; zapis(xs,ys,i,a); end;
procedure left(const koeff:byte;var x1_dv,x2_dv:t_kubik);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
procedure right(const koeff:byte;var x1_dv,x2_dv:t_kubik);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
procedure dviguna_keyboard(const koeff:byte;var x,x1_dv,x2_dv:t_kubik;var y:t_kubik);
{Ðèñóåì ïëàíêó ñ øàðèêîì ïîñåðåäèíå}
{Íèæå --- êîîðäèíàòû ïëàíêè è øàðèêà(òîëüêî-÷òî íàðèñîâàííûõ)}
x1_dv:=round(getmaxx/2-(koeff/2)*shir-1);
x2_dv:=round(getmaxx/2+(koeff/2)*shir);
#75: if x > (koeff div 2)*shir then
#77: if x < getmaxx-(koeff/2)*shir then
procedure dviguna_mouse(const koeff:byte;var x,x1_dv,x2_dv:t_kubik;var y:t_kubik);
{Ðèñóåì ïëàíêó ñ øàðèêîì ïîñåðåäèíå}
{óñòàíàâëèâàåò îãðàíè÷åíèå ïåðåìåùåíèÿ êóðñîðà ìûøè ïî âåðòèêàëè}
{óñòàíàâëèâàåò îãðàíè÷åíèå ïåðåìåùåíèÿ êóðñîðà ìûøè ïî ãîðèçîíòàëè}
{Íèæå --- êîîðäèíàòû ïëàíêè è øàðèêà(òîëüêî-÷òî íàðèñîâàííûõ)}
x1_dv:=round(getmaxx/2-(koeff/2)*shir-1);
x2_dv:=round(getmaxx/2+(koeff/2)*shir);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
bar3d(x1_dv,y1_dv,x2_dv,y2_dv,0,false);
procedure zar_nar(var x,y:t_kubik;const dx,dy:t_dx_dy);
procedure naverhu_number(numbering:byte);
settextstyle(4{GothicFont},horizdir,3);
settextjustify(centertext,centertext);
settextstyle(4{GothicFont},horizdir,3);
settextjustify(centertext,centertext);
procedure naverhu_kubiki(kol_kub:byte;var score:integer);
settextstyle(4{GothicFont},horizdir,3);
settextjustify(centertext,centertext);
procedure naverhu_score(score:integer);
settextstyle(4{GothicFont},horizdir,3);
settextjustify(centertext,centertext);
settextjustify(centertext,centertext);
settextstyle(4{GothicFont},horizdir,9);
outtextxy(getmaxx div 2,round(getmaxy / 2.5),'Markball');
settextstyle(7{TSCR.CHR},horizdir,2);
settextjustify(lefttext,centertext);
outtextxy(10,10,'Press F1 for the help');
settextstyle(7{TSCR.CHR},horizdir,3);
outtextxy(getmaxx div 2,round(getmaxy / 1.3), s2);
setRGBpalette(3,redvalue,redvalue,0);
setRGBpalette(2,0,greenvalue2,greenvalue2);
until (redvalue=63) or (redvalue=0) or rb or lb or keypressed;
settextjustify(centertext,centertext);
settextstyle(4{GothicFont},horizdir,9);
outtextxy(getmaxx div 2,round(getmaxy / 2.5),'Markball');
settextstyle(7{TSCR.CHR},horizdir,2);
settextjustify(lefttext,centertext);
outtextxy(10,10,'Press F1 for the help');
settextstyle(7{TSCR.CHR},horizdir,3);
outtextxy(getmaxx div 2,round(getmaxy / 1.3), s2);
players_name:array [1..11] of string[15];
settextjustify(centertext,centertext);
settextstyle(4{Gothic Font},horizdir,3);
outtextxy(x+140,y+10,'Enter your name');
while (numb <= 10) and (score < player[numb]) do
settextjustify(centertext,centertext);
settextstyle(4{Gothic Font},horizdir,3);
outtextxy(x+140,y+10,'The best players');
settextjustify(lefttext,centertext);
outtextxy(x+10,y,players_name[numb]);
settextstyle(4{Gothic Font},horizdir,3);
players_name[c+1]:=players_name[c];
settextjustify(centertext,centertext);
settextstyle(4{Gothic Font},horizdir,3);
outtextxy(x+140,y+10,'The best players');
settextjustify(lefttext,centertext);
outtextxy(x+10,y,players_name[numb]);
Äîïîëíèòåëüíàÿ ïðîãðàììà äëÿ ïîñòðîåíèÿ ñîáñòâåííûõ óðîâíåé :
2. íàæèìàÿ ëåâóþ êíîïêó ìûøè ñòàâèòü(ðèñîâàòü) êóáèêè;


3. ïîñëå ïîñòðîåíèÿ óðîâíÿ íàæàòü ïðàâóþ êíîïêó ìûøè;


4. ïîñëå ïîÿâëåíèÿ ìåíþ íîìåðîâ óðîâíåé âûáðàòü íîìåð ñîõðàíÿåìîãî óðîâíÿ (ôàéëà);


Íàçíà÷åíèå: èñïîëüçóåòñÿ êàê ñïðàâêà è âñåãäà ïîêàçûâàåòñÿ ïðè çàïóñêå;


Íàçíà÷åíèå: ïðè íàæàòèè ëåâîé êíîïêè ìûøè îïðåäåëÿåò, åñòü ëè íà ýòîì ìåñòå óæå êóáèê èëè íåò;


False: íà ýòîì ìåñòå óæå åñòü êóáèê, çíà÷èò íå ðèñóåì;


Íàçíà÷åíèå: ðèñóåò êóáèê è çàïèñûâàåò åãî êîîðäèíàòû â ôàéë;


Íàçíà÷åíèå: èùåò ïîäõîäÿùèå êîîðäèíàòû äëÿ ïîñòðîåíèÿ êóáèêà;


Íàçíà÷åíèå: ñòðîèò ýòàï, èñïîëüçóÿ âûøåîïèñàííûå ïîäïðîãðàììû;


85..105: begin y:=105; stroika; end;

106..126:begin y:=126; stroika; end;

127..147:begin y:=147; stroika; end;

148..168:begin y:=168; stroika; end;

169..189:begin y:=189; stroika; end;

190..210:begin y:=210; stroika; end;

211..231:begin y:=231; stroika; end;

232..252:begin y:=252; stroika; end;

263..273:begin y:=273; stroika; end;

274..294:begin y:=294; stroika; end;

295..315:begin y:=315; stroika; end;

316..336:begin y:=336; stroika; end;

337..357:begin y:=357; stroika; end;

358..378:begin y:=378; stroika; end;

379..399:begin y:=399; stroika; end;

400..420:begin y:=420; stroika; end;

s:='when finish --- press the right button of the mouse';

settextstyle(7{GothicFont},horizdir,2);

50..98: begin x:=50; search_y; end;

99..147:begin x:=99; search_y; end;

148..196:begin x:=148; search_y; end;

197..245:begin x:=197; search_y; end;

246..294:begin x:=246; search_y; end;

295..343:begin x:=295; search_y; end;

344..392:begin x:=344; search_y; end;

393..441:begin x:=393; search_y; end;

442..490:begin x:=442; search_y; end;

491..539:begin x:=491; search_y; end;

540..588:begin x:=540; search_y; end;

589..637:begin x:=589; search_y; end;

bar(4,getmaxy div 5-8,130,getmaxy div 5 +300+20);

settextstyle(4{GothicFont},horizdir,4);

settextjustify(lefttext,centertext);

settextstyle(4{GothicFont},horizdir,4);

settextjustify(lefttext,centertext);

assign(f_s,'levels\level'+s+'.den');

1. ßí Áåëåöêèé «Òóðáî Ïàñêàëü ñ ãðàôèêîé äëÿ ïåðñîíàëüíûõ êîìïüþòåðîâ»
2. Walasek J.Konwersacyjne otoczenie programowe Pascala. WNT, Warsawa
3. Turbo Tutor. Borland International. Scotts Valley, California
4. Cherry G. Pascal Programming Structures. Reston Publishing Company. Reston, Virginia

Название: Арканоид на Паскале
Раздел: Рефераты по информатике, программированию
Тип: реферат
Добавлен 23:28:08 22 июля 2005 Похожие работы
Просмотров: 234
Комментариев: 14
Оценило: 6 человек
Средний балл: 4.5
Оценка: 5   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Реферат: Арканоид на Паскале
Дипломная работа: Совершенствование электротехнической службы Бердюжского РЭС ОАО "Тюменьэнерго"
Борьба С Наркотиками Реферат
Практическое задание по теме Уголовно-правовая характеристика преступлений в сфере налогообложения
Горькая Правда Хорошо Это Или Плохо Реферат
Реферат: Юрий Алексеевич Гагарин 3
Курсовая работа по теме Трансформация экополлютантов в окружающей среде
Дипломная работа по теме Расчетно-экспериментальные исследования эффективности устройства для защиты органов дыхания при низких температурах воздуха
Темы Рефератов 10 Класс Физкультура
Профессиональные Риски В Социальной Работе Курсовая
Маленькое Сочинение Чего Я Не Люблю
Сочинение по теме О романе Томаса Манна "Доктор Фаустус»
Отчет по практике по теме Организация работы предприятия СРФ ООО СК 'Согласие'
Дипломная работа по теме Коррекционно-развивающая работа как условие преодоления трудностей в обучении первоклассников
Реферат: Explication On The Parable Of Essay Research
Реферат по теме История Финляндии в послевоенный период
Реферат На Тему Особенности Развития И Операции На Прямой Кишке У Детей
Контрольная работа по теме Украинская вышивка
Сочинение На Тему Самая Дорогая Вещь
Реферат: Шествие на осляти
Курсовая Работа На Тему Механизм Государства Quot
Доклад: Получено потомство
Доклад: Корея
Реферат: Хламидия. Хламидиоз. Лечение хламидиоза

Report Page