Martes 12 de Noviembre de 2024, 21:29
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
juego de la vibora, solo me falta que coma y crezca, ayudenm
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: juego de la vibora, solo me falta que coma y crezca, ayudenm (Leído 1802 veces)
LuisMiguelF
Nuevo Miembro
Mensajes: 2
Nacionalidad:
juego de la vibora, solo me falta que coma y crezca, ayudenm
«
en:
Martes 14 de Junio de 2011, 04:47 »
0
program Proyecto;
uses crt;
const
LARGO=10;
ANCHO=15;
MAX_TAM=20;
type
serpiente=record
tam:integer;
fil:array [1..MAX_TAM] of integer;
col:array [1..MAX_TAM] of integer;
end;
direccion=(izq,der,ar,ab);
var
culebra:serpiente;
lector:char;
procedure dibujar_marco(x:integer;y:integer);
var
j,i:integer;
begin
for i:=x-1 to x+ANCHO+1 do
for j:=y-1 to y+LARGO+1 do
if( (i=x-1) or (j=y-1) or (i=x+ANCHO+1) or (j=y+LARGO+1)) then
begin
gotoxy(i,j);
textcolor(12);
writeln('°');
end;
end;
procedure limpiar_rastro(var cul:serpiente);
var
i,j:integer;
begin
gotoxy(cul.fil[cul.tam],cul.col[cul.tam]);
write(' ');
end;
procedure desplazar(var cul:serpiente; nfil:integer; ncol:integer);
var
i,j,aux:integer;
begin
for i:=cul.tam downto 1 do
if( (i<>1))then
begin
aux:=cul.fil[i-1];
cul.fil
:=aux;
aux:=cul.col[i-1];
cul.col
:=aux;
end;
cul.fil[1]:=nfil;
cul.col[1]:=ncol;
end;
procedure refrescar_serpiente(var cul:serpiente);
var
i:integer;
begin
for i:=1 to cul.tam do
begin
gotoxy(cul.fil
,cul.col
);
textcolor(14);
write('*')
end;
end;
procedure avanzar(pos:direccion;var cul:serpiente);
begin
limpiar_rastro(cul);
if(pos=ar)then
begin
desplazar(cul,cul.fil[1],cul.col[1]-1);
end;
if(pos=ab)then
begin
desplazar(cul,cul.fil[1],cul.col[1]+1);
end;
if(pos=der) then
begin
desplazar(cul,cul.fil[1]+1,cul.col[1]);
end;
if(pos=izq) then
begin
desplazar(cul,cul.fil[1]-1,cul.col[1]);
end;
refrescar_serpiente(cul);
end;
procedure comida;
var
x,y:integer;
begin
x:=45;
y:=10;
gotoxy(x,y);
textcolor(14);
write('*');
END;
procedure veneno;
begin
randomize;
begin
gotoxy(36,10);
textcolor(green);
write('+');
end;
end;
procedure menu;
var
lector:char;
BEGIN
lector:='a';
while(lector<>'f')do
begin
clrscr;
textcolor(14);
gotoxy(30,5);
writeln('1.-jugar');
lector:=readkey;
clrscr;
if(lector='1')then
begin
clrscr;
gotoxy(30,5);
textcolor(14);
writeln('1.-elegir niveles');
lector:=readkey;
end;
if(lector='1')then
begin
clrscr;
gotoxy(30,5);
textcolor(14);
writeln('1.- Facil');
gotoxy(30,6);
writeln('2.- Medio');
gotoxy(30,7);
writeln('3.- Dificil');
lector:=readkey;
if (lector='1') then
begin
clrscr;
dibujar_marco(35,5);
culebra.fil[1]:=40;
culebra.col[1]:=9;
culebra.fil[2]:=40;
culebra.col[2]:=10;
culebra.fil[3]:=40;
culebra.col[3]:=11;
culebra.fil[4]:=40;
culebra.col[4]:=12;
culebra.fil[5]:=40;
culebra.col[5]:=13;
culebra.tam:=2;
refrescar_serpiente(culebra);
while(not false)do
begin
lector:=readkey;
if(lector='w')then
avanzar(ar,culebra);
if(lector='s')then
avanzar(ab,culebra);
if(lector='a')then
avanzar(izq,culebra);
if(lector='d')then
avanzar(der,culebra);
comida;
veneno;
end;
lector:=readkey;
end;
if (lector='2') then
begin
clrscr;
dibujar_marco(35,5);
culebra.fil[1]:=40;
culebra.col[1]:=9;
culebra.fil[2]:=40;
culebra.col[2]:=10;
culebra.fil[3]:=40;
culebra.col[3]:=11;
culebra.fil[4]:=40;
culebra.col[4]:=12;
culebra.fil[5]:=40;
culebra.col[5]:=13;
culebra.tam:=2;
refrescar_serpiente(culebra);
while(not false)do
begin
lector:=readkey;
if(lector='w')then
avanzar(ar,culebra);
if(lector='s')then
avanzar(ab,culebra);
if(lector='a')then
avanzar(izq,culebra);
if(lector='d')then
avanzar(der,culebra);
comida;
veneno;
end;
lector:=readkey;
end;
end;
if (lector='3') then
begin
clrscr;
dibujar_marco(35,5);
culebra.fil[1]:=40;
culebra.col[1]:=9;
culebra.fil[2]:=40;
culebra.col[2]:=10;
culebra.fil[3]:=40;
culebra.col[3]:=11;
culebra.fil[4]:=40;
culebra.col[4]:=12;
culebra.fil[5]:=40;
culebra.col[5]:=13;
culebra.tam:=2;
refrescar_serpiente(culebra);
while(not false)do
begin
lector:=readkey;
if(lector='w')then
avanzar(ar,culebra);
if(lector='s')then
avanzar(ab,culebra);
if(lector='a')then
avanzar(izq,culebra);
if(lector='d')then
avanzar(der,culebra);
comida;
veneno;
end;
lector:=readkey;
end;
end;
end;
begin
menu;
end.
Tweet
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
juego de la vibora, solo me falta que coma y crezca, ayudenm