Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 23.01.2009, 17:28   #1 (permalink)
mgadan
Новичок
 
Регистрация: 23.01.2009
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Крестики-нолики

У меня одна проблема!!((В общем я написал саму игру но у меня тут одно задание!!!Мне нужно чтоб выигрышная строка(А вернее элементы выигрышной строки(крестики или нолики))съезжала вниз!Знаю что можно сделать это через процедуру 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.
mgadan вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 00:50.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.