Pascal/Turbo Pascal - como hacer para mover algo con la libreria graph en pascal

   
Vista:

como hacer para mover algo con la libreria graph en pascal

Publicado por Manuel (12 intervenciones) el 05/11/2013 04:12:12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
PROGRAM GALAXY;
USES CRT,GRAPH;
VAR
modo,driver:integer;
X,Y:WORD;
mov:char;
begin
	Driver := VGA;
	Modo := VGAHi;
	InitGraph(Driver, Modo, 'C:FPC');
	X:=325;Y:=380;
	rectangle(630,400,10,50); {cuadro del juego}
	repeat
	outtextxy(X,Y,'O');
	mov:=readkey;
	if (x>0) and (x<620) then
  if (mov='M') then
		x:=x+50;
		outtextxy(X,Y,'O');
		clrscr;
IF (X>1)
then
if (mov='K')
	then
		x:=x-50;
		outtextxy(X,Y,'O');
		clrscr;
until(mov='s');
end.


No se mueve la Pelota!... -!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

como hacer para mover algo con la libreria graph en pascal

Publicado por Franco Sanguedolce (32 intervenciones) el 05/11/2013 05:11:57
prueba con cambiar la unidad CRT a WINCRT...

ademas en tu codigo usas clrscr... esta funcion es solo en modo texto, para hacerlo en modo grafico debes usar ClearDevice... :D que tengas suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como hacer para mover algo con la libreria graph en pascal

Publicado por ramon (2072 intervenciones) el 05/11/2013 13:37:18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{Si estas usando free pascal 2.6 mira esto es el cambio que tienes que realizar}
 
program linea;
 uses
    wincrt, graph;
  var
    drive, modo : integer;
    move : char;
    x, y : integer;
 
  begin
      drive := detect;
      initgraph(drive, modo,'c:\tp\bgi'); {ponlo a tu direccion}
      if graphresult <> 0 then
      halt(1)
   else
      begin
         x := 10;  {posicion de la linea en x}
         y := getmaxy - 20; {posicion de la linea en y}
         setcolor(15);
         line(x,y,x + 10,y); {dibujamos linea}
     repeat
        move := readkey;
        setcolor(0);       {borramos linea}
        line(x,y,x + 10,y);
      if move = #75 then
      begin
          x := x - 10; {para mas rapido incrementa y decrementa x en o mas: 10}
          if x < 10 then
          x := 10;
      end;
      if move = #77 then
      begin
          x := x + 10;
          if x > getmaxx - 15 then
          x := getmaxx - 15;
      end;
         setcolor(15);    {dibujamos en nueva posicion}
         line(x,y,x + 10,y);
     until move = #27;  {tecla [esc] termina}
     closegraph;
    end;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como hacer para mover algo con la libreria graph en pascal

Publicado por Manuel (12 intervenciones) el 05/11/2013 15:25:40
getmaxx , es el maximo valor que puede aver en ese eje?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como hacer para mover algo con la libreria graph en pascal

Publicado por Franco Sanguedolce (32 intervenciones) el 06/11/2013 07:42:26
las funciones getmaxx y getmaxy te devuelven el maximo valor del eje correspondiente, con getx y gety obtienes la posicion actual del cursor y con moveto(x,y) mueves el cursor hacia la posicion que quieras, aclaro SOLO MUEVE EL CURSOR! lo que podrias hacer es usar moveto(x,y) y outtext(string) para dibujar a tu antojo el 'O'; ahora si lo que estas queriedo programar es un juego, te recomiendo que busques mas informacion y leas bastante sobre el mod grafico de pascal, ya que la libreria graph de pascal no trae funciones muy orientadas a la programacion de juegos, puedes crearte algunos muy sencillos como eh hecho yo :P pero mejor es usar lenguaje C con la libreria allegro;

te deseo la mejor de las suertes :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

como hacer para mover algo con la libreria graph en pascal

Publicado por Manuel (12 intervenciones) el 06/11/2013 17:15:23
Gracias lo que pasa, es que recien hace 1 mes mas o menos empece.. y es el proyect para poder aprobar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como hacer para mover algo con la libreria graph en pascal

Publicado por ramon (2072 intervenciones) el 06/11/2013 13:48:15
Si pero fíjate que solo es para que el gráfico en este caso la linea no pase de hay no realiza otra misión.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar