Sábado 21 de Diciembre de 2024, 11:14
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
»
Pong En Pascal
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Pong En Pascal (Leído 1852 veces)
LautaroMedrano
Nuevo Miembro
Mensajes: 1
Pong En Pascal
«
en:
Viernes 20 de Junio de 2008, 17:41 »
0
Buenas, hace cerca de dos meses empezé la carrera de Análisis de Sistemas, y empezaron enseñando algo de Pascal, la cosa es que me puse a buscar por Internet info para aprender más y me dieron ganas de hacer un par de jueguitos, como por ejemplo, el Pong que estoy intentando hacer ahora, pero tiene un problema que es que no me lee las teclas para mover los jugadores.
Parece como que el readkey no funciona en modo gráfico, así que les dejo el código a ver si alguien me puede ayudar un poco con este tema.
Ya sé que tiene otros errores el programa, como por ejemplo cuando choca con las paredes laterales pero eso lo soluciono después.
Código: Text
Program Pong;
Uses crt,graph;
{*------------------------------Procedimientos--------------------------------*}
Procedure Dibujar_Jugador(x:integer;y:integer);
Begin
setfillstyle(solidfill,white);
bar(x-6,y-15,x+6,y+15);
End;
Procedure Borrar_Jugador(x,y:integer);
Begin
setfillstyle(solidfill,green);
bar(x-6,y-15,x+6,y+15);
End;
Procedure Dibujar_Bola(xb,yb:integer);
Begin
setfillstyle(solidfill,red);
fillellipse(xb,yb,10,10);
End;
Procedure Borrar_Bola(xb,yb:integer);
Begin
setfillstyle(solidfill,green);
bar(xb-10,yb-10,xb+10,yb+10);
End;
{------------------------------------------------------------------------------}
Var x1,y1,x2,y2,xb,yb,movx,movy:integer;
tec:byte;
gd,gm:smallint;
pathtodriver:string;
Begin
{*---------------------Inicializacion de variables-----------------------*}
x1:=207;
y1:=340;
x2:=793;
y2:=340;
xb:=500;
yb:=340;
{*-------------------Inicialización del modo Gráfico---------------------*}
gd:=detect; { highest possible resolution }
gm:=0; { not needed, auto detection }
PathToDriver:='C:PPBGI';
Initgraph(gd,gm,pathtodriver);
{*--------------------Inicialización de posiciones-----------------------*}
setfillstyle(solidfill,green);
bar(200,140,800,540);
Dibujar_Jugador(x1,y1);
Dibujar_Jugador(x2,y2);
{*----------------Inicialización de movimiento de la bola----------------*}
if random(2)=1 then movx:=10 //Inicialización de
else movx:=-10; //dirección del
if random(2)=1 then movy:=10 //movimiento aleatoriamente
else movy:=-10;
{*-----------------------------------------------------------------------*}
repeat
if (yb=150)or(yb=530) then movy:=-movy; //La bola choca los bordes?
if (xb=210)and((yb>=y1-10)or(yb<=y1+10))then movx:=-movx; //Choca las
if (xb=790)and((yb>=y2-10)or(yb<=y2+10))then movx:=-movx; //paletas?
if keypressed then
begin
tec:=ord(readkey);
if (tec=ord('w')) and (y1>55) then
begin
Borrar_Jugador(x1,y1);
y1:=y1-1;
Dibujar_Jugador(x1,y1);
end
else
if (tec=ord('s')) and (y1<525) then
begin
Borrar_Jugador(x1,y1);
y1:=y1+1;
Dibujar_Jugador(x1,y1);
end;
end;
Borrar_Bola(xb,yb);
xb:=xb+movx; //Movimiento de la bola
yb:=yb+movy;
Dibujar_Bola(xb,yb);
delay(100);
until (xb=209)or(xb=791);
End.
Tweet
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
Pong En Pascal