Помощь в написании студенческих работ
Антистрессовый сервис

Список литературы. 
Игра "Крестики-нолики"

РефератПомощь в написанииУзнать стоимостьмоей работы

Outtextxy (xKnob+lengthKnob/2+spaceKnob*2+lengthKnob*2−7,yKnob+spaceKnob*3+widthKnob*3+widthKnob/2−5," U"); Outtextxy (xKnob+lengthKnob/2+spaceKnob*2+lengthKnob*2−7,yKnob+spaceKnob*2+widthKnob*2+widthKnob/2−5," O"); Outtextxy (Xupravlemie+4,Yupravlemie+widthKnoBypr/2−8+probel_upravleni*2+widthKnoBypr*2," Flied 45×45″); Line (fieldsX+kletka/2+kletka*q-d, fieldsY+kletka*p… Читать ещё >

Список литературы. Игра "Крестики-нолики" (реферат, курсовая, диплом, контрольная)

  • 1. Мирошниченко Е. А. и др. Программирование на языке С++. Часть II. Учебное пособие/ Н. В. Триханова, Е. А. Мирошниченко. — Томск: Изд. ТПУ, 2001. — 118с.
  • 2. Костюк Ю. Л. Основы алгоритмизации: Учебное пособие. / Ю. Л. Костюк. — Томск: Изд. ТГУ, 1996. — 124с.
  • 3. Бондарев В. М. и др. Основы программирования. / В. М. Бондарев, В. И. Рублинецкий, Е. Г. Качко. / Худож.-оформитель С. А. Пяткова. — Харьков: Фолио; Ростов н/Д: Феникс, 1997. — 368с.
  • 4. Вирт Н. Алгоритмы и структуры данных. / Н. Вирт. — М.: Мир, 1989. — 310с.:ил.
  • 5. Рейзлин В. И. Программирование на языке высокого уровня: учебник http://ad.cctpu.edu.ru/cpp/Textbook.htm

ЛИСТИНГ ПРОГРАММЫ

#include.

#include.

#include.

#include.

#include.

#include.

#include.

class kletka_pust.

{.

protected:

int fieldsX, fieldsY;

int s;

public:

kletka_pust (){};

kletka_pust (int x1, int y1).

{.

fieldsX=x1;

fieldsY=y1;

}.

~kletka_pust (void).

{.

}.

virtual void paint (int g, int h, int iSizeFl).

{.

}.

};

class kletka_cross:kletka_pust.

{.

public:

kletka_cross (){};

kletka_cross (int x1, int y1).

{.

fieldsX=x1;

fieldsY=y1;

}.

kletka_cross:~kletka_cross (void).

{.

}.

void paint (int g, int h, int iSizeFl).

{.

int t=0;

int kletka = 450/iSizeFl;

setcolor (1);

if (iSizeFl≠45).

{.

do.

{.

line (fieldsX+kletka*(g-1)+t, fieldsY+kletka*(h-1), fieldsX+kletka*g, fieldsY+kletka*h-t);

line (fieldsX+kletka*(g-1), fieldsY+kletka*h-t, fieldsX+kletka*g-t, fieldsY+kletka*(h-1));

line (fieldsX+kletka*(g-1), fieldsY+kletka*(h-1)+t, fieldsX+kletka*g-t, fieldsY+kletka*h);

line (fieldsX+kletka*(g-1)+t, fieldsY+kletka*h, fieldsX+kletka*g, fieldsY+kletka*(h-1)+t);

t++;

}while (t≠5);

}.

else.

do.

{.

line (fieldsX+kletka*(g-1)+t, fieldsY+kletka*(h-1), fieldsX+kletka*g, fieldsY+kletka*h-t);

line (fieldsX+kletka*(g-1), fieldsY+kletka*h-t, fieldsX+kletka*g-t, fieldsY+kletka*(h-1));

line (fieldsX+kletka*(g-1), fieldsY+kletka*(h-1)+t, fieldsX+kletka*g-t, fieldsY+kletka*h);

line (fieldsX+kletka*(g-1)+t, fieldsY+kletka*h, fieldsX+kletka*g, fieldsY+kletka*(h-1)+t);

t++;

}while (t≠2);

setcolor (9);

}.

};

class kletka_nolik:kletka_pust.

{ public:

kletka_nolik (){};

kletka_nolik (int x1, int y1).

{.

fieldsX=x1;

fieldsY=y1;

}.

kletka_nolik:~kletka_nolik (void).

{.

}.

void paint (int g, int h, int iSizeFl).

{.

int t=0;

int kletka = 450/iSizeFl;

setcolor (13);

do.

{.

circle (fieldsX+(kletka)*(g-0.5), fieldsY+(kletka)*(h-0.5), kletka/2−5+t);

circle (fieldsX+(kletka)*(g-0.5), fieldsY+(kletka)*(h-0.5), kletka/2−5-t);

t++;

}while (t≠5);

setcolor (9);

}.

};

class pair.

{.

public:

int X, Y;

friend pair& operator ++ (pair&);

pair ().

{.

X=40; Y=10;

}.

~pair () {};

};

pair& operator ++ (pair& P).

{.

P.Y=P.Y+30;

P.X=P.X+10;

return P;

}.

class common.

{.

public:

int i, j, x, y, button, n, q, just, d, countTie, e;

int MenuXm;

int MenuYm ;

int LongMenum;

int WidthMenum;

int CountMenum;

int SpaceMenum;

int lengthKnob;

int widthKnob;

int quantilyKnobWi;

int quantilyKnobLe;

int spaceKnob;

int xKnob;

int yKnob;

int xWin;

int yWin;

int lengthWin;

int widthWin;

int MenuXau;

int MenuYau;

int LongMenuAu;

int WidthMenuAu;

int SpaceMenuAu;

int fieldsX;

int fieldsY ;

int menuX, menuY;

int Longmenu;

int widthmenu;

int space;

int endcikl, p, a, count, max;

int length[10];

char nick[10][10];

int winer[10];

char buf[10];

char buf1[10];

int length_buf;

char old_nick[10];

char new_nick[10];

int length_old_nick;

int wins_old_nick;

int length_new_nick;

int win_new_nick;

int place, finish;

int k, l, n1, n2, n3, u, Finish, probel;

int ASCII;

char back_buf[1];

int type_of_nick;

int number;

int win_comp;

int tie;

int w, er, kletka;

int iSizeFl;

int vixod2;

int znak;

int i0, j0,exitFor, AllMax0, AllMaxX, maxX, countX, count0, exitMark;

char chArrPie[45][45];

int iArrVes0[45][45];

int iArrVesX[45][45];

int win, winZnak, way;

int vixod4, gor, vert, diag, pdiag, proverka2, for_break;

common ().

{.

LongMenum = 160;

WidthMenum = 60;

CountMenum = 4;

SpaceMenum = 10;

lengthKnob = 68;

widthKnob = 32;

quantilyKnobWi = 4;

quantilyKnobLe = 6;

spaceKnob = 10;

xKnob = 91;

yKnob = 200;

xWin = 220;

yWin =100;

lengthWin = 200;

widthWin = 20;

MenuXau = 190;

MenuYau = 240;

LongMenuAu = 260;

WidthMenuAu = 60;

SpaceMenuAu = 30;

fieldsX = 95;

fieldsY = 15;

menuX=5, menuY=30;

Longmenu=95;

widthmenu=30;

space=10;

MenuXm=240;

MenuYm = 60;

endcikl=0, p, a, count=0,max=0;

length[10];

win_new_nick=0;

place = 0;

u=0;

finish = 0;

probel=0;

ASCII=0;

type_of_nick;

number =2;

win_comp=0;

tie=0;

iSizeFl=5;

vixod2=1;

znak = 1;

i0,j0,exitFor=0,AllMax0,AllMaxX, maxX, countX, count0, exitMark;

vixod4=0;

gor=0;

vert=0;

diag=0;

pdiag=0;

proverka2;

endcikl=0; count=0;max=0;

length_old_nick=0;

wins_old_nick=0;

length_new_nick=0;

win_new_nick=0;

place = 0;

k=0;

n1=0;

n2=0; n3=0;u=0; Finish = 0;probel=0;

ASCII=0;

type_of_nick=0;

number =2;

win_comp=0;

tie=0;

w=0;er=0;kletka=0;

iSizeFl=5;

vixod2=1;

znak = 1;

i0=0;j0=0;exitFor=0;AllMax0=0;AllMaxX=0;maxX=0; countX=0;count0=0;exitMark=0;

win=0;winZnak=0;way=0;

vixod4=0;gor=0;vert=0;diag=0;pdiag=0;proverka2=0;for_break=0;

}.

~common (void) {};

/*************************************************************************/.

void inilization_graph ().

{.

int gdriver = DETECT, gmode, errorcode;

initgraph (&gdriver, &gmode, «EGAVGA.bgi»);

errorcode = graphresult ();

if (errorcode ≠ grOk).

{.

printf («Graphics error: %s «, grapherrormsg (errorcode));

printf («Press any key to halt:»);

getch ();

exit (1);

}.

}.

/*************************************************************************/.

void mouse (int mode).

{.

_AX = mode;

geninterrupt (0×33);

}.

void mov_mouse (int mode2).

{.

do.

{.

_AX=mode2;

geninterrupt (0×33);

x=_CX;

y=_DX;

button=_BL ;

}.

while (button == 0);

}.

void resize ().

{.

_AX = 7;

_CX = 0;

_DX = 640;

geninterrupt (0×33);

_AX = 8;

_CX = 0;

_DX = 480;

geninterrupt (0×33);

}.

/*************************************************************************/.

void chose_fl ().

{.

just=0;

const int Xupravlemie = 230;

const int Yupravlemie = 110;

const int kolishestvo = 4;

const int longKnoBypr= 180;

const int widthKnoBypr= 60;

const int probel_upravleni=10;

int q, obchee, eZxxxit=1;

inilization_graph ();

do.

{.

cleardevice ();

setbkcolor (7);

setfillstyle (1,14);

setcolor (9);

obchee=probel_upravleni*(kolishestvo-1)+widthKnoBypr*kolishestvo;

for (i=0;i.

{.

mouse (2);

bar (Xupravlemie, Yupravlemie+i, Xupravlemie+longKnoBypr, Yupravlemie+widthKnoBypr+i);

mouse (1);

}.

settextstyle (0,0,3);

outtextxy (Xupravlemie-75,Yupravlemie+widthKnoBypr/2−5-100," Choose Flied");

settextstyle (0,0,2);

outtextxy (Xupravlemie+4,Yupravlemie+widthKnoBypr/2−8," Flied 9×9″);

outtextxy (Xupravlemie+4,Yupravlemie+widthKnoBypr/2−8+widthKnoBypr+probel_upravleni," Flied 15×15″);

outtextxy (Xupravlemie+4,Yupravlemie+widthKnoBypr/2−8+probel_upravleni*2+widthKnoBypr*2," Flied 45×45″);

outtextxy (Xupravlemie+4,Yupravlemie+widthKnoBypr/2−8+probel_upravleni*3+widthKnoBypr*3," Exit main");

settextstyle (0,0,0);

delay (200);

mouse (1);

mov_mouse (3);

for (q = 1; q <= kolishestvo; q++).

if ((y > (Yupravlemie+probel_upravleni*(q-1)+widthKnoBypr*(q-1)))&&(y Xupravlemie)&&(x.

if (q==1) {iSizeFl=9;eZxxxit=0;}.

if (q==2) {iSizeFl=15;eZxxxit=0;}.

if (q==3) {iSizeFl=45;eZxxxit=0;}.

if (q==4) {just=1;return;}.

}.

while (eZxxxit==1);

}.

/*************************************************************************/.

void save (int wins_old_nick, int win_new_nick).

{.

ifstream f («data.txt»);

f >> n;

for (i = 0; i.

{.

f >> length[i];

if (length[i]>max) max=length[i];

for (j = 0; j < length[i]; j++).

f>>nick[i][j];

}.

for (i = 0; i.

{.

f>> winer[i];

}.

if (type_of_nick==0).

{.

for (i = 0; i.

{.

if (length[i]==length_old_nick).

for (j = 0; j < length[i]; j++).

if (nick[i][j]==old_nick[j]) count++;

if (count==length_old_nick).

{.

winer[i]=winer[i]+wins_old_nick;

}.

}.

ofstream fl («data.txt»);

fl<

fl<<' ';

for (i=0;i.

{.

fl << length[i];

if (length[i]>max) max=length[i];

for (j = 0; j < length[i]; j++).

fl<

fl<<' ';

}.

for (i = 0; i.

{<…

if ((y>(fieldsY+(j-1)*kletka))&&(y<(fieldsY+j*kletka))) break;

}.

while ((iiSizeFl)||(jiSizeFl));

if ((i≠iSizeFl+1)&&(j≠iSizeFl+1)).

{.

chArrPie[i-1][j-1]='1';

znak=1;

mouse (2);

if (znak==1).

{.

kletka_cross cr (fieldsX, fieldsY);

cr.paint (i, j, iSizeFl);

}else.

{.

kletka_nolik kr (fieldsX, fieldsY);

kr.paint (i, j, iSizeFl);

}.

//paint (znak, i, j);

mouse (1);

}.

}.

while (u≠2);

proverka=1;

do.

{.

exitFor=0;

do.

{.

AllMax0=0;AllMaxX=0;

for (i=0; i.

for (j=0; j.

{.

iArrVes0[i][j]=0;

iArrVesX[i][j]=0;

}.

for (i=0; i.

{.

for (j=0; j.

{.

max=0;count=0; maxX=0;countX=0;

if ((exitFor==0)&&(chArrPie[i][j]=='2')&&((chArrPie[i][j-1]=='0')||(chArrPie[i][j+1]=='0'))).

{.

if ((chArrPie[i][j-1]=='0')&&(j≠0)).

{.

l=j-1;

do.

{.

count++;

l—;

}.

while ((chArrPie[i][l]=='0'));

}.

else.

{.

if (j≠iSizeFl-1).

{.

l=j+1;

do.

{.

count++;

l++;

}.

while ((chArrPie[i][l]=='0'));

}.

}.

}.

if ((exitFor==0)&&(chArrPie[i][j]=='2')&&((chArrPie[i][j-1]=='1')||(chArrPie[i][j+1]=='1'))).

{.

if ((chArrPie[i][j-1]=='1')&&(j≠0)).

{.

l=j-1;

do.

{.

countX++;

l—;

}.

while ((chArrPie[i][l]=='1'));

}.

else.

{.

if (j≠iSizeFl-1).

{.

l=j+1;

do.

{.

countX++;

l++;

}.

while ((chArrPie[i][l]=='1'));

}.

}.

}.

if (count>max) max=count;

if (countX>maxX) maxX=countX;

if (count==4) exitFor=1;

count=0;countX=0;

if ((exitFor==0)&&(chArrPie[i][j]=='2')&&((chArrPie[i-1][j]=='0')||(chArrPie[i+1][j]=='0'))).

{.

if ((chArrPie[i-1][j]=='0')&&(i≠0)).

{.

l=i-1;

do.

{.

count++;

l—;

}.

while ((chArrPie[l][j]=='0'));

}.

else.

{.

if (i≠iSizeFl-1).

{.

l=i+1;

do.

{.

count++;

l++;

}.

while ((chArrPie[l][j]=='0'));

}.

}.

}.

if ((exitFor==0)&&(chArrPie[i][j]=='2')&&((chArrPie[i-1][j]=='1')||(chArrPie[i+1][j]=='1'))).

{.

if ((chArrPie[i-1][j]=='1')&&(i≠0)).

{.

l=i-1;

do.

{.

countX++;

l—;

}.

while ((chArrPie[l][j]=='1'));

}.

else.

{.

if (i≠iSizeFl-1).

{.

l=i+1;

do.

{.

countX++;

l++;

}.

while ((chArrPie[l][j]=='1'));

}.

}.

}.

if (count>max) max=count;

if (countX>maxX) maxX=countX;

if (count==4) exitFor=1;

count=0;countX=0;

if ((exitFor==0)&&(chArrPie[i][j]=='2')&&((chArrPie[i-1][j-1]=='0')||(chArrPie[i+1][j+1]=='0'))).

{.

if ((chArrPie[i-1][j-1]=='0')&&(j≠0)).

{.

l=j-1;k=i-1;

do.

{.

count++;

l—;

k—;

}.

while ((chArrPie[k][l]=='0'));

}.

else.

{.

if (i≠iSizeFl-1).

{.

l=j+1;k=i+1;

do.

{.

count++;

l++;

k++;

}.

while ((chArrPie[k][l]=='0'));

}.

}.

}.

if ((exitFor==0)&&(chArrPie[i][j]=='2')&&((chArrPie[i-1][j-1]=='1')||(chArrPie[i+1][j+1]=='1'))).

{.

if ((chArrPie[i-1][j-1]=='1')&&(j≠0)).

{.

l=j-1;k=i-1;

do.

{.

countX++;

l—;

k—;

}.

while ((chArrPie[k][l]=='1'));

}.

else.

{.

if (i≠iSizeFl-1).

{.

l=j+1;k=i+1;

do.

{.

countX++;

l++;

k++;

}.

while ((chArrPie[k][l]=='1'));

}.

}.

}.

if (count>max) max=count;

if (countX>maxX) maxX=countX;

if (count==4) exitFor=1;

count=0;countX=0;

if ((exitFor==0)&&(chArrPie[i][j]=='2')&&((chArrPie[i+1][j-1]=='0')||(chArrPie[i-1][j+1]=='0'))).

{.

if ((chArrPie[i+1][j-1]=='0')&&(j≠0)).

{.

l=j-1;k=i+1;

do.

{.

count++;

k++;

l—;

}.

while ((chArrPie[k][l]=='0'));

}.

else.

{.

if (j≠iSizeFl-1).

{.

l=j+1;k=i-1;

do.

{.

count++;

l++;

k—;

}.

while ((chArrPie[k][l]=='0'));

}.

}.

}.

if ((exitFor==0)&&(chArrPie[i][j]=='2')&&((chArrPie[i+1][j-1]=='1')||(chArrPie[i-1][j+1]=='1'))).

{.

if ((chArrPie[i+1][j-1]=='1')&&(j≠0)).

{.

l=j-1;k=i+1;

do.

{.

countX++;

k++;

l—;

}.

while ((chArrPie[k][l]=='1'));

}.

else.

{.

if (j≠iSizeFl-1).

{.

l=j+1;k=i-1;

do.

{.

countX++;

l++;

k—;

}.

while ((chArrPie[k][l]=='1'));

}.

}.

}.

if (count>max) max=count;

if (countX>maxX) maxX=countX;

if (count==4) exitFor=1;

count=0; countX=0;

iArrVes0[i][j]=max;

if (max>AllMax0)AllMax0=max;

iArrVesX[i][j]=maxX;

if (maxX>AllMaxX)AllMaxX=maxX;

if (exitFor==1) break;

}.

if (exitFor==1) break;

}.

exitMark=1; way=0;

for (i=0; i.

{.

for (j=0; j.

if ((iArrVesX[i][j]==AllMaxX)&&(AllMaxX==4)&&(exitMark==1)&&(chArrPie[i][j]=='2')).

{.

chArrPie[i][j]='0';

exitMark=0;

way=1;

znak=0;

mouse (2);

if (znak==1).

{.

kletka_cross cr (fieldsX, fieldsY);

cr.paint (i+1,j+1,iSizeFl);

}else.

{.

kletka_nolik kr (fieldsX, fieldsY);

kr.paint (i+1,j+1,iSizeFl);

}.

//paint (znak, i+1,j+1);

mouse (1);

count0=0;for_break=0;gor=0;vert=0;diag=0;pdiag=0;

for (q=0;q.

{.

for (p=0;p.

{.

if (chArrPie[q][p]=='0').

{.

count0=0;

l=p+1;

do.

{.

count0++;

l++;

}.

while ((chArrPie[q][l]=='0'));

if (count0==4).

{.

for_break=1;

gor=1;

break;

}.

count0=0;

l=q+1;

do.

{.

count0++;

l++;

}.

while ((chArrPie[l][p]=='0'));

if (count0==4).

{.

for_break=1;

vert=1;

break;

}.

count0=0;

l=p+1;k=q+1;

do.

{.

count0++;

l++;

k++;

}.

while ((chArrPie[k][l]=='0'));

if (count0==4).

{.

for_break=1;

diag=1;

break;

}.

count0=0;

l=p+1;k=q-1;

do.

{.

count0++;

l++;

k—;

}.

while ((chArrPie[k][l]=='0'));

if (count0==4).

{.

for_break=1;

pdiag=1;

break;

}.

}.

}.

if (for_break==1)break;

}.

if (count0==4).

{.

mouse (2);

setcolor (4);

d=0;

if (vert==1).

do.

{.

line (fieldsX+kletka*q, fieldsY+kletka*p+kletka/2,fieldsX+kletka*q+kletka*5,fieldsY+kletka*p+kletka/2);

d++;

}.

while (d≠3);

if (gor==1).

do.

{.

line (fieldsX+kletka/2+kletka*q, fieldsY+kletka*p, fieldsX+kletka/2+kletka*q, fieldsY+kletka*p+kletka*5);

d++;

}.

while (d≠3);

if (diag==1).

do.

{.

line (fieldsX+kletka*q, fieldsY+kletka*p, fieldsX+kletka*q+kletka*5,fieldsY+kletka*p+kletka*5);

d++;

}.

while (d≠3);

if (pdiag==1).

do.

{.

line (fieldsX+kletka*(q+1), fieldsY+kletka*p, fieldsX+kletka*(q+1)-kletka*5,fieldsY+kletka*p+kletka*5);

d++;

}.

while (d≠3);

setcolor (9);

mouse (1);

exitFor=1;

winZnak=0;

}.

}.

//if (exitMark==0)break;

}.

if (way≠1).

{.

for (i=0; i.

for (j=0; j.

if ((iArrVes0[i][j]==AllMax0)&&(exitMark==1)&&(chArrPie[i][j]=='2')).

{.

chArrPie[i][j]='0';

exitMark=0;

znak=0;

mouse (2);

if (znak==1).

{.

kletka_cross cr (fieldsX, fieldsY);

cr.paint (i+1,j+1,iSizeFl);

}else.

{.

kletka_nolik kr (fieldsX, fieldsY);

kr.paint (i+1,j+1,iSizeFl);

}.

//paint (znak, i+1,j+1);

mouse (1);

}.

count0=0;for_break=0;gor=0;vert=0;diag=0;pdiag=0;

for (q=0;q.

{.

for (p=0;p.

{.

if (chArrPie[q][p]=='0').

{.

count0=0;

l=p+1;

do.

{.

count0++;

l++;

}.

while ((chArrPie[q][l]=='0'));

if (count0==4).

{.

for_break=1;

gor=1;

break;

}.

count0=0;

l=q+1;

do.

{.

count0++;

l++;

}.

while ((chArrPie[l][p]=='0'));

if (count0==4).

{.

for_break=1;

vert=1;

break;

}.

count0=0;

l=p+1;k=q+1;

do.

{.

count0++;

l++;

k++;

}.

while ((chArrPie[k][l]=='0'));

if (count0==4).

{.

for_break=1;

diag=1;

break;

}.

count0=0;

l=p+1;k=q-1;

do.

{.

count0++;

l++;

k—;

}.

while ((chArrPie[k][l]=='0'));

if (count0==4).

{.

for_break=1;

pdiag=1;

break;

}.

}.

}.

if (for_break==1)break;

}.

if (count0==4).

{.

mouse (2);

setcolor (4);

d=0;

if (vert==1).

do.

{.

line (fieldsX+kletka*q, fieldsY+kletka*p+kletka/2+d, fieldsX+kletka*q+kletka*5,fieldsY+kletka*p+kletka/2+d);

line (fieldsX+kletka*q, fieldsY+kletka*p+kletka/2-d, fieldsX+kletka*q+kletka*5,fieldsY+kletka*p+kletka/2-d);

d++;

}.

while (d≠3);

if (gor==1).

do.

{.

line (fieldsX+kletka/2+kletka*q+d, fieldsY+kletka*p, fieldsX+kletka/2+kletka*q+d, fieldsY+kletka*p+kletka*5);

line (fieldsX+kletka/2+kletka*q-d, fieldsY+kletka*p, fieldsX+kletka/2+kletka*q-d, fieldsY+kletka*p+kletka*5);

d++;

}.

while (d≠3);

if (diag==1).

do.

{.

line (fieldsX+kletka*q, fieldsY+kletka*p+d, fieldsX+kletka*q+kletka*5,fieldsY+kletka*p+kletka*5+d);

line (fieldsX+kletka*q, fieldsY+kletka*p-d, fieldsX+kletka*q+kletka*5,fieldsY+kletka*p+kletka*5-d);

d++;

}.

while (d≠3);

if (pdiag==1).

do.

{.

line (fieldsX+kletka*(q+1), fieldsY+kletka*p+d, fieldsX+kletka*(q+1)-kletka*5,fieldsY+kletka*p+kletka*5+d);

line (fieldsX+kletka*(q+1), fieldsY+kletka*p-d, fieldsX+kletka*(q+1)-kletka*5,fieldsY+kletka*p+kletka*5-d);

d++;

}.

while (d≠3);

setcolor (9);

mouse (1);

exitFor=1;

winZnak=0;

}.

}.

if (exitFor==0).

{.

delay (200);

mouse (1);

cikl=0;

do.

{.

for (er=1;er<=3;er++).

{.

if ((x>menuX)&&(xmenuY+widthmenu*(er-1)+space*(er-1))&&(y.

}.

if (er==2).

{.

mouse (2);

save (wins_old_nick, win_new_nick);

outtextxy (640-fieldsX+8,fieldsY+40+100," You save!");;

delay (1000);

setfillstyle (1,15);

bar (640-fieldsX+w+3,fieldsY+100,640-fieldsX+w+5+80,200);

cikl=1;

mouse (1);

}else (cikl=0);

if (er==3) {cleardevice ();return;vixod2=0;}.

}while (cikl==1);

do.

{.

mov_mouse (3);

for (i=1;i<=iSizeFl;i++).

if ((x>(fieldsX+(i-1)*kletka))&&(x<(fieldsX+i*kletka))) break;

for (j=1;j<=iSizeFl;j++).

if ((y>(fieldsY+(j-1)*kletka))&&(y<(fieldsY+j*kletka))) break;

}.

while ((iiSizeFl)||(jiSizeFl));

if ((i≠iSizeFl+1)&&(j≠iSizeFl+1)).

{.

chArrPie[i-1][j-1]='1';

znak=1;

mouse (2);

if (znak==1).

{.

kletka_cross cr (fieldsX, fieldsY);

cr.paint (i, j, iSizeFl);

}else.

{.

kletka_nolik kr (fieldsX, fieldsY);

kr.paint (i, j, iSizeFl);

}.

//paint (znak, i, j);

mouse (1);

}.

countX=0;for_break=0;gor=0;vert=0;diag=0;pdiag=0;

for (q=0;q.

{.

for (p=0;p.

{.

if (chArrPie[q][p]=='1').

{.

countX=0;

l=p+1;

do.

{.

countX++;

l++;

}.

while ((chArrPie[q][l]=='1'));

if (countX==4).

{.

for_break=1;

gor=1;

break;

}.

countX=0;

l=q+1;

do.

{.

countX++;

l++;

}.

while ((chArrPie[l][p]=='1'));

if (countX==4).

{.

for_break=1;

vert=1;

break;

}.

countX=0;

l=p+1;k=q+1;

do.

{.

countX++;

l++;

k++;

}.

while ((chArrPie[k][l]=='1'));

if (countX==4).

{.

for_break=1;

diag=1;

break;

}.

countX=0;

l=p+1;k=q-1;

do.

{.

countX++;

l++;

k—;

}.

while ((chArrPie[k][l]=='1'));

if (countX==4).

{.

for_break=1;

pdiag=1;

break;

}.

}.

}.

if (for_break==1)break;

}.

if (countX==4).

{.

mouse (2);

setcolor (4);

d=0;

if (vert==1).

do.

{.

line (fieldsX+kletka*q, fieldsY+kletka*p+kletka/2+d, fieldsX+kletka*q+kletka*5,fieldsY+kletka*p+kletka/2+d);

line (fieldsX+kletka*q, fieldsY+kletka*p+kletka/2-d, fieldsX+kletka*q+kletka*5,fieldsY+kletka*p+kletka/2-d);

d++;

}.

while (d≠3);

if (gor==1).

do.

{.

line (fieldsX+kletka/2+kletka*q+d, fieldsY+kletka*p, fieldsX+kletka/2+kletka*q+d, fieldsY+kletka*p+kletka*5);

line (fieldsX+kletka/2+kletka*q-d, fieldsY+kletka*p, fieldsX+kletka/2+kletka*q-d, fieldsY+kletka*p+kletka*5);

d++;

}.

while (d≠3);

if (diag==1).

do.

{.

line (fieldsX+kletka*q, fieldsY+kletka*p+d, fieldsX+kletka*q+kletka*5,fieldsY+kletka*p+kletka*5+d);

line (fieldsX+kletka*q, fieldsY+kletka*p-d, fieldsX+kletka*q+kletka*5,fieldsY+kletka*p+kletka*5-d);

d++;

}.

while (d≠3);

if (pdiag==1).

do.

{.

line (fieldsX+kletka*(q+1), fieldsY+kletka*p+d, fieldsX+kletka*(q+1)-kletka*5,fieldsY+kletka*p+kletka*5+d);

line (fieldsX+kletka*(q+1), fieldsY+kletka*p-d, fieldsX+kletka*(q+1)-kletka*5,fieldsY+kletka*p+kletka*5-d);

d++;

}.

while (d≠3);

setcolor (9);

mouse (1);

exitFor=1;

winZnak=1;

}.

}.

countTie=0;

for (w=0;w.

for (e=0;e.

if (chArrPie[w][e]=='2') countTie++;

if (countTie<10).

{.

exitFor=1;

winZnak=3;

}.

}.

while (exitFor==0);

if (exitFor==1)proverka=0;

if (winZnak==1).

{.

if (type_of_nick==0)wins_old_nick++;

if (type_of_nick==1)win_new_nick++;

setcolor (4);

outtextxy (640-fieldsX+15,fieldsY+40+100," You win!");

delay (2000);

proverka=0;

}.

if (winZnak==0).

{.

win_comp++;

setcolor (4);

outtextxy (640-fieldsX+10,fieldsY+40+100," You lose!");

delay (2000);

proverka=0;

}.

if (winZnak==3).

{.

tie++;

setcolor (4);

outtextxy (640-fieldsX+10,fieldsY+40+100," Tie!");

delay (2000);

proverka=0;

}.

}.

while (proverka==1);

}.

}.

while (vixod2==1);

}.

/****************************************************************************/.

void swap (int s, int d).

{.

char bufer;

int t, k;

t = s;

s = d;

d = t;

winer[i] = s;

winer[i+1] = d;

for (k=0; k<10; k++).

{.

bufer = ' ';

}.

for (k=0; k<10; k++).

{.

bufer=nick[i][k];

nick[i][k]=nick[i+1][k];

nick[i+1][k]=bufer;

}.

t=length[i+1];

length[i+1] = length[i] ;

length[i]=t;

}.

/*—————————————————————————————————————*/.

void record ().

{.

const int menuXr=5, menuYr=30;

const int Longmenur=95;

const int widthmenur=30;

const int spacer=10;

char out[50];

int t, w, step, vixod3=0;

int x1=450, y1=250, x2=550, y2=350;

int dirx = -1, diry = -1;

int k = 10;

int dt = 10;

int maxx = getmaxx (), maxy = getmaxy ();

cleardevice ();

delay (100);

while (!kbhit ()).

{.

delay (dt);

if (x1 = maxx) dirx = -dirx;

if (y1 = maxy) diry = -diry;

setcolor (11);

setfillstyle (1, 9);

bar (x1,y1,x2,y2);

x1 += dirx *k;

x2 += dirx *k;

y1 += diry *k;

y2 += diry *k;

setcolor (5);

settextstyle (0,0,5);

outtextxy (100,200," RECORD");

setfillstyle (7, 5);

bar (x1,y1,x2,y2);

line (0, 0, maxx, 0);

line (0, 0, 0, maxy);

line (maxx, maxy, 0, maxy);

line (maxx, maxy, maxx, 0);

setcolor (1);

setfillstyle (1, 0);

settextstyle (0,0,1);

outtextxy (220,440," To continue, press any key");

}.

cleardevice ();

setbkcolor (7);

setfillstyle (1,14);

mouse (2);

bar (menuXr, menuYr, menuXr-15+Longmenur, menuYr+widthmenur);

settextstyle (0,0,1);

setcolor (9);

outtextxy (menuXr+3,menuYr+widthmenur/2−3," Exit main");

setcolor (1);

settextstyle (0,0,3);

outtextxy (menuXr+Longmenur+10,menuYr," The records of game:");

setfillstyle (7,8);

bar (40,70,100+510,100+380);

setfillstyle (7,9);

bar (50,80,100+500,100+370);

setfillstyle (1,1);

bar (57,87,100+493,100+363);

setfillstyle (1,11);

bar (60,90,100+490,100+360);

mouse (1);

for (i = 0; i < 10; i++).

for (j = 0; j < 10; j++).

{.

nick[i][j]=' ';

winer[i]=0;

}.

ifstream f («data.txt»);

f >> n;

for (i = 0; i.

{.

f >> length[i];

for (j = 0; j < length[i]; j++).

f>>nick[i][j];

}.

for (i = 0; i.

{.

f>> winer[i];

}.

for (j=0; j.

for (i=0; i.

if (winer[i] < winer[i+1]) swap (winer[i], winer[i+1]);

t=0;w=0;step=40;

for (i = 0; i.

{.

if ((winer[i]==winer[i+1])&&(i≠n-1)).

{.

for (j=0; j<10; j++).

{.

if (int (nick[i][j]) > int (nick[i+1][j])).

{.

for (k=0; k<10; k++).

{.

buf[k] = nick[i+1][k];

nick[i+1][k] = nick[i][k];

nick[i][k] = buf[k];

}.

length_buf = length[i];

length[i] = length[i+1];

length[i+1] = length_buf;

break;

}.

}.

}.

w=0;

for (j = 0; j.

{.

back_buf[1]='x0';

back_buf[0]=nick[i][j];

setcolor (8);

settextstyle (0,0,2);

outtextxy (100+w, 100+t, back_buf);

w+=20;

}.

sprintf (out," %d", winer[i]);

setcolor (1);

settextstyle (0,0,2);

outtextxy (250,100+t, out);

t+=20;

}.

mouse (1);

do.

{.

mov_mouse (3);

if ((x>menuXr)&&(xmenuYr)&&(y< menuYr+widthmenur)) return;

sound (80);

delay (100);

nosound ();

}.

while (vixod3==0);

}.

/****************************************************************************/.

void spravka ().

{.

int vixod3=0;

int midx, midy;

int r=50;

int x1=450, y1=250, x2=550, y2=350;

int dirx = -1, diry = -1;

int k = 10;

int dt = 10;

int maxx = getmaxx (), maxy = getmaxy ();

const int menuXs=5, menuYs=30;

const int Longmenus=95;

const int widthmenus=30;

const int spaces=10;

int vixod2=0;

cleardevice ();

delay (100);

while (!kbhit ()).

{.

delay (dt);

if (x1 = maxx) dirx = -dirx;

if (y1 = maxy) diry = -diry;

setcolor (11);

setfillstyle (1, 9);

bar (x1,y1,x2,y2);

x1 += dirx *k;

x2 += dirx *k;

y1 += diry *k;

y2 += diry *k;

setcolor (5);

settextstyle (0,0,5);

outtextxy (20,200," ABOUT THIS GAME");

setfillstyle (7, 5);

bar (x1,y1,x2,y2);

line (0, 0, maxx, 0);

line (0, 0, 0, maxy);

line (maxx, maxy, 0, maxy);

line (maxx, maxy, maxx, 0);

setcolor (1);

setfillstyle (1, 0);

settextstyle (0,0,1);

outtextxy (220,440," To continue, press any key");

}.

cleardevice ();

mouse (2);

setbkcolor (7);

setfillstyle (1,14);

bar (menuXs, menuYs, menuXs+Longmenus-15,menuYs+widthmenus);

settextstyle (0,0,1);

setcolor (9);

outtextxy (menuXs+4,menuYs+widthmenus/2−3," Exit main");

setfillstyle (7,8);

bar (130,5,640,480);

setfillstyle (7,9);

bar (140,15,630,470);

setfillstyle (1,1);

bar (147,22,623,463);

setfillstyle (1,11);

bar (150,25,620,460);

setcolor (1);

settextstyle (0,0,2);

outtextxy (170,70," About the game and the rule «);

i=0;

FILE *file;

char* file_name="data1.txt" ;

char load_string[256] ;

file = fopen (file_name," r");

if (file ≠ 0).

{.

do.

{.

fgets (load_string, 256, file);

load_string[sizeof (load_string)-1]=' ';

setcolor (8);

settextstyle (0,0,1);

outtextxy (150,60+i, load_string);

i=i+20;

}.

while (!feof (file));

}.

mouse (1);

do.

{.

mouse (1);

mov_mouse (3);

if ((x>menuXs)&&(xmenuYs)&&(y< menuYs+widthmenus)) return;

}.

while (vixod2==0);

}.

/****************************************************************************/.

void find (int length_new_nick).

{.

ifstream f («data.txt»);

f >> n;

for (i = 0; i.

{.

f >> length[i];

if (length[i]>max) max=length[i];

for (j = 0; j < length[i]; j++).

f>>nick[i][j];

}.

for (i = 0; i.

{.

f>> winer[i];

}.

for (i = 0; i.

{.

if (length[i]==length_new_nick).

for (j = 0; j < length[i]; j++).

if (nick[i][j]==new_nick[j]) count++;

}.

if (count==length_new_nick).

{.

cleardevice ();

setbkcolor (7);

setcolor (4);

settextstyle (0,0,2);

outtextxy (160,50," Please choose other nick.");

settextstyle (0,0,1);

outtextxy (180,70," Please press enter.");

endcikl=1;

getch ();

}.

else endcikl=0;

}.

/*—————————————————————————————————————*/.

void enter (int authoriz).

{.

do.

{.

//endcikl=0;

mouse (2);

Finish=0;

u=0;

probel=0;

for (i=0; i< 10; i++) new_nick[i]=' ';

cleardevice ();

setbkcolor (7);

setfillstyle (1,14);

n1 = widthKnob * quantilyKnobWi + (quantilyKnobWi-1) * spaceKnob;

n2 = lengthKnob * quantilyKnobLe + (quantilyKnobLe-1) * spaceKnob;

for (j = 0; j < n1; j+=spaceKnob + widthKnob).

for (i = 0; i < n2; i+=spaceKnob + lengthKnob).

bar (xKnob + i, yKnob + j, xKnob + lengthKnob + i, yKnob + widthKnob + j);

bar (xKnob, yKnob+spaceKnob*4+widthKnob*4, xKnob + lengthKnob, yKnob +spaceKnob*4+widthKnob*5);

bar (xKnob+spaceKnob+lengthKnob, yKnob+spaceKnob*4+widthKnob*4, xKnob+spaceKnob+lengthKnob + lengthKnob, yKnob +spaceKnob*4+widthKnob*5);

bar (xKnob, yKnob+spaceKnob*5+widthKnob*5, xKnob+lengthKnob*2+spaceKnob, yKnob +spaceKnob*5+widthKnob*6);

bar (xKnob+2*spaceKnob+2*lengthKnob, yKnob+spaceKnob*5+widthKnob*5, xKnob+lengthKnob*3+2*spaceKnob, yKnob +spaceKnob*5+widthKnob*6);

setfillstyle (1,15);

bar (xWin, yWin, xWin+lengthWin, yWin+widthWin);

setcolor (9);

settextstyle (0,0,2);

outtextxy (xKnob+lengthKnob/2−7,yKnob+widthKnob/2−5," A");

outtextxy (xKnob+lengthKnob/2+spaceKnob+lengthKnob-7,yKnob+widthKnob/2−5," B");

outtextxy (xKnob+lengthKnob/2+spaceKnob*2+lengthKnob*2−7,yKnob+widthKnob/2−5," C");

outtextxy (xKnob+lengthKnob/2+spaceKnob*3+lengthKnob*3−7,yKnob+widthKnob/2−5," D");

outtextxy (xKnob+lengthKnob/2+spaceKnob*4+lengthKnob*4−7,yKnob+widthKnob/2−5," E");

outtextxy (xKnob+lengthKnob/2+spaceKnob*5+lengthKnob*5−7,yKnob+widthKnob/2−5," F");

outtextxy (xKnob+lengthKnob/2−7,yKnob+spaceKnob+widthKnob+widthKnob/2−5," G");

outtextxy (xKnob+lengthKnob/2+spaceKnob+lengthKnob-7,yKnob+spaceKnob+widthKnob+widthKnob/2−5," H");

outtextxy (xKnob+lengthKnob/2+spaceKnob*2+lengthKnob*2−7,yKnob+spaceKnob+widthKnob+widthKnob/2−5," I");

outtextxy (xKnob+lengthKnob/2+spaceKnob*3+lengthKnob*3−7,yKnob+spaceKnob+widthKnob+widthKnob/2−5," J");

outtextxy (xKnob+lengthKnob/2+spaceKnob*4+lengthKnob*4−7,yKnob+spaceKnob+widthKnob+widthKnob/2−5," K");

outtextxy (xKnob+lengthKnob/2+spaceKnob*5+lengthKnob*5−7,yKnob+spaceKnob+widthKnob+widthKnob/2−5," L");

outtextxy (xKnob+lengthKnob/2−7,yKnob+spaceKnob*2+widthKnob*2+widthKnob/2−5," M");

outtextxy (xKnob+lengthKnob/2+spaceKnob+lengthKnob-7,yKnob+spaceKnob*2+widthKnob*2+widthKnob/2−5," N");

outtextxy (xKnob+lengthKnob/2+spaceKnob*2+lengthKnob*2−7,yKnob+spaceKnob*2+widthKnob*2+widthKnob/2−5," O");

outtextxy (xKnob+lengthKnob/2+spaceKnob*3+lengthKnob*3−7,yKnob+spaceKnob*2+widthKnob*2+widthKnob/2−5," P");

outtextxy (xKnob+lengthKnob/2+spaceKnob*4+lengthKnob*4−7,yKnob+spaceKnob*2+widthKnob*2+widthKnob/2−5," Q");

outtextxy (xKnob+lengthKnob/2+spaceKnob*5+lengthKnob*5−7,yKnob+spaceKnob*2+widthKnob*2+widthKnob/2−5," R");

outtextxy (xKnob+lengthKnob/2−7,yKnob+spaceKnob*3+widthKnob*3+widthKnob/2−5," S");

outtextxy (xKnob+lengthKnob/2+spaceKnob+lengthKnob-7,yKnob+spaceKnob*3+widthKnob*3+widthKnob/2−5," T");

outtextxy (xKnob+lengthKnob/2+spaceKnob*2+lengthKnob*2−7,yKnob+spaceKnob*3+widthKnob*3+widthKnob/2−5," U");

outtextxy (xKnob+lengthKnob/2+spaceKnob*3+lengthKnob*3−7,yKnob+spaceKnob*3+widthKnob*3+widthKnob/2−5," V");

outtextxy (xKnob+lengthKnob/2+spaceKnob*4+lengthKnob*4−7,yKnob+spaceKnob*3+widthKnob*3+widthKnob/2−5," W");

outtextxy (xKnob+lengthKnob/2+spaceKnob*5+lengthKnob*5−7,yKnob+spaceKnob*3+widthKnob*3+widthKnob/2−5," X");

outtextxy (xKnob+lengthKnob/2−7,yKnob+spaceKnob*4+widthKnob*4+widthKnob/2−5," Y");

outtextxy (xKnob+lengthKnob/2+spaceKnob+lengthKnob-7,yKnob+spaceKnob*4+widthKnob*4+widthKnob/2−5," Z");

outtextxy (xKnob+2*spaceKnob+2*lengthKnob+lengthKnob/2−28,yKnob+spaceKnob*5+widthKnob*5+widthKnob/2−5," Back");

outtextxy (xKnob+lengthKnob/2−7,yKnob+spaceKnob*5+widthKnob*5+widthKnob/2−5," Finish");

mouse (1);

resize ();

u=0;

do.

{.

place = 0;

delay (250);

mouse (1);

mov_mouse (3);

for (j = 1; j <= quantilyKnobLe; j++).

if ((x (xKnob+lengthKnob*(j-1)+spaceKnob*(j-1)))) break;

for (i = 1; i <= quantilyKnobWi+i; i++).

if ((y > (yKnob+widthKnob*(i-1)+spaceKnob*(i-1)))&&(y < (yKnob+widthKnob*i+spaceKnob*(i-1)))) break;

if (((x > xKnob)&&(xyKnob+spaceKnob*5+widthKnob*5)&&(y.

{.

Finish=1;

}.

if (((x>xKnob+2*spaceKnob+2*lengthKnob)&&(xyKnob+spaceKnob*5+widthKnob*5)&&(y.

{.

setcolor (15);

u—;

if (authoriz==0) ASCII = int (old_nick[u]);

else ASCII = int (new_nick[u]);

back_buf[0] = char (ASCII);

new_nick[u]=' ';

probel-=16;

outtextxy (xWin+5+probel, yWin+3,back_buf);

setcolor (9);

}.

if (u<10).

{.

switch (i).

{.

case 1:

{.

switch (j).

{.

case 1:

{.

outtextxy (xWin+5+probel, yWin+3," A");

if (authoriz==0) old_nick[u]='A';

else new_nick[u]='A';

u++;

place = 1;

};break;

case 2:

{.

outtextxy (xWin+5+probel, yWin+3," B");

if (authoriz==0) old_nick[u]='B';

else new_nick[u]='B';

u++;

place = 1;

};break;

case 3:

{.

outtextxy (xWin+5+probel, yWin+3," C");

if (authoriz==0) old_nick[u]='C';

else new_nick[u]='C';

u++;

place = 1;

};break;

case 4:

{.

outtextxy (xWin+5+probel, yWin+3," D");

if (authoriz==0) old_nick[u]='D';

else new_nick[u]='D';

u++;

place = 1;

};break;

case 5:

{.

outtextxy (xWin+5+probel, yWin+3," E");

if (authoriz==0) old_nick[u]='E';

else new_nick[u]='E';

u++;

place = 1;

};break;

case 6:

{.

outtextxy (xWin+5+probel, yWin+3," F");

if (authoriz==0) old_nick[u]='F';

else new_nick[u]='F';

u++;

place = 1;

};break;

}.

};break;

case 2:

{.

switch (j).

{.

case 1:

{.

outtextxy (xWin+5+probel, yWin+3," G");

if (authoriz==0) old_nick[u]='G';

else new_nick[u]='G';

u++;

place = 1;

};break;

case 2:

{.

outtextxy (xWin+5+probel, yWin+3," H");

if (authoriz==0) old_nick[u]='H';

else new_nick[u]='H';

u++;

place = 1;

};break;

case 3:

{.

outtextxy (xWin+5+probel, yWin+3," I");

if (authoriz==0) old_nick[u]='I';

else new_nick[u]='I';

u++;

place = 1;

};break;

case 4:

{.

outtextxy (xWin+5+probel, yWin+3," J");

if (authoriz==0) old_nick[u]='J';

else new_nick[u]='J';

u++;

place = 1;

};break;

case 5:

{.

outtextxy (xWin+5+probel, yWin+3," K");

if (authoriz==0) old_nick[u]='K';

else new_nick[u]='K';

u++;

place = 1;

};break;

case 6:

{.

outtextxy (xWin+5+probel, yWin+3," L");

if (authoriz==0) old_nick[u]='L';

else new_nick[u]='L';

u++;

place = 1;

};break;

}.

};break;

case 3:

{ switch (j).

{.

case 1:

{.

outtextxy (xWin+5+probel, yWin+3," M");

if (authoriz==0) old_nick[u]='M';

else new_nick[u]='M';

u++;

place = 1;

};break;

case 2:

{.

outtextxy (xWin+5+probel, yWin+3," N");

if (authoriz==0) old_nick[u]='N';

else new_nick[u]='N';

u++;

place = 1;

};break;

case 3:

{.

outtextxy (xWin+5+probel, yWin+3," O");

if (authoriz==0) old_nick[u]='O';

else new_nick[u]='O';

u++;

place = 1;

};break;

case 4:

{.

outtextxy (xWin+5+probel, yWin+3," P");

if (authoriz==0) old_nick[u]='P';

else new_nick[u]='P';

u++;

place = 1;

};break;

case 5:

{.

outtextxy (xWin+5+probel, yWin+3," Q");

if (authoriz==0) old_nick[u]='Q';

else new_nick[u]='Q';

u++;

place = 1;

};break;

case 6:

{.

outtextxy (xWin+5+probel, yWin+3," R");

if (authoriz==0) old_nick[u]='R';

else new_nick[u]='R';

u++;

place = 1;

};break;

}.

};break;

case 4:

{ switch (j).

{.

case 1:

{.

outtextxy (xWin+5+probel, yWin+3," S");

if (authoriz==0) old_nick[u]='S';

else new_nick[u]='S';

u++;

place = 1;

};break;

case 2:

{.

outtextxy (xWin+5+probel, yWin+3," T");

if (authoriz==0) old_nick[u]='T';

else new_nick[u]='T';

u++;

place = 1;

};break;

case 3:

{.

outtextxy (xWin+5+probel, yWin+3," U");

if (authoriz==0) old_nick[u]='U';

else new_nick[u]='U';

u++;

place = 1;

};break;

case 4:

{.

outtextxy (xWin+5+probel, yWin+3," V");

if (authoriz==0) old_nick[u]='V';

else new_nick[u]='V';

u++;

place = 1;

};break;

case 5:

{.

outtextxy (xWin+5+probel, yWin+3," W");

if (authoriz==0) old_nick[u]='W';

else new_nick[u]='W';

u++;

place = 1;

};break;

case 6:

{.

outtextxy (xWin+5+probel, yWin+3," X");

if (authoriz==0) old_nick[u]='X';

else new_nick[u]='X';

u++;

place = 1;

};break;

}.

};break;

case 5:

{ switch (j).

{.

case 1:

{.

outtextxy (xWin+5+probel, yWin+3," Y");

if (authoriz==0) old_nick[u]='Y';

else new_nick[u]='Y';

u++;

place = 1;

};break;

case 2:

{.

outtextxy (xWin+5+probel, yWin+3," Z");

if (authoriz==0) old_nick[u]='Z';

else new_nick[u]='Z';

u++;

place = 1;

};break;

}.

};break;

}.

if (place == 1) probel+=16;

}.

}.

while (Finish==0);

if (authoriz==1)length_new_nick = u;

else length_old_nick=u;

if (authoriz==1).

find (u);

cleardevice ();

}.

while (endcikl==1);

}.

/*—————————————————————————————————————*/.

void registration ().

{.

cleardevice ();

setbkcolor (7);

settextstyle (0,0,3);

setcolor (1);

outtextxy (160,10," Authoriezation");

setfillstyle (1,14);

n = WidthMenuAu * number + (number-1) * SpaceMenuAu;

for (i = 0; i < n; i+=SpaceMenuAu+WidthMenuAu).

{.

mouse (2);

bar (MenuXau, MenuYau+i, MenuXau+LongMenuAu, MenuYau + WidthMenuAu +i);

mouse (1);

}.

settextstyle (0,0,2);

setcolor (9);

outtextxy (MenuXau+12,MenuYau+WidthMenuAu/2−5," Enter your nick");

outtextxy (MenuXau+20,MenuYau+WidthMenuAu/2−5+WidthMenuAu+SpaceMenuAu," Enter new nick");

resize ();

mouse (1);

mov_mouse (3);

sound (100);

delay (3);

sound (50);

nosound ();

for (i = 1; i <= number+i; i++).

if ((y > (MenuYau+WidthMenuAu*(i-1)+SpaceMenuAu*(i-1)))&&(y < (MenuYau+WidthMenuAu*i+SpaceMenuAu*(i-1)))) break;

if ((i==1)&&(x>MenuXau)&&(x.

if ((i==2)&&(x>MenuXau)&&(x.

}.

/****************************************************************************/.

void menu ().

{.

cleardevice ();

setbkcolor (7);

setfillstyle (1,14);

n = WidthMenum * CountMenum + (CountMenum-1) * SpaceMenum;

for (i = 0; i < n; i+=SpaceMenum+WidthMenum).

bar (MenuXm, MenuYm+i, MenuXm+LongMenum, MenuYm + WidthMenum +i);

setcolor (9);

settextstyle (0,0,2);

outtextxy (256,75," Begin");

outtextxy (256,75+(WidthMenum+SpaceMenum)," Record");

outtextxy (256,75+(WidthMenum+SpaceMenum)*2," About");

outtextxy (256,75+(WidthMenum+SpaceMenum)*3," Exit");

}.

/****************************************************************************/.

void privet ().

{.

cleardevice ();

setbkcolor (14);

for (int i=0;i<11;i++).

{.

setbkcolor (i);

sound (i+50);

delay (50);

sound (i*5);

delay (10);

sound (i*30);

delay (20);

settextstyle (i-1,0,6);

setcolor (i+2);

outtextxy (70,240," Tic-tac-toe");

if (i==10).

{.

cleardevice ();

setbkcolor (9);

setcolor (13);

settextstyle (0,0,3);

outtextxy (100,180," Welcome to the game");

settextstyle (0,0,1);

outtextxy (230,450," Please, press any key");

delay (100);

}.

cleardevice;

delay (400);

} nosound ();

/* settextstyle (0,0,3);

setbkcolor (9);

setcolor (13);

outtextxy (100,180," Welcome to the game");

settextstyle (0,0,6);

outtextxy (70,240," Tic-tac-toe");

settextstyle (0,0,1);

outtextxy (230,450," Please, press any key"); */.

for (i=100;i<1500;i*=4).

{.

sound (i);

delay (100);

i*=30;

sound (i);

delay (100);

i/=25;

sound (i);

delay (100);

sound (300);

delay (45);

sound (500);

delay (100);

sound (100);

delay (50);

sound (1500);

delay (40);

sound (350);

delay (80);

}.

sound (800);

delay (100);

for (i=30;i<2000;i*=10).

{.

sound (i);

delay (100);

i+=30;

sound (i);

delay (100);

i/=13;

sound (i);

delay (10);

i-=13;

sound (i);

delay (10);

i+=100;

sound (i);

delay (50);

i*=6;

sound (i);

delay (100);

sound (1000);

delay (50);

sound (500);

delay (10);

}.

sound (440);

delay (50);

sound (200);

delay (40);

sound (1500);

delay (30);

sound (10);

sound (5);

nosound ();

getch ();

}.

};

/****************************************************************************/.

void main ().

{.

common tic;

pair ob;

tic.inilization_graph ();

cleardevice ();

setbkcolor (15);

setcolor (8);

settextstyle (0,0,3);

outtextxy (ob.X, ob. Y," NATIONAL RESEARCH TOMSK");

++ob;

settextstyle (0,0,3);

outtextxy (ob.X, ob. Y," POLYTECHNIC UNIVERSITY");

settextstyle (0,0,2);

ob++;

outtextxy (ob.X+50,ob.Y," Institute of Cybernetics");

settextstyle (0,0,1);

ob++;

outtextxy (ob.X+58,ob.Y," Departament of Information Retrieval System");

settextstyle (0,0,6);

ob++;

outtextxy (ob.X-15,ob.Y+60," TIC-TAC-TOE");

settextstyle (0,0,1);

ob++;

outtextxy (ob.X+220,ob.Y+150," Made …

Показать весь текст
Заполнить форму текущей работой