23.01.2009, 17:28 | #1 (permalink) |
Новичок
Регистрация: 23.01.2009
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Крестики-нолики
Вот сам код: Код:
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 | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|