Basic - ´´Pregunta para expertos´´

 
Vista:

´´Pregunta para expertos´´

Publicado por Destructor (1 intervención) el 23/12/2000 00:00:00
Estoy intentando hacer un programa que muestre caracteres en lugares aleatorios de la pantalla.
Porbe con esto y no funciono:

REM Programa texto aleatorio
DIM x AS INTEGER
DIM y AS INTEGER
DIM i AS INTEGER
RANDOMIZE SQR(2)
FOR i = 1 TO 100
x = INT(RND * 10)
y = INT(RND * 10)
IF x < 0 THEN
x = 3
END IF
IF y < 0 THEN
y = 3
END IF
LOCATE y, x
PRINT "b"
NEXT i
END

Me dice que las variables que utilize en locate estan fuera de rango o que valen cero.
Esta probado en qbasic v 4.5 y vbdos, en ninguno funciona y muestran los mismos errores
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

RE:´´Pregunta para expertos´´

Publicado por Pedrto Amaro (10 intervenciones) el 27/12/2000 00:00:00
REM Programa texto aleatorio
DIM x AS INTEGER
DIM y AS INTEGER
DIM i AS INTEGER
RANDOMIZE TIMER ´ Da mas aleatoriedad
FOR i = 1 TO 100
´ la funcion RND retorna un valor entre 0 y 1 al
´ multiplicarlo por un numero podemos conseguir
´ un numero entre 0 y el numero -1 según tu
´ programa retornara valores entre 0 y 9 con la
´ ligera corrección te retorna valores entre 1 y 10
x = INT(RND * 10)+1
y = INT(RND * 10)+1
´ el locate no admite valores 0 como coordenadas
LOCATE y, x
PRINT "b"
NEXT
END

´ Suerte con el BASIC, y no dudes en consultar cualquier duda en este foro, aunque solo lo revise cada 15 dias, intento responder a todas la consultas.
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

RE:´´Pregunta para expertos´´

Publicado por ruben (2 intervenciones) el 29/01/2001 23:45:28
prueba con esto si quieres que aparezcan caracteres aleatorios en tu pantalla.

INICIO:
CLS
RANDOMIZE TIMER
DATA A,B,C,D,E,F,G,H,I,J
REM puedes poner todos los caracteres que te
REM interesen separados por comas
do
a=int(rnd*10)+1
rem aquí pongo 10 por que en el DATA tengo 10
rem caracteres, si te interesa poner más, pon
rem el número de caracteres que pongas
b=int(rnd*24)+1
c=int(rnd*80)+1
restore
for i=1 to a
read c$
next i
locate b,c:print c$
n$=inkey$(1)
loop until chr$(n$)=27
REM te generará caracteres en posiciones
aleatorias hasta que pulse la tecla escape.
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