Áàçà çíàíèé ñòóäåíòà. Ðåôåðàò, êóðñîâàÿ, êîíòðîëüíàÿ, äèïëîì íà çàêàç

êóðñîâûå,êîíòðîëüíûå,äèïëîìû,ðåôåðàòû

Èãðà "Vertolet" — Êîììóíèêàöèè è ñâÿçü

Ôåäåðàëüíîå àãåíòñòâî ïî îáðàçîâàíèþ

×ÈÒÈÍÑÊÈÉ ÃÎÑÓÄÀÐÑÒÂÅÍÍÛÉ ÓÍÈÂÅÐÑÈÒÅÒ

ÝÍÅÐÃÅÒÈ×ÅÑÊÈÉ ÈÍÑÒÈÒÓÒ

Ôàêóëüòåò ýêîíîìèêè è èíôîðìàòèêè

Êàôåäðà ÈÂÒ è ÏÌ

Êóðñîâàÿ ðàáîòà

                                         

×èòà 2007.

Ôåäåðàëüíîå àãåíòñòâî ïî îáðàçîâàíèþ

×ÈÒÈÍÑÊÈÉ ÃÎÑÓÄÀÐÑÒÂÅÍÍÛÉ ÓÍÈÂÅÐÑÈÒÅÒ

ÝÍÅÐÃÅÒÈ×ÅÑÊÈÉ ÈÍÑÒÈÒÓÒ

Ôàêóëüòåò ýêîíîìèêè è èíôîðìàòèêè

Êàôåäðà ÈÂÒ è ÏÌ

ÏÎßÑÍÈÒÅËÜÍÀß ÇÀÏÈÑÊÀ

ê êóðñîâîé ðàáîòå

Ïî äèñöèïëèíå «Ïðîãðàììèðîâàíèå íà ÿçûêå âûñîêîãî óðîâíÿ».

Íà òåìó: Èãðà «Vertolet».

Ïðîåêò âûïîëíèë ñòóäåíò ãðóïïû ÈÂÒ-06-02

                      Ëàçàðåâ Ìèõàèë Àíäðååâè÷

                                                    

 Ðóêîâîäèòåëü ðàáîòû_____________________

Ôåäåðàëüíîå àãåíòñòâî ïî îáðàçîâàíèþ

×ÈÒÈÍÑÊÈÉ ÃÎÑÓÄÀÐÑÒÂÅÍÍÛÉ ÓÍÈÂÅÐÑÈÒÅÒ

ÝÍÅÐÃÅÒÈ×ÅÑÊÈÉ ÈÍÑÒÈÒÓÒ

Ôàêóëüòåò ýêîíîìèêè è èíôîðìàòèêè

Êàôåäðà ÈÂÒ è ÏÌ

ÇÀÄÀÍÈÅ

íà êóðñîâóþ ðàáîòó

ïî äèñöèïëèíå «Ïðîãðàììèðîâàíèå íà ÿçûêå âûñîêîãî óðîâíÿ»

ñòóäåíòó Ëàçàðåâó Ì.À.

Òåìà ðàáîòû: Èãðà  «Vertolet»

Ðåêîìåíäóåìàÿ ëèòåðàòóðà:

1. Ôàðîíîâ Â.Â. Òóðáî Ïàñêàëü 7.0. Íà÷àëüíûé êóðñ. Ó÷åáíîå ïîñîáèå. – Ì.: èçäàòåëüñòâî «Íîëèäæ», 1998.

 

Äàòà âûäà÷è çàäàíèÿ  «      »_____________2007 ã.

Äàòà ïðåäñòàâëåíèÿ ðóêîâîäèòåëþ «       » ______________ 2007 ã.

Ðóêîâîäèòåëü êóðñîâîãî ïðîåêòèðîâàíèÿ: Ìàëåòà Ã.Â.


Óòâåðæäàþ

Çàâ.êàôåäðîé

«____»__________________2007ã.

Êàëåíäàðíûé ïëàí

Ðàçäåëû êóðñîâîé ðàáîòû ÌÅÑßÖÛ È ÍÅÄÅËÈ
Ôåâðàëü Ìàðò Àïðåëü Ìàé Èþíü
1 2 1 2 3 4 5 1 2 3 4 1 2 3 4 1 2
1. Âûáîð òåìû
2. Àíàëèç àëãîðèòìà
3. Ðàçðàáîòêà îñíîâíîãî àëãîðèòìà
4. Ðàçðàáîòêà äâèæåíèÿ
5. Ñîçäàíèå ãðàôèêè
6. Òåñòèðîâàíèå ïðîãðàììû
7. Èñïðàâëåíèå ïðîãðàììû
8. Çàùèòà

Ïëàí âûïîëíåí: Ðóêîâîäèòåëü ïðîåêòà_______________«____»______________ 2007ã.


ÐÅÔÅÐÀÒ

 

Ïîÿñíèòåëüíàÿ çàïèñêà – 30 ñ., 0 ðèñ., 0 òàáë., 2 èñòî÷íèêà, 1 ïðèë.

Turbo Pascal, àëãîðèòì, èãðîê, çàùèòíîå ïîëå, êîìïüþòåðíàÿ èãðà, ìîäóëü, ïðîãðàììà, ïðîöåäóðà, áàðüåð, áîíóñ, ôóíêöèÿ.

 ñâîåé ðàáîòå ÿ ðåàëèçîâàë âàðèàíò òåëåôîííîé èãðû – Âåðòîëåò. Îíà íàïèñàíà íà ÿçûêå Turbo Pascal. Èñõîäíûå êîäû ïðèëàãàþòñÿ.


ÑÎÄÅÐÆÀÍÈÅ

Ââåäåíèå………………………………………………………………..7

1. Àëãîðèòì ðàáîòû……………………………………………………8

2. Ðóêîâîäñòâî ïîëüçîâàòåëÿ………………………………………...10

Çàêëþ÷åíèå……………………………………………………………11

Ïðèëîæåíèå…………………………………………………………...13

Èñõîäíûå êîäû ìîäóëåé…………………………………………......17 

Ñïèñîê ëèòåðàòóðû…………………………………………………...30


ÂÂÅÄÅÍÈÅ

 

Äàííàÿ ïðîãðàììà ïðåäñòàâëÿåò ñîáîé ðåàëèçàöèþ èçâåñòíîé èãðû «Âåðòîëåò», à òî÷íåå – åå ðàñïðîñòðàíåííîãî ðåæèìà ïîä íàçâàíèåì «Battle mode».

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


1. ÀËÃÎÐÈÒÌ ÐÀÁÎÒÛ

 

Ïðîãðàììà ñîñòîèò èç ñëåäóþùèõ ÷àñòåé:

Ðèñ.1. Ñâÿçü ñîñòàâíûõ ÷àñòåé.

Exe.pas-ïðîãðàììà âûçûâàþùàÿ ìîäóëü menu

1. menu.pas – îñíîâíàÿ ÷àñòü ïðîãðàììû.

 ïðîãðàììå ïðîèñõîäèò âûçîâ ñëåäóþùèõ ïðîöåäóð:

·                   procedure key1– ïðîöåäóðà îòâå÷àþùàÿ çà ïåðåìåùåíèå óêàçàòåëÿ â ìåíþ èãðû.

·                   procedure cartinka – Ïðîðèñîâêà ôîíîâîãî èçîáðàæåíèÿ.

·                   procedure menu– âûçîâ îäíîãî èç òðåõ ìîäóëåé èëè âûõîä èç ïðîãðàììû âçàâèñèìîñòè îò âûáîðà ïóíêòà â ìåíþ. Î÷èñòêà äèíàìè÷åñêîé ïàìÿòè.

2. game.pas – ìîäóëü, â êîòîðîì ðåàëèçîâàíû îñíîâíûå àëãîðèòìû.

  * Ââîä èìåíè èãðîêà

  * Ïðîðèñîâêà èãðîâîãî ïîëÿ

  * Ñîçäàíèå «Âåðòîëåòà» , äâóõ âèäîâ «Áàðüåðà» è  «Áîíóñà»

  * Çàïèñü â äèíàìè÷åñêóþ ïàìÿòü èçîáðàæåíèé èçìåíÿþùèõ ñâîå ïîëîæåíèå íà ýêðàíå

  * Ïåðåìåùåíèå âåðòîëåòà ïî èãðîâîìó ïîëþ, íå çàâèñèìî îò äðóãèõ îáúåêòîâ è âçðûâ ïðè ñòàëêíîâåíèè

  * Íà÷èñëåíèå áîíóñíûõ î÷êîâ è èõ èñïîëüçîâàíèå

  * Íà÷èñëåíèå èãðîâûõ î÷êîâ   è çàïèñü â òàáëèöó ðåêîðäîâ.

Òàêæå â äàííîì ìîäóëå îïðåäåëåíû ñëåäóþùèå ïðîöåäóðû è  ôóíêöèè:

function  game(sd:boolean):word;

function og(a,d:integer):word;

procedure GET;

procedure ni;

procedure start;

procedure tex;

procedure lev(text,text1:string);

procedure vert(a,d:integer;s:byte);

procedure score(kol:integer; nik:string);

procedure ogon(a,d:integer; s:byte);

3. Option.pas- ìîäóëü ñ ïîìøüþ êîòîðîãî ìîæíî âêëþ÷èòü èëè âûêëþ÷èòü çâóêîâîå ñîïðîâîæäåíèå

4. Help.pas – ìîäóëü, ñîäåðæàùèé ïðàâèëà èãðû.

5. score.dat – ôàéë, ñîäåðæàùèé 10 ëó÷øèõ ðåçóëüòàòîâ.


2. ÐÓÊÎÂÎÄÑÒÂÎ ÏÎËÜÇÎÂÀÒÅËß

 

ÏÐÀÂÈËÀ ÈÃÐÛ

 Ïðàâèëà ýòîé èãðû íàñòîëüêî ïðîñòû, ÷òî íå ïîòðåáóþò îò èãðîêà íè ìàëåéøåãî íàïðÿæåíèÿ ïðè çàïîìèíàíèè. Îäíàêî ýòî íå äåëàåò èãðó ñêó÷íîé.

Èãðîê óïðàâëÿåò âåðòîëåòîì "À-308" íà  áîðòó êîòîðîãî íàõîäÿòñÿ  âçðûâ÷àòûå âåùåñòâà .

Öåëü èãðû – ïðîèòè íàèáîëüøåå êîëè÷åñòâî óðîâíåé,  ïðè ýòîì ïðîëåòåâ ìàêñèìàëüíî âîçìîæíîå ðàññòîÿíèå.

Èãðîê ïîÿâëÿåòñÿ â ñðåäèíå èãðîâîãî ïîëÿ.  âåðõíåì ëåâîì óãëó óêàçûâàåòñÿ êîëè÷åñòâî íå èñïîëüçîâàííûõ áîíóñîâ. Ïðàâåå óêàçûâàåòñÿ èìÿ èãðîêà, óðîâåíü è êîëè÷åñòâî î÷êîâ (ñ÷èòàåòñÿ ÷òî ïðè íàáîðå îäíîãî î÷êà èãðîê ïðîëåòåë îäèí ìåòð ).

Ïðè íàëè÷èè áîíóñà èãðîê ìîæåò àêòèâèðîâàòü çàùèòíîå ïîëå ñ ïîìîùüþ êîòîðîãî îí ñìîæåò ïðîëåòåòü ñêâîçü ïðåïÿòñòâèÿ, îäíàêî ñ àêòèâèðîâàííûì çàùèòíûì ïîëåì íåëüçÿ ñîáðàòü äîïîëíèòåëüíûå î÷êè-«êóáèêè» è çà êàæäûé ïðîéäåííûé ìåòð áóäåò óáèðàòüñÿ îäíî áîíóñíîå î÷êî.

Ïðè ñòîëêíîâåíèè ñ ïðåïÿòñòâèåì âåðòîëåò âçðûâàåòñÿ è èãðà çàêàí÷èâàåòñÿ.

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

Çà êàæäûé ïðîëåò 500 ìåòðîâ èãðîê ïîëó÷àåò 35 áîíóñîâ.

Çà íàõîæäåíèå êóáèêà èãðîê ïîëó÷àåò 500 î÷êîâ.

Èíôîðìàöèþ î òåêóùåì êîëè÷åñòâå î÷êîâ âû ìîæåòå íàéòè â ïðàâîé ÷àñòè ýêðàíà

 


ÓÏÐÀÂËÅÍÈÅ Â ÈÃÐÅ

 

Äëÿ äâèæåíèÿ âåðòîëåòà ïî èãðîâîìó ïîëþ èñïîëüçóþòñÿ êëàâèøè  ’↑’ , ’←’,  ’↓’, ‘→’. Äëÿ àêòèâàöèè çàøèòíîãî ïîëÿ  êëàâèøà ‘Ïðîáåë’.  Çàùèòíîå ïîëå îòêëþ÷àåòñÿ ïðè íóëåâîì êîëè÷èñòâå áîíóñà èëè ïðè íàæàòèè ëþáîé êëàâèøè . Òàêæå âåðòîëåò ìîæåò ðåçêî íàáðàòü âûñîòó êëàâèøà ’w’  è ñíèçèòüñÿ êëàâèøà ’s’.  


ÇÀÊËÞ×ÅÍÈÅ

 

Çàäà÷à, èçíà÷àëüíî ïîñòàâëåííàÿ ìíîé, âûïîëíåíà. Íî âñåãäà åñòü ïóòè ê ñîâåðøåíñòâîâàíèþ. Äëÿ ýòîãî ÿ íàìåòèë êîìïëåêñ öåëåé, êîòîðûå â áóäóùåì ïîñòàðàþñü âîïëîòèòü â ñâîåé ïðîãðàììå. Âîò îíè:

·                   Ñîçäàíèå ïðîòèâíèêîâ.

·                   ñîçäàíèå íåñêîëüêèõ (òðåõ) óðîâíåé èãðû êîìïüþòåðà.

·                   ñîçäàíèå çàãðóçî÷íîãî ðîëèêà.

·                   ïåðåõîä îò Dos’à ê Windows’ó.

·                   ïåðåõîä â 3-d.  

Î÷åíü íàäåþñü, ÷òî íàïèñàíèåì äàííîé ÿ óâåëè÷èë êðóã ïîêëîííèêîâ ýòîé çàìå÷àòåëüíîé èãðû è ïðèâíåñ íåáîëüøóþ ëåïòó â åå ðàçâèòèå.


ÏÐÈËÎÆÅÍÈß

 

ÈÑÕÎÄÍÛÅ ÊÎÄÛ ÏÐÎÖÅÄÓÐ È ÔÓÍÊÖÈÉ, ÏÐÅÄÑÒÀÂËßÞÙÈÅ ÍÀÈÁÎËÜØÈÉ ÈÍÒÅÐÅÑ

function game(sd:boolean):word;

const left=#75;

right=#77;

up=#72;

down=#80;

begin

ni;

fon:=0;

plus:=0;

yr:=3;

schet:=0;

a:=120; d:=240;

verx:=460;niz:=125;

kk:=300;ll:=350;z:=580;v:=880; l:=680; k:=780;

i:=980;

ii:=400;

vv:=200;zz:=150;

p:=0;pp:=640;

level:=1;

vert(a,d,4);

randomize;

get;

och:='70';

begin

tex;

start;

bonn:=random(150)+300;

end;

repeat

setcolor(0);

if (plus<70) and (ord(t)=32) then begin

setcolor(12);

outtextxy(50,35, och);

setcolor(red);

str(pl,och);  outtextxy(50,35, och);

  og(a-3,d-9); plus:=plus+1;  end;

pl:=70-plus;

if ((getpixel(a-2,d)=0) or (getpixel(a-2,d)=1))  and  ((getpixel(a+43,d+7)=0) or (getpixel(a+43,d+7)=1))

 and ((getpixel(a+26,d+20)=0) or (getpixel(a+26,d+20)=1))  and

((getpixel(a+36,d+20)=0) or (getpixel(a+36,d+20)=1)) and  ((getpixel(a+42,d-7)=0) or (getpixel(a+42,d-7)=1))

and  ((getpixel(a+18,d-7)=0) or (getpixel(a+18,d-7)=1)) and

  ((getpixel(a-1,d-5)=0) or (getpixel(a-1,d-5)=1))

then

begin

if (getpixel(a+43,d+7)=1) or (getpixel(a-1,d-5)=1) or (getpixel(a+36,d+20)=1)

or (getpixel(a+42,d-7)=1) or (getpixel(a-2,d)=1) then

 begin schet:=schet+500; inc(aw); putimage(v-50,vv+80,barer3^,0); end;

text:=nik;

 end

else

begin

text:='GAME OVER';

settextstyle(1,0,9);

if sd=true then begin sound(100); delay(6000); nosound;  end;

vert(a,d,fon);

delay(200);

ogon(a,d,1);

if sd=true then begin sound(50); delay(6000); nosound;  end;

delay(1000);

outtextxy(60,140,text);

outtextxy(62,142,text);

outtextxy(68,138,text);

delay(15000);

break;

closegraph;

Score(schet,nik);

end;

b:=keypressed;

if b=true then t:=readkey;

settextstyle(1,0,3);

setcolor(white);

setbkcolor(fon);

setfillstyle(9,7);

case t of

right : a:=a+5;

left : a:=a-5;

up : d:=d-5;

down : d:=d+5;

's' : begin  d:=d+15; a:=a; end;

'w' : begin  d:=d-15; a:=a; end;

'`' : begin read(cod);   if cod='money' then begin  schet:=schet+2000; cod:=''; t:='y'; end;   end;

']' : begin read(cod1);   if cod1='bonus' then begin  plus:=plus-1000; cod1:='';  t:='y';end;   end;

end;

if z>(yr*2) then z:=z-yr else begin z:=640;zz:=(460-random(355)) end;

if v>(yr*2) then v:=v-yr else begin v:=640;vv:=(460-random(355)) end;

if k>(yr*2) then k:=k-yr else begin k:=640;kk:=(460-random(355)) end;

if l>(yr*2) then l:=l-yr else begin l:=640;ll:=(460-random(355)) end;

if i>(yr*2) then i:=i-yr else begin i:=640;ii:=(460-random(355)) end;

 if a<6 then a:=6   ;

 if d<niz+1 then d:=niz+1  ;

 if a>594 then a:=594   ;

 if d>verx-1 then d:=verx-1   ;

if sd=true then begin sound(500); delay(100); nosound;  end;

inc(schet);

if ((schet mod 200)=0) and (yr<20) then begin

setcolor(0);

line(25+yr*2,101,25+yr*2,480);

yr:=yr+1;   end;

if (schet mod 500)=0 then begin

 plus:=plus-35; pl:=70-plus; setcolor(12);

outtextxy(50,35, och);

setcolor(red);

str(pl,och);  outtextxy(50,35, och);

  end;

setlinestyle(0,0,1);

if (schet mod 10)=0 then begin

setcolor(12);

outtextxy(560,35, och1);

setcolor(red);

  str(schet,och1);

  outtextxy(560,35, och1); end;

if (schet>500) and (level=1) then

begin

ll:=350; l:=680;

lev('Level 2','2');

level:=2;

end;

if (schet>1500) and (level=2) then

begin

kk:=300; k:=780;

lev('Level 3','3');

level:=3;

end;

if (schet>3000) and (level=3) then

begin

i:=980;

ii:=400;

lev('Level 4','4');

level:=4;

end;

if (schet>5000) and (level=4) then

begin

lev('Level 5','5');

level:=5;

end;

if (schet>7000) and (level=5) then

begin

lev('Level 6','6');

level:=6;

end;

if (schet>10000) and (level=6) then

begin

lev('Level 7','7');

level:=7;

end;

if sd=false then delay(50);

setfillstyle(1,0);

 if sd=false then delay(10);

putimage(a-10,d-25,ver^,0);

{Level 1}

 if sd=false then delay(10);

putimage(v,vv,barer1^,0);

if (schet mod bonn)=0 then inc(aw);

if (aw mod 2)=0 then

putimage(v-50,vv+80,barer2^,0);

if sd=false then delay(10);

putimage(z,zz,barer^,0);

{Level 2}

 if sd=false then delay(10);

if level>1 then putimage(l,ll,barer1^,0);

{Level 3}

 if sd=false then delay(10);

if level>2 then putimage(k,kk,barer^,0);

setcolor(12);

line(25+yr*2,101,25+yr*2,480);

until Ord(t)=258;

freemem(ver,imagesize(a-10,d-25,a+53,d+40));

freemem(barer,imagesize(300,300,340,350));

freemem(barer1,imagesize(400,300,440,350));

closegraph;

Score(schet,nik);

end;


ÈÑÕÎÄÍÛÅ ÊÎÄÛ ÌÎÄÓËÅÉ

Ìîäóëü Game

unit games;

interface

USES CRT,GRAPH;

function  game(sd:boolean):word;

function og(a,d:integer):word;

procedure GET;

procedure ni;

procedure start;

procedure tex;

procedure lev(text,text1:string);

procedure vert(a,d:integer;s:byte);

procedure score(kol:integer; nik:string);

procedure ogon(a,d:integer; s:byte);

implementation

type mass=array[1..100] of word;

Var

sche: array[1..100] of integer ;

nam: array[1..100] of string ;

q,e,r,a,d,w,n,k,kk,l,ll,verx,niz,ste,z,zz,v,vv,p,pp,schet,yr,fon,plus,pl:integer;

aw,bonn,xxx,xx,sss,ss,aa,zs,vs,ff,gg,fff,ggg,i,ii,level:integer;

t:char; text,text1,cod,cod1:string[15]; nik,och,och1:string[7];

astn1:mass;

b:boolean;

ver,barer,barer1,barer2,barer3:pointer;

procedure ogon(a,d:integer; s:byte);

var

k:array[1..200] of word;

n,i:integer;

begin

for i:=1 to 5 do begin

k[1]:=a;k[2]:=d; k[3]:=a+8;k[4]:=d-15;k[5]:=a+14;k[6]:=d-12;

k[7]:=a+18;k[8]:=d-18;k[9]:=a+20;k[10]:=d-13;k[11]:=a+25;k[12]:=d-25;

k[13]:=a+27;k[14]:=d-19;k[15]:=a+30; k[16]:=d-21;k[17]:=a+34;k[18]:=d-17;

k[19]:=a+36;k[20]:=d-19;k[21]:=a+37;k[22]:=d-5;k[23]:=a+40;k[24]:=d-10;

k[25]:=a+38;k[26]:=d+3;k[27]:=a+33;k[28]:=d+10;k[29]:=a+27;k[30]:=d+4;

k[31]:=a+25;k[32]:=d+11;k[33]:=a+19;k[34]:=d+6;k[35]:=a+9;k[36]:=d+13;

k[37]:=a;k[38]:=d;

n:=19;

setfillstyle(1,s);

setcolor(s);

fillpoly(n,k);

delay(1500);

setfillstyle(1,s+3);

setcolor(s+3);

fillpoly(n,k);

delay(3000);

setfillstyle(1,s+4);

setcolor(s+4);

fillpoly(n,k);

delay(1500);

setfillstyle(1,s+3);

setcolor(s+3);

fillpoly(n,k);

end;

end;

procedure vert(a,d:integer;s:byte);

var

k:array[1..100] of word;

n:integer;

begin

k[1]:=a;k[2]:=d;k[3]:=a+5;k[4]:=d;k[5]:=a+5;k[6]:=d-5;k[7]:=a;k[8]:=d-5;k[9]:=a+10;k[10]:=d-5;

k[11]:=a+5;k[12]:=d-5;k[13]:=a+5;k[14]:=d;k[15]:=a+10; k[16]:=d;k[17]:=a+15;k[18]:=d+5;

k[19]:=a+20;k[20]:=d+5;k[21]:=a+23;k[22]:=d+2;k[23]:=a+27;k[24]:=d;k[25]:=a+30;k[26]:=d;

k[27]:=a+30;k[28]:=d-7;k[29]:=a+20;k[30]:=d-7;k[31]:=a+20;k[32]:=d-8;k[33]:=a+40;k[34]:=d-8;

k[35]:=a+40;k[36]:=d-7;k[37]:=a+30;k[38]:=d-7;k[39]:=a+30;k[40]:=d;k[41]:=a+33;k[42]:=d+2;

k[43]:=a+30;k[44]:=d;k[45]:=a+30;k[46]:=d+9;k[47]:=a+41;k[48]:=d+9;k[49]:=a+27;k[50]:=d+9;

k[51]:=a+19;k[52]:=d+6;k[53]:=a-1;k[54]:=d;k[55]:=a;k[56]:=d+5;k[57]:=a+5;k[58]:=d+6;

k[59]:=a+11;k[60]:=d+7;k[61]:=a+17;k[62]:=d+8;k[63]:=a+19;k[64]:=d+9;k[65]:=a+24;k[66]:=d+17;

k[67]:=a+26;k[68]:=d+18;k[69]:=a+36;k[70]:=d+18;k[71]:=a+40;k[72]:=d+12;k[73]:=a+42;k[74]:=d+8;

k[75]:=a+40;k[76]:=d+5;k[77]:=a+38;k[78]:=d+1;k[79]:=a+33;k[80]:=d;

n:=40;

setfillstyle(1,s);

setcolor(s);

fillpoly(n,k);

k[1]:=a+28;k[2]:=d+16;k[3]:=a+32;k[4]:=d+6;k[5]:=a+36;k[6]:=d+16;k[7]:=a+26;k[8]:=d+10;

k[9]:=a+37;k[10]:=d+10;k[11]:=a+28;k[12]:=d+16;

n:=6;

setfillstyle(1,1);

setcolor(1);

fillpoly(n,k);

end;

function og(a,d:integer):word;

begin

setcolor(fon);

setfillstyle(1,0);

bar(a,d,a+48,d+30);

end;

procedure score(kol:integer; nik:string);

type  pass=record

name:string[10];

schet:integer;

end;

var t:char;  f:file of pass;  rec:pass;

e:boolean; address,klon:string;  mes,k,p,fop,kolop,sch:integer;

begin

clrscr;

address:='FILEOFRE';

assign(f,address);

 begin

  kolop:=kol;

  e:=false;

  p:=0;

  fop:=1;

  mes:=1;

  {rewrite(f);

  repeat

  with rec do begin

  write ('name: ');

  readln(name);

  write ('schet: ');

  readln(schet);

  write(f,rec);

  end;

  inc(p);

  until p=11;

procedure score(kol:integer; nik:string);

type  pass=record

name:string[10];

schet:integer;

end;

var t:char;  f:file of pass;  rec:pass;

e:boolean; address,klon:string;  mes,k,p,fop,kolop,sch:integer;

begin

clrscr;

address:='FILEOFRE';

assign(f,address);

 begin

  kolop:=kol;

  e:=false;

  p:=0;

  fop:=1;

  mes:=1;

  {rewrite(f);

  repeat

  with rec do begin

  write ('name: ');

  readln(name);

  write ('schet: ');

  readln(schet);

  write(f,rec);

  end;

  inc(p);

  until p=11;

  close(f); }

  reset(f);

  writeln;     writeln('                                 Pekopd      ');

  writeln;writeln;writeln;

  repeat

  read(f,rec);

  writeln;

  with rec do begin

  write('                ',mes);

  write('   ',name);

  write(' :  ',schet);

  end;

  inc(mes);

  until mes=7;

  close(f);

  writeln;

  if fop<>1 then begin

  writeln('                            .................        ');

   end;

 end;

delay(5000);

writeln;   writeln;writeln;

writeln('                                                               Press Enter      ');

repeat

begin

t:=readkey;

end;

until Ord(t)=13;

clrscr;

writeln('');

writeln('');writeln('');writeln('');writeln('');writeln('');writeln('');writeln('');

writeln('');writeln('');writeln('');writeln('');

writeln('                              You had gone =', kolop,'  meters');

    writeln('');writeln('');

writeln('');writeln('');writeln('');writeln('');writeln('');writeln('');writeln(''); delay(10000);

writeln ('                                                                   Press Enter');

repeat

t:=readkey;

until Ord(t)=13;

(*begin

clrscr;

writeln('');

writeln('');writeln('');writeln('');writeln('');writeln('');writeln('');writeln('');

writeln('Âûðàæàþ áëàãîäàðíîñòü çà ïîìîøü â òåñòèðîâàíèè èãðû ãðóïïå ÈÂÒ-06-2 è ëè÷íî ');

{setcolor(12);  }

writeln('Ïàâëó Ïðîñÿííèêîâó {Ïàõå ñòàðîìó}');

writeln('');

{setcolor(4);     }

writeln('Âûðàæàþ áëàãîäàðíîñòü çà ïîìîøü â íàïèñàíèè ñöåíàðèÿ èãðû  ');

{setcolor(12);   }

writeln('Ëåâîíó, Ëþáå, Ìèõàèëó') ;

{setcolor(4);      }

    writeln('');writeln('');

writeln('');writeln('');writeln(''); delay(10000);

delay(5000);

writeln ('                                                               Íàæìèòå ïðîáåë');

repeat

begin

t:=readkey;

end;

until Ord(t)=32; end; *)

end;

procedure GET;

begin

getmem(ver,imagesize(a-10,d-25,a+53,d+40));

getimage(a-10,d-25,a+53,d+40,ver^);

setfillstyle(6,99);

bar(300,300,320,350);

getmem(barer,imagesize(300,300,340,350));

getimage(300,300,340,350,barer^);

setfillstyle(1,1);

bar(500,330,520,350);

setcolor(0);

settextstyle(2,0,4);

outtextxy(503,333,'500');

getmem(barer2,imagesize(500,330,540,350));

getimage(500,330,540,350,barer2^);

setfillstyle(1,0);

bar(500,330,520,350);

getmem(barer3,imagesize(500,330,540,350));

getimage(500,330,540,350,barer3^);

setfillstyle(9,53);

bar(400,300,420,350);

setfillstyle(1,0);

getmem(barer1,imagesize(400,300,440,350));

getimage(400,300,440,350,barer1^);

putimage(400,300,barer^,1);

putimage(300,300,barer1^,1);

end;

procedure start;

begin

cleardevice;

aa:=pp;

putimage(a-10,d-25,ver^,1);

setfillstyle(1,12);

bar(0,0,640,100);

setfillstyle(1,0);

setcolor(5);

settextstyle(4,0,5);

 outtextxy(150,15, nik);

 text:='Level 1';

 outtextxy(400,15, text);

 setcolor(red);

 settextstyle(1,0,3);

outtextxy(50,35,och);

settextstyle(0,0,0);

end;

procedure tex;

begin

cleardevice;

settextstyle(1,0,9);

setcolor(4);

text:='Level 1';

outtextxy(150,140,text);

outtextxy(152,142,text);

outtextxy(158,138,text);

delay(30000);

end;

procedure ni;

var cc:char;

bb:integer;

s:string[8];

begin

cleardevice;

setcolor(6);

bb:=220;

s:='';

setfillstyle(1,1);

outtextxy(100,60,'Will enter your name:');

bar(200,220,400,280);

settextstyle(1,0,5);

repeat

cc:=readkey;

if (ord(cc)<>75) and (ord(cc)<>72) {and (ord(cc)<>77)} and (ord(cc)<>80) then

s:=s+cc;

nik:=s;

outtextxy(bb,230,nik);

outtextxy(bb+2,230,nik);

until ord(cc)=13;

setfillstyle(1,0);

cleardevice;

 end;

procedure lev(text,text1:string);

begin

settextstyle(1,0,9);

setcolor(4);

outtextxy(150,140,text);

outtextxy(152,142,text);

outtextxy(158,138,text);

delay(10000);

setcolor(0);

outtextxy(150,140,text);

outtextxy(152,142,text);

outtextxy(158,138,text);

setcolor(5);

setfillstyle(1,12);

bar(505,15,525,65);

setfillstyle(1,0);

settextstyle(4,0,5);

outtextxy(505,15,text1);

end;

function game(sd:boolean):word;

const left=#75;

right=#77;

up=#72;

down=#80;

begin

ni;

fon:=0;

plus:=0;

yr:=3;

schet:=0;a:=120; d:=240;verx:=460;niz:=125;kk:=300;ll:=350;z:=580;v:=880; l:=680; k:=780;

i:=980;ii:=400;vv:=200;zz:=150;p:=0;pp:=640;level:=1;vert(a,d,4);

randomize;

get;

och:='70';

begin

tex;

start;

bonn:=random(150)+300;

end;

repeat

setcolor(0);

if (plus<70) and (ord(t)=32) then begin

setcolor(12);

outtextxy(50,35, och);

setcolor(red);

str(pl,och);  outtextxy(50,35, och);

  og(a-3,d-9); plus:=plus+1;  end;

pl:=70-plus;

if ((getpixel(a-2,d)=0) or (getpixel(a-2,d)=1))  and  ((getpixel(a+43,d+7)=0) or (getpixel(a+43,d+7)=1))

 and ((getpixel(a+26,d+20)=0) or (getpixel(a+26,d+20)=1))  and

((getpixel(a+36,d+20)=0) or (getpixel(a+36,d+20)=1)) and  ((getpixel(a+42,d-7)=0) or (getpixel(a+42,d-7)=1))

and  ((getpixel(a+18,d-7)=0) or (getpixel(a+18,d-7)=1)) and

  ((getpixel(a-1,d-5)=0) or (getpixel(a-1,d-5)=1))

then

begin

if (getpixel(a+43,d+7)=1) or (getpixel(a-1,d-5)=1) or (getpixel(a+36,d+20)=1)

or (getpixel(a+42,d-7)=1) or (getpixel(a-2,d)=1) then

 begin schet:=schet+500; inc(aw); putimage(v-50,vv+80,barer3^,0); end;

text:=nik;

 end

else

begin

text:='GAME OVER';

settextstyle(1,0,9);

if sd=true then begin sound(100); delay(6000); nosound;  end;

vert(a,d,fon);

delay(200);

ogon(a,d,1);

if sd=true then begin sound(50); delay(6000); nosound;  end;

delay(1000);

outtextxy(60,140,text);

outtextxy(62,142,text);

outtextxy(68,138,text);

delay(15000);

break;

closegraph;

Score(schet,nik);

end;

b:=keypressed;

if b=true then t:=readkey;

settextstyle(1,0,3);

setcolor(white);

setbkcolor(fon);

setfillstyle(9,7);

case t of

right : a:=a+5;left : a:=a-5;up : d:=d-5;down : d:=d+5;

's' : begin  d:=d+15; a:=a; end;

'w' : begin  d:=d-15; a:=a; end;

'`' : begin read(cod);   if cod='money' then begin  schet:=schet+2000; cod:=''; t:='y'; end;   end;

']' : begin read(cod1);   if cod1='bonus' then begin  plus:=plus-1000; cod1:='';  t:='y';end;   end;

end;

if z>(yr*2) then z:=z-yr else begin z:=640;zz:=(460-random(355)) end;

if v>(yr*2) then v:=v-yr else begin v:=640;vv:=(460-random(355)) end;

if k>(yr*2) then k:=k-yr else begin k:=640;kk:=(460-random(355)) end;

if l>(yr*2) then l:=l-yr else begin l:=640;ll:=(460-random(355)) end;

if i>(yr*2) then i:=i-yr else begin i:=640;ii:=(460-random(355)) end;

 if a<6 then a:=6   ;

 if d<niz+1 then d:=niz+1  ;

 if a>594 then a:=594   ;

 if d>verx-1 then d:=verx-1   ;

if sd=true then begin sound(500); delay(100); nosound;  end;

inc(schet);

if ((schet mod 200)=0) and (yr<20) then begin

setcolor(0);

line(25+yr*2,101,25+yr*2,480);

yr:=yr+1;   end;

if (schet mod 500)=0 then begin

 plus:=plus-35; pl:=70-plus; setcolor(12);

outtextxy(50,35, och);

setcolor(red);

str(pl,och);  outtextxy(50,35, och);

  end;

setlinestyle(0,0,1);

if (schet mod 10)=0 then begin

setcolor(12);

outtextxy(560,35, och1);

setcolor(red);

  str(schet,och1);

  outtextxy(560,35, och1); end;

if (schet>500) and (level=1) then

begin

ll:=350; l:=680;lev('Level 2','2');level:=2;end;

if (schet>1500) and (level=2) then

begin

kk:=300; k:=780;lev('Level 3','3');level:=3;end;

if (schet>3000) and (level=3) then

begin

i:=980;ii:=400;lev('Level 4','4');level:=4;end;

if (schet>5000) and (level=4) then

begin

lev('Level 5','5');level:=5;end;

if (schet>7000) and (level=5) then

begin

lev('Level 6','6');

level:=6;end;

if (schet>10000) and (level=6) then

begin

lev('Level 7','7');level:=7;end;

if sd=false then delay(50);

setfillstyle(1,0);

 if sd=false then delay(10);

putimage(a-10,d-25,ver^,0);

{Level 1}

 if sd=false then delay(10);

putimage(v,vv,barer1^,0);

if (schet mod bonn)=0 then inc(aw);

if (aw mod 2)=0 then

putimage(v-50,vv+80,barer2^,0);

if sd=false then delay(10);

putimage(z,zz,barer^,0);

{Level 2}

 if sd=false then delay(10);

if level>1 then putimage(l,ll,barer1^,0);

{Level 3}

 if sd=false then delay(10);

if level>2 then putimage(k,kk,barer^,0);

setcolor(12);

line(25+yr*2,101,25+yr*2,480);

until Ord(t)=258;

freemem(ver,imagesize(a-10,d-25,a+53,d+40));

freemem(barer,imagesize(300,300,340,350));

freemem(barer1,imagesize(400,300,440,350));

closegraph;

Score(schet,nik);

end;

begin

end.

Ìîäóëü Menu

unit menus;

interface

uses crt,graph,games,options,help;

const left=#75;

right=#77;

down=#72;

up=#80;

procedure cartinka;

procedure  menu;

procedure key1(ch:char);

implementation

var ch:char;

    ka,kd,n,a,d,q,r,e,s:integer;

    text:string;

    sd:boolean;

    bor,men0,men1,men2:pointer;

procedure key1(ch:char);

begin

    if ord(ch)=80 then begin  if d=380 then

begin

 begin

 setcolor(red);

 rectangle(a+2,d+2,a+398,d+48);

 setcolor(3);

 end;

 d:=100;

 end;

   d:=d+70;

 if d<>170 then begin

 setcolor(red);

 rectangle(a+2,d+2-70,a+398,d+48-70);

 setcolor(3);

 end;

  end;

if ord(ch)=72 then begin  if d<240 then

begin

 begin

 setcolor(red);

 rectangle(a+2,d+2,a+398,d+48);

 setcolor(3);

 end;

 d:=450;

 end;

 d:=d-70;

 if d<>380 then begin

 setcolor(red);

 rectangle(a+2,d+2+70,a+398,d+48+70);

 setcolor(3); end;

 end;

setlinestyle(0,0,1);

end;

procedure cartinka;

begin

q:=detect; initgraph(q,r,'');

e:=GraphResult;

If e<>grok then

writeln(GraphErrorMsg(e))

else

begin

sd:=true;

a:=100;

d:=170;

setfillstyle(1,4);

bar(100,170,500,220);

getmem(bor,imagesize(100,170,500,220));

getimage(100,170,500,220,bor^);

setfillstyle(1,0);

setcolor(13);

settextstyle(1,0,9);

text:='VERTOLET';

cleardevice;

vert(30,20,4);

vert(550,20,4);

setcolor(13);

settextstyle(1,0,9);

outtextxy(100,5, text);

outtextxy(102,5, text);

outtextxy(104,5, text);

setbkcolor(0);

setcolor(7);

setfillstyle(1,red);

settextstyle(1,0,5);

putimage(100,170,bor^,xorput);

text:=' Play game ';

outtextxy(200,165, text);

outtextxy(202,165, text);

putimage(100,240,bor^,xorput);

text:=' Options ';

outtextxy(220,235, text);

outtextxy(222,235, text);

putimage(100,310,bor^,xorput);

text:=' Help ';

outtextxy(240,305, text);

outtextxy(242,3055, text);

putimage(100,380,bor^,xorput);

text:=' Exit ';

outtextxy(240,375, text);

outtextxy(242,375, text);

end;

end;

procedure menu;

var ch:char;

begin

repeat

cartinka;

getmem(men0,imagesize(10,10,620,170));

getimage(10,10,620,170,men0^);

getmem(men1,imagesize(10,170,550,230));

getimage(10,170,550,230,men1^);

getmem(men2,imagesize(10,230,550,460));

getimage(10,230,550,460,men2^);

repeat

cleardevice;

putimage(10,10,men0^,0);

putimage(10,170,men1^,0);

putimage(10,230,men2^,0);

repeat

setlinestyle(0,0,3);

setcolor(3);

rectangle(a+2,d+2,a+398,d+48);

setlinestyle(0,0,3);

setlinestyle(0,0,3);

setcolor(3);

ch:=readkey;

key1(ch);

until ord(ch)=13;

if d=240 then sd:=option;

if d=310 then begin closegraph; pravila;

begin

q:=detect; initgraph(q,r,'');

e:=GraphResult;

If e<>grok then

writeln(GraphErrorMsg(e))

else

begin

end;

end;

 end;

until (d=170) or (d=380);

freemem(men0,imagesize(10,10,620,170));freemem(men1,imagesize(10,170,550,230));

freemem(men2,imagesize(10,230,550,460));

if d =170 then begin if sd=false then game(false) else game(true);

end;

until d=380 ;

closegraph;

end;

begin

end.

 

Ìîäóëü Option

 

 

unit options;

interface

uses crt,graph;

function  option:boolean;

procedure key(ch:char);

procedure tex;

implementation

var ch:char;

    a,d:integer;

    text:string;

    opt:pointer;

procedure tex;

begin

setcolor(13);

settextstyle(1,0,9);

text:='S o u n d';

outtextxy(100,5, text);

outtextxy(102,5, text);

outtextxy(104,5, text);

setcolor(0);

text:='on';

setfillstyle(1,red);

settextstyle(1,0,5);

bar(100,170,500,220);

outtextxy(260,165, text);

text:='off';

setfillstyle(1,red);

settextstyle(1,0,5);

bar(100,240,500,290);

outtextxy(260,235, text);

end;

procedure key(ch:char);

begin

if ord(ch)=80 then begin  if d=240 then

begin

 begin

 setcolor(red);

 rectangle(a+2,d+2,a+398,d+48);

 setcolor(3);

 end;

 d:=100;

 end;

   d:=d+70;

 if d<>170 then begin

 setcolor(red);

 rectangle(a+2,d+2-70,a+398,d+48-70);

 setcolor(3);

 end;

  end;

if ord(ch)=72 then begin  if d<240 then

begin

 begin

 setcolor(red);

 rectangle(a+2,d+2,a+398,d+48);

 setcolor(3);

 end;

 d:=310;

 end;

 d:=d-70;

 if d<>240 then begin

 setcolor(red);

 rectangle(a+2,d+2+70,a+398,d+48+70);

 setcolor(3); end;

 end;

end;

function  option:boolean;

begin

a:=100;

d:=170;

cleardevice;

tex;

option:=false;

repeat

setlinestyle(0,0,3);

setcolor(3);

rectangle(a+2,d+2,a+398,d+48);

setlinestyle(0,0,3);

setcolor(3);

ch:=readkey;

key(ch);

setlinestyle(0,0,1);

until ord(ch)=13;

if d =170 then option:=true;

end;

begin

end.

 

 

 

Ìîäóëü Help

 

unit help;

interface

uses crt;

procedure pravila;

implementation

procedure pravila;

var ch:char;

begin

clrscr;

textcolor(red);

Writeln('                                     ÏÐÀÂÈËÀ ÈÃÐÛ');

textcolor(Green);

Writeln('Âû óïðàâëÿåòå âåðòîëåòîì "À-308" íà  áîðòó êîòîðîãî íàõîäÿòñÿ  âçðûâ÷àòûå');

Write('âåùåñòâà. Âàøà öåëü ïåðåâåñòè èõ â ïóíêò íàçíà÷åíèÿ íå âðåçàâøèñü â ïðåïÿòñòâèÿ. ');

Write(' íà÷àëå èãðû ó âàñ èìååòñÿ 70 áîíóñîâ, ñ ïîìîùüþ êîòîðûõ âû ìîæåòå ïðîëåòåòü');

Write('ñêâîçü ïðåïÿòñòâèå. ×åðåç êàæäûå 500 ìåòðîâ âàì íà÷èñëÿåòñÿ 35 áîíóñîâ');

textcolor(red);

Writeln;

Writeln;Writeln;Writeln;

Writeln('                                     ÓÏÐÀÂËÅÍÈÅ');

textcolor(Green);

Writeln('Óïðàâëåíèå âåðòîëåòîì îñóùåñòâëÿåòñÿ ñ ïîìîøüþ êëàâèøü ñòðåëîê.  ');

Write('Ïðè íàæàòèè êëàâèøè ïðîáåë àêòèâèðóåòñÿ çàùèòíîå ïîëå(áîíóñ) è ïðè íàæàòèè ëþáîé äðóãîé');

Write('êëàâèøè âûêëþ÷àåòñÿ.');

Writeln('Òàêæå âåðòîëåò ìîæåò ðåçêî íàáðàòü âûñîòó {êëàâèøà w } è ñíèçèòüñÿ {êëàâèøà s}   ');

textcolor(Green);

ch:=readkey;

end;

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÑÏÈÑÎÊ ËÈÒÅÐÀÒÓÐÛ

 

1. Ôàðîíîâ Â. Òóðáî Ïàñêàëü 7.0. Íà÷àëüíûé êóðñ. Ó÷åáíîå ïîñîáèå. – Ì: èçäàòåëüñòâî «Íîëèäæ», 1998.

2. Ìåæåííûé Î.À. Ñàìîó÷èòåëü Turbo Pascal. – Ì: èçäàòåëüñòâî «Äèàëåêòèêà», 2004.

3. Íèêîëàåâ À.Á. Òóðáî Ïàñêàëü â ïðèìåðàõ.- Ì:èçäàòåëüñòâî «Ïðîñâåùåíèå», 2002.

Ôåäåðàëüíîå àãåíòñòâî ïî îáðàçîâàíèþ ×ÈÒÈÍÑÊÈÉ ÃÎÑÓÄÀÐÑÒÂÅÍÍÛÉ ÓÍÈÂÅÐÑÈÒÅÒ ÝÍÅÐÃÅÒÈ×ÅÑÊÈÉ ÈÍÑÒÈÒÓÒ Ôàêóëüòåò ýêîíîìèêè è èíôîðìàòèêè Êàôåäðà ÈÂÒ è ÏÌ Êóðñîâàÿ ðàáîòà

 

 

 

Âíèìàíèå! Ïðåäñòàâëåííàÿ Êóðñîâàÿ ðàáîòà íàõîäèòñÿ â îòêðûòîì äîñòóïå â ñåòè Èíòåðíåò, è óæå íåîäíîêðàòíî ñäàâàëàñü, âîçìîæíî, äàæå â òâîåì ó÷åáíîì çàâåäåíèè.
Ñîâåòóåì íå ðèñêîâàòü. Óçíàé, ñêîëüêî ñòîèò àáñîëþòíî óíèêàëüíàÿ Êóðñîâàÿ ðàáîòà ïî òâîåé òåìå:

Íîâîñòè îáðàçîâàíèÿ è íàóêè

Çàêàçàòü óíèêàëüíóþ ðàáîòó

Ïîõîæèå ðàáîòû:

Èçãîòîâëåíèå ïå÷àòíîãî ìîäóëÿ ñðåäñòâàìè ÑÀÏÐ êîíñòðóêòîðñêî-òåõíîëîãè÷åñêîãî íàçíà÷åíèÿ
Èçìåðåíèå íèçêîýíåðãåòè÷åñêèõ y–êâàíòîâ. Ñïåêòðîìåòðèÿ ÊÕ–y–èçëó÷åíèÿ
Èçìåðèòåëü ðàñõîäà òîïëèâà
Èçìåðèòåëüíûå òåõíîëîãèè, èõ èñïîëüçîâàíèå è ðàçâèòèå
Èìïóëüñíûé áëîê ïèòàíèÿ
Èíäèâèäóàëüíûé ïðèåì ïðîãðàìì ñïóòíèêîâîãî âåùàíèÿ
Èíòåëëåêòóàëüíûé àíàëîãîâî-öèôðîâîé ïðåîáðàçîâàòåëü
Èíôîðìàöèîííàÿ áåçîïàñíîñòü â ñåòÿõ Wi-Fi
Èíôîðìàöèîííàÿ çàùèùåííîñòü âîëîêîííî-îïòè÷åñêèõ ëèíèé ñâÿçè
Èíôîðìàöèîííàÿ ñèñòåìà ïðåäïðèÿòèÿ

Ñâîè ñäàííûå ñòóäåí÷åñêèå ðàáîòû

ïðèñûëàéòå íàì íà e-mail

Client@Stud-Baza.ru