Код
program igra;
uses crt;
const
left=#75; right=#77; up=#72; down=#80;
var
x, y,x2, y2, x3, y3, x4, y4, b: integer;
c: char;
b1, b2, b3, b4, b5, b6, b7, b8, b9: integer;
procedure boom;
begin
gotoxy(20,20);
textcolor(red);
writeln('*');
gotoxy(40,40);
textcolor(red);
writeln('*');
gotoxy(15,10);
textcolor(red);
writeln('*');
end;
procedure min;
begin
if x4=20 then b1:=1;
if y4=20 then b2:=1;
if x4=40 then b4:=2;
if y4=40 then b5:=2;
if x4=15 then b7:=3;
if y4=10 then b8:=3;
b3:=b1+b2;
b6:=b4+b5;
b9:=b7+b8;
if b3=2 then
begin
clrscr;
gotoxy(35,3);
writeln('You is DEAD!!!');
readkey;
halt;
end;
if b6=4 then
begin
clrscr;
gotoxy(35,3);
writeln('You is DEAD!!!');
readkey;
halt;
end;
if b7=6 then
begin
clrscr;
gotoxy(35,3);
writeln('You is DEAD!!!');
readkey;
halt;
end;
begin
begin
clrscr;
x:=5;
y:=1;
x2:=4;
y2:=2;
x3:=5;
y3:=3;
x4:=4;
y4:=4;
TEXTCOLOR(BLUE);
gotoxy(x,y);
write('O');
gotoxy(x2,y2);
write('XXX');
gotoxy(x3,y3);
write('X');
gotoxy(x4,y4);
write('X X');
boom;
min;
repeat
c:=readkey;
case c of
#0: case readkey of
left: begin
clrscr;
x:=x-1;
x2:=x2-1;
x3:=x3-1;
x4:=x4-1;
gotoxy(x,y);
write('O');
gotoxy(x2,y2);
write('XXX');
gotoxy(x3,y3);
write('X');
gotoxy(x4,y4);
write('X X');
boom;
min;
b:=b+1;
end;
right: begin
clrscr;
x:=x+1;
x2:=x2+1;
x3:=x3+1;
x4:=x4+1;
gotoxy(x,y);
write('O');
gotoxy(x2,y2);
write('XXX');
gotoxy(x3,y3);
write('X');
gotoxy(x4,y4);
write('X X');
boom;
min;
b:=b+1;
end;
up: begin
clrscr;
y:=y-1;
y2:=y2-1;
y3:=y3-1;
y4:=y4-1;
gotoxy(x,y);
write('O');
gotoxy(x2,y2);
write('XXX');
gotoxy(x3,y3);
write('X');
gotoxy(x4,y4);
write('X X');
boom;
min;
b:=b+1;
end;
down: begin
clrscr;
y:=y+1;
y2:=y2+1;
y3:=y3+1;
y4:=y4+1;
gotoxy(x,y);
write('O');
gotoxy(x2,y2);
write('XXX');
gotoxy(x3,y3);
write('X');
gotoxy(x4,y4);
write('X X');
boom;
min;
b:=b+1;
end;
end;
end;
until b=100;
readkey;
end.
uses crt;
const
left=#75; right=#77; up=#72; down=#80;
var
x, y,x2, y2, x3, y3, x4, y4, b: integer;
c: char;
b1, b2, b3, b4, b5, b6, b7, b8, b9: integer;
procedure boom;
begin
gotoxy(20,20);
textcolor(red);
writeln('*');
gotoxy(40,40);
textcolor(red);
writeln('*');
gotoxy(15,10);
textcolor(red);
writeln('*');
end;
procedure min;
begin
if x4=20 then b1:=1;
if y4=20 then b2:=1;
if x4=40 then b4:=2;
if y4=40 then b5:=2;
if x4=15 then b7:=3;
if y4=10 then b8:=3;
b3:=b1+b2;
b6:=b4+b5;
b9:=b7+b8;
if b3=2 then
begin
clrscr;
gotoxy(35,3);
writeln('You is DEAD!!!');
readkey;
halt;
end;
if b6=4 then
begin
clrscr;
gotoxy(35,3);
writeln('You is DEAD!!!');
readkey;
halt;
end;
if b7=6 then
begin
clrscr;
gotoxy(35,3);
writeln('You is DEAD!!!');
readkey;
halt;
end;
begin
begin
clrscr;
x:=5;
y:=1;
x2:=4;
y2:=2;
x3:=5;
y3:=3;
x4:=4;
y4:=4;
TEXTCOLOR(BLUE);
gotoxy(x,y);
write('O');
gotoxy(x2,y2);
write('XXX');
gotoxy(x3,y3);
write('X');
gotoxy(x4,y4);
write('X X');
boom;
min;
repeat
c:=readkey;
case c of
#0: case readkey of
left: begin
clrscr;
x:=x-1;
x2:=x2-1;
x3:=x3-1;
x4:=x4-1;
gotoxy(x,y);
write('O');
gotoxy(x2,y2);
write('XXX');
gotoxy(x3,y3);
write('X');
gotoxy(x4,y4);
write('X X');
boom;
min;
b:=b+1;
end;
right: begin
clrscr;
x:=x+1;
x2:=x2+1;
x3:=x3+1;
x4:=x4+1;
gotoxy(x,y);
write('O');
gotoxy(x2,y2);
write('XXX');
gotoxy(x3,y3);
write('X');
gotoxy(x4,y4);
write('X X');
boom;
min;
b:=b+1;
end;
up: begin
clrscr;
y:=y-1;
y2:=y2-1;
y3:=y3-1;
y4:=y4-1;
gotoxy(x,y);
write('O');
gotoxy(x2,y2);
write('XXX');
gotoxy(x3,y3);
write('X');
gotoxy(x4,y4);
write('X X');
boom;
min;
b:=b+1;
end;
down: begin
clrscr;
y:=y+1;
y2:=y2+1;
y3:=y3+1;
y4:=y4+1;
gotoxy(x,y);
write('O');
gotoxy(x2,y2);
write('XXX');
gotoxy(x3,y3);
write('X');
gotoxy(x4,y4);
write('X X');
boom;
min;
b:=b+1;
end;
end;
end;
until b=100;
readkey;
end.
Также есть несколько вопросов:
1. Можно ли упростить данный вариант кода, если ДА - то как?
2. Я задаю цвет "ЧЕЛА" синий, а мин красный- в начале все идет как надо, но затем все становится красным-почему и как это исправить?
Умоляю если кто нибудь знает ответ хоть на один из этих вопросов умоляю не держите в себе . Так же буду рад отзывам критике и пр.