Показать сообщение отдельно
  (#1 (permalink)) Старый
mgadan
Guest
 
Сообщений: n/a
По умолчанию крестики-Нолики собственно((( - 23.01.2009, 17:28

У меня одна проблема!!((В общем я написал саму игру но у меня тут одно задание!!!Мне нужно чтоб выигрышная строка(А вернее элементы выигрышной строки(крестики или нолики))съезжала вниз!Знаю что можно сделать это через процедуру DELAY()!!Но куда вбивать её ............... ))))Я новичок в программировании, поэтому очень надеюсь на вашу помощь!!!

Вот сам код:

Код:
program krestikinoliki;
uses crt;
var x,y,a,i,j,w,xmas,ymas,s:integer; 
c:char; 
mas:array[1..3,1..3] of integer;
begin
clrscr;
for i:=1 to 3 do
for j:=1 to 3 do
mas[i,j]:=5;
gotoxy(33,10); writeln('╔═══╦═══╦═══╗');
gotoxy(33,11); writeln('║     ║      ║     ║’);
gotoxy(33,12); writeln('╠═══╬═══╬═══╣’);
gotoxy(33,13); writeln('║     ║      ║     ║');
gotoxy(33,14); writeln('╠═══╬═══╬═══╣’);
gotoxy(33,15); writeln('║     ║      ║     ║');
gotoxy(33,16); writeln('╚═══╩═══╩═══╝');
gotoxy(35,11);
x:=35;
y:=11;
w:=1;
while c<>#27 do begin
c:=readkey;
if c=#0 then c:=readkey;
case c of
#77: begin gotoxy(x+4,y); x:=x+4; if x>43 then begin gotoxy(x-4,y); x:=x-4; end; end;
#80: begin gotoxy(x,y+2); y:=y+2; if y>15 then begin gotoxy(x,y-2); y:=y-2; end; end;
#72: begin gotoxy(x,y-2); y:=y-2; if y<11 then begin gotoxy(x,y+2); y:=y+2; end; end;
#75: begin gotoxy(x-4,y); x:=x-4; if x<35 then begin gotoxy(x+4,y); x:=x+4; end; end;
#32: begin if w mod 2 <> 0 then begin write('x'); s:=1; end
else begin write('0'); s:=0; end;  w:=w+1;
case x of
35: xmas:=1;
39: xmas:=2;
43: xmas:=3;
end;
case y of
11: ymas:=1;
13: ymas:=2;
15: ymas:=3;
end;
mas[ymas,xmas]:=s;
end;
end;
end;
gotoxy(35,17);
for i:=1 to 3 do begin
if (mas[i,1]=mas[i,2]) and (mas[i,1]=mas[i,3]) and (mas[i,1]<>5) then
if mas[i,1]=1 then
writeln('Victory-x')
else writeln('Victory-0');
end;

for i:=1 to 3 do begin
if (mas[1,i]=mas[2,i]) and (mas[1,i]=mas[3,i]) and (mas[1,i]<>5) then
if mas[1,i]=1 then
writeln('Victory-x')
else writeln('Victory-0');
end;

if (mas[1,1]=mas[2,2]) and (mas[2,2]=mas[3,3]) and (mas[1,1]<>5) then
if mas[1,1]=1 then
writeln('Victory-x')
else writeln('Victory-0');

if (mas[1,3]=mas[2,2]) and (mas[2,2]=mas[3,1]) and (mas[1,3]<>5) then
if mas[1,3]=1 then
writeln('Victory-x')
else writeln('Victory-0');
gotoxy(31,20);
readln
end;
end.
Ответить с цитированием
Ads