Programando pantallas para QL

Subforo oficial del Sinclair QL: realiza aquí las consultas relativas a tu QL.

Moderador: Sir Cilve Sinclair

Programando pantallas para QL

Notapor badaman el Mar Oct 28, 2008 10:00 pm

Hablando con Radas, ha venido a mi memoria aquellos pequeños programas que publicaba QL World que lo único que hacían eran dibujar en la pantalla una imagen a base de instrucciones SuperBASIC, gracias a los potentes comandos gráficos de este lenguaje.

Os pongo un ejemplo de ello:

Imagen

Código: Seleccionar todo
1 MODE 0
2 OPEN#3,scr_512x256a0x0:PAPER#3,4:CLS#3
3 OPEN#4,scr_445x195a45x28:PAPER#4,0:CLS#4
4 PAPER 7,2,1:CLS:SCALE 200,0,0
5 write:sky
6 FILL 1:INK 2:CIRCLE 300,130,50
7 FILL 1:INK 4:LINE 0,100 TO 400,100 TO 400,0 TO 0,0 TO 0,100
8 FILL 0:INK 0
9 groud:mount:co=0:BORDER 1,0
10 FOR n=0 TO 152 STEP .5
11 n1=n/1.5
12 x=n1+n1*COS(n/104*PI)
13 a=n1+n1*SIN(n/52*PI)
14 b=n1-n1*COS(n/(26+x)*PI)
15 co=co+1:IF co=2 THEN c=4:co=0:ELSE c=2
16 FILL 1:INK c:CIRCLE 100+(a-n1),100+(b-n1),n/8
17 FILL 0:INK 0:CIRCLE 100+(a-n1),100+(b-n1),n/8
18 NEXT n
19 FILL 1:INK 7:CIRCLE 110,160,15,.8,RAD(0)
20 FILL 0:INK 0:CIRCLE 110,160,15,.8,RAD(0)
21 FILL 1:INK 7:CIRCLE 130,160,15,.8,RAD(0)
22 FILL 0:INK 0:CIRCLE 130,160,15,.8,RAD(0)
23 FILL 1:INK 0:CIRCLE 110,160,5,.8,RAD(0)
24 FILL 1:INK 0:CIRCLE 130,160,5,.8,RAD(0)
25 FILL 0:PAUSE
26 DEFine PROCedure mount
27 FOR loop=1 TO -5 STEP -1
28 FOR n=-30 TO 300 STEP 30
29 a=INT(RND(1 TO (loop+6)*10)):a=a+10+10*SIN(n/100*PI)
30 b=INT(RND(50 TO 100))
31 FILL 1:INK 2,0,INT(RND(0 TO 1)):LINE n,100+loop TO n+b/2,100+a+loop TO n+b,100+loop
32 FILL 0:INK 0:LINE n,100+loop TO n+b/2,100+a+loop TO n+b,100+loop
33 NEXT n
34 NEXT loop
35 END DEFine
36 DEFine PROCedure groud
37 FOR n=0 TO 300 STEP 10:LINE n,100 TO n*10-1200,0:NEXT n
38 FOR n=100 TO 80 STEP -2:LINE 0,n-((100-n)*(100-n)) TO 350,n-((100-n)*(100-n)):NEXT n
39 END DEFine
40 DEFine PROCedure sky
41 c=7:FOR n=1 TO 400:h=RND(100 TO 200):INK c:LINE RND((n/2) TO 350),h TO RND((n/2) TO 350),h:c=((c=7)*2)+((c=2)*7)
42 NEXT n:END DEFine
43 DEFine PROCedure write:CSIZE#0,2,0
44 FOR n=1 TO 8:CURSOR #0,60-20,20-n:INK #0,(n):OVER #0,1:PRINT #0,"Dedicated to 'NEW AGE' music":OVER #0,0:NEXT n
45 INK #0,4:END DEFine


¿Alguien llegó a hacer algo parecido en sus tiempos con el QL?

Nota: Desconozco el autor del programa en este momento. Lo buscaré en mis revistas.
Ultima edición por badaman el Mar Oct 28, 2008 11:34 pm, editado 1 vez en total
Sinclair QL, la respuesta profesional de los 80
Avatar de Usuario
badaman
Sabreman
 
Mensajes: 474
Registrado: Mar Ene 29, 2008 11:58 am

Re: Programando pantallas para QL

Notapor ron el Mar Oct 28, 2008 11:25 pm

Hola Bada, hay cantidad de ejemplos en los siguientes links:

A ver que te parecen.

ftp://ftp.uwasa.fi/ql/0nwsql94.txt
http://www.dilwyn.uk6.net/tk/index.html
http://garbo.uwasa.fi/ql/basprog.html

UN saludo
Avatar de Usuario
ron
rst 0
 
Mensajes: 18
Registrado: Mar Ago 05, 2008 4:47 pm

Re: Programando pantallas para QL

Notapor badaman el Mar Oct 28, 2008 11:40 pm

buen ojo ron.

El primer enlace es el indice del tercer enlaze. El tercer enlace contiene, como dices, algunos ejemplos, aunque muy básicos, de programas de demostración gráfica. Incluso hay un Worm.bas que es una versión previa del dibujo que pongo arriba del gusano.

El segundo enlace es un listado de extensiones al SuperBASIC, es decir, nuevos comandos para hacer mas cosas desde el lenguaje. Algunas de esas extensiones aportan nuevos comandos gŕaficos seguramente.
Sinclair QL, la respuesta profesional de los 80
Avatar de Usuario
badaman
Sabreman
 
Mensajes: 474
Registrado: Mar Ene 29, 2008 11:58 am

Re: Programando pantallas para QL

Notapor afx el Mie Oct 29, 2008 2:13 am

Estas son del libro "QL - Compendium" (de Martin Gandoff & Robert Kinge; Addison-Wesley, 1984)

Imagen

Código: Seleccionar todo
100 MODE 4
110 PAPER 0:CLS
120 ic = 0
130 SCALE 512, -200, -100
140 FOR n = 0 TO 900 STEP 8
150    z1=SIN(RAD(n))
160    z2=COS(RAD(n))
170    INK 3+ic
180    FILL 1
190    a = n/3
200    CIRCLE 255+a*z1, 80+a*z2,(n/8)
210    FILL 0
220    INK 0
230    CIRCLE 255+a*z1, 80+a*z2,(n/8)
240    ic = 1 - ic
250 NEXT n



Imagen

Código: Seleccionar todo
110 REMark Hart art
120 :
130 WINDOW #1,512,256,0,0
140 MODE 4
150 SCALE 256,0,0
160 PAPER 0
170 INK 7
180 CLS
190 FOR n = 0 TO 1100 STEP 8
200    z = SIN(RAD(n))
210    CIRCLE 180, 120+20*z, n/4, .9,0
220 NEXT n



Imagen

Código: Seleccionar todo
100 REMark ************
110 REMark * SATURNUS *
120 REMark ************
130 :
140 WINDOW#0,448,40,32,216
150 WINDOW#1,448,200,32,16
160 WINDOW#2,448,200,32,16
170 CLS#0:CLS#1:CLS#2
180 SCALE 100,0,0
190 :
200 saturnus
210 p_alkutila
220 :
230 DEFine PROCedure stars
240   PAPER 0
250   CLS
260   FOR i = 1 TO 300
270    INK RND(1 TO 7),RND(1 TO 7)
280    POINT RND(170),RND(170)
290   NEXT i
300 END DEFine stars
310 :
320 DEFine PROCedure saturnus
330   stars
340   FILL 1
350   INK 5,6
360   ARC 50,50 TO 100,50,PI
370   FILL 0
380   r=30
390   FOR j = 1 TO 3
400    FOR i = 1 TO 5
410     INK i+1,j
420     CIRCLE 75,50,r,.2,PI/2
430     r=r+2
440     NEXT i
450    NEXT j
460   FILL 1
470   INK 5,6
480   ARC 100,46 TO 50,46,PI
490   FILL 0
500   CSIZE 3,1
510   AT 0,3:PRINT "SATURNUS"
520 END DEFine saturnus
530 CSIZE 0,0
540 STOP
550 :
28000 DEFine PROCedure p_alkutila
28010  WINDOW#0,448,40,32,216
28020  WINDOW#1,448,200,32,16
28030  WINDOW#2,448,200,32,16
28040  PAPER#0,0:INK#0,7
28050  PAPER#1,2:INK#1,7
28060  PAPER#2,1:INK#2,7
28070  FILL 0:FLASH 0
28080  OVER 0:UNDER 0
28090  SCALE 100,0,0
28100 END DEFine p_alkutila
28110 :
32000 DEFine PROCedure resave (dr)
32010  LOCal a$:a$="saturn"
32020  IF dr=1:a$="mdv1_"&a$
32030  IF dr=2:a$="mdv2_"&a$
32040  DELETE a$:SAVE a$
32050  PRINT#0,"Saved"!a$
32060 END DEFine
afx
Sabreman
 
Mensajes: 396
Registrado: Dom Feb 24, 2008 11:56 pm

Re: Programando pantallas para QL

Notapor afx el Mie Oct 29, 2008 7:39 pm

Estos, si mal no recuerdo, estaban en ftp://ftp.uwasa.fi/ql/

Imagen

Código: Seleccionar todo
100 hires 6,1:a=8:s_block 20,20,300,180,1
110 FOR x=-7 TO 7
120  FOR y=-4 TO 4
130   v=1-2*((x && 1)+(y && 1) && 1)
140   r=SQRT(x*x+y*y)
150   s_block 159+20*x-a-v*r,99-20*y-a+v*r,160+20*x+a+v*r,100-20*y+a-v*r,0
160  END FOR y
170 END FOR x
180 :
10000 DEFine PROCedure s_block(x1%,y1%,x2%,y2%,z%)
10010  LOCal wl%,hl%,xl%,yl%,sk:sk=1.35
10020  IF x2%<x1% OR y2%<y1% THEN RETurn
10030  IF x1%>=320 OR y1%>200 THEN RETurn
10040  xl%=sk*x1%:yl%=y1%
10050  IF x2%<320 THEN
10060   wl%=INT(sk*(x2%-x1%)+.5)
10070   ELSE :wl%=INT(sk*(320-x1%)+.5):END IF
10080  IF y2%<200:hl%=y2%-y1%:ELSE :hl%=200-y1%:END IF
10090  BLOCK wl%,hl%,xl%,yl%,f_vari((z%))
10100 END DEFine s_block
10110 :
15000 DEFine PROCedure hires(etu%,taus%)
15010  MODE 8
15020  etuvari%=etu%:taustavari%=taus%
15030  WINDOW 512,256,0,0:PAPER 1:CLS
15040  WINDOW 430,200,41,16
15050  PAPER f_varikoodi((taus%)):CLS
15060  INK f_varikoodi((etu%))
15070  SCALE 200,0,0
15080 END DEFine hires
15090 :
15100 DEFine FuNction f_varikoodi(vari%)
15110  LOCal varil:varil=vari%
15120  SELect ON varil
15130   = 0:RETurn 0  :REMark black
15140   = 1:RETurn 7  :REMark white
15150   = 2:RETurn 2  :REMark red
15160   = 3:RETurn 5  :REMark cyan
15170   = 4:RETurn 202:REMark purple
15180   = 5:RETurn 4  :REMark green
15190   = 6:RETurn 1  :REMark blue
15200   = 7:RETurn 6  :REMark yellow
15210   = 8:RETurn 226:REMark orange
15220   = 9:RETurn 208:REMark brown
15230   =10:RETurn 234:REMark light red
15240   =11:RETurn 250:REMark grey 1
15250   =12:RETurn 248:REMark grey 2
15260   =13:RETurn 220:REMark light green
15270   =14:RETurn 5:REMark light blue
15280   =15:RETurn 206:REMark grey 3
15290   =REMAINDER :RETurn 0
15300  END SELect
15310 END DEFine f_varikoodi
15320 :
15330 DEFine FuNction f_vari(tapa%)
15340  LOCal tapal:tapal=tapa%
15350  SELect ON tapal
15360   =0:RETurn f_varikoodi((taustavari%))
15370   =1:RETurn f_varikoodi((etuvari%))
15380   =REMAINDER :RETurn f_varikoodi((etuvari%))
15390  END SELect
15400 END DEFine f_vari
15410 :
31000 DEFine PROCedure reset(i)
31010  LOCal il:MODE i
31020  WINDOW 513,256,0,0:PAPER 0:CLS
31030  OPEN#2,con_:WINDOW#2,448,200,32,16
31040  PAPER#2,1:INK#2,7
31050  WINDOW#0,448,40-(i=4),32,216+(i=4)
31060  WINDOW 448+8*(i=4),200+2*(i=4),32-4*(i=4),16-(i=4)
31070  PAPER 2*(i=8):BORDER (i=4),4*(i=4)
31080  FOR il=0,1,2:CSIZE#il,(i=4)+2*(i=8),0:END FOR il
31090  PAPER#0,0:INK#0,7-3*(i=0):INK 7:CLS
31100  SCALE 100,0,0:FILL 0
31110 END DEFine reset



Imagen

Código: Seleccionar todo
100 hires 0,1:s_block 160,0,319,200,1
110 FOR i=0 TO 7
120  x=10+20*i
130  FOR j=0 TO 9
140   y=10+20*j
150   IF (i+j) && 1 THEN GO TO 170
160   s_block x-3-i,y-3-i,x+3+i,y+3+1,1
170  END FOR j
180 END FOR i
190 :
200 FOR i=0 TO 7
210  x=170+20*i
220  FOR j=0 TO 9
230   y=10+20*j
240   IF ((i+j) && 1)=0 THEN GO TO 260
250   s_block x-10+i,y-10+i,x+10-i,y+10-i,0
260  END FOR j
270 END FOR i
280 :
10000 DEFine PROCedure s_block(x1%,y1%,x2%,y2%,z%)
10010  LOCal wl%,hl%,xl%,yl%,sk:sk=1.35
10020  IF x2%<x1% OR y2%<y1% THEN RETurn
10030  IF x1%>=320 OR y1%>200 THEN RETurn
10040  xl%=sk*x1%:yl%=y1%
10050  IF x2%<320 THEN
10060   wl%=INT(sk*(x2%-x1%)+.5)
10070   ELSE :wl%=INT(sk*(320-x1%)+.5):END IF
10080  IF y2%<200:hl%=y2%-y1%:ELSE :hl%=200-y1%:END IF
10090  BLOCK wl%,hl%,xl%,yl%,f_vari((z%))
10100 END DEFine s_block
10110 :
15000 DEFine PROCedure hires(etu%,taus%)
15010  MODE 8
15020  etuvari%=etu%:taustavari%=taus%
15030  WINDOW 512,256,0,0:PAPER 1:CLS
15040  WINDOW 430,200,41,16
15050  PAPER f_varikoodi((taus%)):CLS
15060  INK f_varikoodi((etu%))
15070  SCALE 200,0,0
15080 END DEFine hires
15090 :
15100 DEFine FuNction f_varikoodi(vari%)
15110  LOCal varil:varil=vari%
15120  SELect ON varil
15130   = 0:RETurn 0  :REMark black
15140   = 1:RETurn 7  :REMark white
15150   = 2:RETurn 2  :REMark red
15160   = 3:RETurn 5  :REMark cyan
15170   = 4:RETurn 202:REMark purple
15180   = 5:RETurn 4  :REMark green
15190   = 6:RETurn 1  :REMark blue
15200   = 7:RETurn 6  :REMark yellow
15210   = 8:RETurn 226:REMark orange
15220   = 9:RETurn 208:REMark brown
15230   =10:RETurn 234:REMark light red
15240   =11:RETurn 250:REMark grey 1
15250   =12:RETurn 248:REMark grey 2
15260   =13:RETurn 220:REMark light green
15270   =14:RETurn 5:REMark light blue
15280   =15:RETurn 206:REMark grey 3
15290   =REMAINDER :RETurn 0
15300  END SELect
15310 END DEFine f_varikoodi
15320 :
15330 DEFine FuNction f_vari(tapa%)
15340  LOCal tapal:tapal=tapa%
15350  SELect ON tapal
15360   =0:RETurn f_varikoodi((taustavari%))
15370   =1:RETurn f_varikoodi((etuvari%))
15380   =REMAINDER :RETurn f_varikoodi((etuvari%))
15390  END SELect
15400 END DEFine f_vari
15410 :
31000 DEFine PROCedure reset(i)
31010  LOCal il:MODE i
31020  WINDOW 513,256,0,0:PAPER 0:CLS
31030  OPEN#2,con_:WINDOW#2,448,200,32,16
31040  PAPER#2,1:INK#2,7
31050  WINDOW#0,448,40-(i=4),32,216+(i=4)
31060  WINDOW 448+8*(i=4),200+2*(i=4),32-4*(i=4),16-(i=4)
31070  PAPER 2*(i=8):BORDER (i=4),4*(i=4)
31080  FOR il=0,1,2:CSIZE#il,(i=4)+2*(i=8),0:END FOR il
31090  PAPER#0,0:INK#0,7-3*(i=0):INK 7:CLS
31100  SCALE 100,0,0:FILL 0
31110 END DEFine reset



Imagen

Código: Seleccionar todo
100 hires 0,1:n=20
110 FOR i=0 TO n STEP 2
120  s_circle 160,100,i*8,(20-i)*5,1
130 END FOR i
140 :
10260 DEFine PROCedure s_circle(x,y,a,b,z)
10270  LOCal nl:nl=1E-3
10280  INK f_vari((z))
10290  IF ABS(a)>nl AND ABS(b)>nl THEN
10300   CIRCLE x,200-y,b,a/b,0
10310   RETurn
10320  END IF
10330  IF ABS(a)<nl THEN
10340   LINE x,200-y-b TO x,200-y+b
10350   RETurn
10360  END IF
10370  IF ABS(b)<nl THEN
10380   LINE x-a,200-y TO x+a,200-y
10390   RETurn
10400  END IF
10410 END DEFine s_circle
10420 :
15000 DEFine PROCedure hires(etu%,taus%)
15010  MODE 8
15020  etuvari%=etu%:taustavari%=taus%
15030  WINDOW 512,256,0,0:PAPER 1:CLS
15040  WINDOW 430,200,41,16
15050  PAPER f_varikoodi((taus%)):CLS
15060  INK f_varikoodi((etu%))
15070  SCALE 200,0,0
15080 END DEFine hires
15090 :
15100 DEFine FuNction f_varikoodi(vari%)
15110  LOCal varil:varil=vari%
15120  SELect ON varil
15130   = 0:RETurn 0  :REMark black
15140   = 1:RETurn 7  :REMark white
15150   = 2:RETurn 2  :REMark red
15160   = 3:RETurn 5  :REMark cyan
15170   = 4:RETurn 202:REMark purple
15180   = 5:RETurn 4  :REMark green
15190   = 6:RETurn 1  :REMark blue
15200   = 7:RETurn 6  :REMark yellow
15210   = 8:RETurn 226:REMark orange
15220   = 9:RETurn 208:REMark brown
15230   =10:RETurn 234:REMark light red
15240   =11:RETurn 250:REMark grey 1
15250   =12:RETurn 248:REMark grey 2
15260   =13:RETurn 220:REMark light green
15270   =14:RETurn 5:REMark light blue
15280   =15:RETurn 206:REMark grey 3
15290   =REMAINDER :RETurn 0
15300  END SELect
15310 END DEFine f_varikoodi
15320 :
15330 DEFine FuNction f_vari(tapa%)
15340  LOCal tapal:tapal=tapa%
15350  SELect ON tapal
15360   =0:RETurn f_varikoodi((taustavari%))
15370   =1:RETurn f_varikoodi((etuvari%))
15380   =REMAINDER :RETurn f_varikoodi((etuvari%))
15390  END SELect
15400 END DEFine f_vari
15410 :
31000 DEFine PROCedure reset(i)
31010  LOCal il:MODE i
31020  WINDOW 513,256,0,0:PAPER 0:CLS
31030  OPEN#2,con_:WINDOW#2,448,200,32,16
31040  PAPER#2,1:INK#2,7
31050  WINDOW#0,448,40-(i=4),32,216+(i=4)
31060  WINDOW 448+8*(i=4),200+2*(i=4),32-4*(i=4),16-(i=4)
31070  PAPER 2*(i=8):BORDER (i=4),4*(i=4)
31080  FOR il=0,1,2:CSIZE#il,(i=4)+2*(i=8),0:END FOR il
31090  PAPER#0,0:INK#0,7-3*(i=0):INK 7:CLS
31100  SCALE 100,0,0:FILL 0
31110 END DEFine reset



Imagen

Código: Seleccionar todo
100 hires 0,1
110 FOR i=0 TO 90 STEP 10
120  FOR j=0 TO 4 STEP .5
130   s_arc_q 58+i+j,100,270,90,27,i+j,i+j,1
140   s_arc_q 246-i-j,100,90,270,27,i+j,i+j,1
150  END FOR j
160 END FOR i
170 :
10550 DEFine PROCedure s_arc_q(x,y,w1,w2,dw,a,b,z%)
10560  LOCal r,x1,y1,x2,y2,kulma
10570  INK f_vari((z%)):r=(a+b)/2
10580  kulma=(w1-360*(w1>w2))*PI/180
10590  x1=x+r*SIN(kulma):y1=200-y+r*COS(kulma)
10600  kulma=w2*PI/180
10610  x2=x+r*SIN(kulma):y2=200-y+r*COS(kulma)
10620  kulma=-(w2-w1+360*(w1>w2))*PI/180
10630  ARC x1,y1 TO x2,y2,kulma
10640 END DEFine s_arc_q
10650 :
15000 DEFine PROCedure hires(etu%,taus%)
15010  MODE 8
15020  etuvari%=etu%:taustavari%=taus%
15030  WINDOW 512,256,0,0:PAPER 1:CLS
15040  WINDOW 430,200,41,16
15050  PAPER f_varikoodi((taus%)):CLS
15060  INK f_varikoodi((etu%))
15070  SCALE 200,0,0
15080 END DEFine hires
15090 :
15100 DEFine FuNction f_varikoodi(vari%)
15110  LOCal varil:varil=vari%
15120  SELect ON varil
15130   = 0:RETurn 0  :REMark black
15140   = 1:RETurn 7  :REMark white
15150   = 2:RETurn 2  :REMark red
15160   = 3:RETurn 5  :REMark cyan
15170   = 4:RETurn 202:REMark purple
15180   = 5:RETurn 4  :REMark green
15190   = 6:RETurn 1  :REMark blue
15200   = 7:RETurn 6  :REMark yellow
15210   = 8:RETurn 226:REMark orange
15220   = 9:RETurn 208:REMark brown
15230   =10:RETurn 234:REMark light red
15240   =11:RETurn 250:REMark grey 1
15250   =12:RETurn 248:REMark grey 2
15260   =13:RETurn 220:REMark light green
15270   =14:RETurn 5:REMark light blue
15280   =15:RETurn 206:REMark grey 3
15290   =REMAINDER :RETurn 0
15300  END SELect
15310 END DEFine f_varikoodi
15320 :
15330 DEFine FuNction f_vari(tapa%)
15340  LOCal tapal:tapal=tapa%
15350  SELect ON tapal
15360   =0:RETurn f_varikoodi((taustavari%))
15370   =1:RETurn f_varikoodi((etuvari%))
15380   =REMAINDER :RETurn f_varikoodi((etuvari%))
15390  END SELect
15400 END DEFine f_vari
15410 :
31000 DEFine PROCedure reset(i)
31010  LOCal il:MODE i
31020  WINDOW 513,256,0,0:PAPER 0:CLS
31030  OPEN#2,con_:WINDOW#2,448,200,32,16
31040  PAPER#2,1:INK#2,7
31050  WINDOW#0,448,40-(i=4),32,216+(i=4)
31060  WINDOW 448+8*(i=4),200+2*(i=4),32-4*(i=4),16-(i=4)
31070  PAPER 2*(i=8):BORDER (i=4),4*(i=4)
31080  FOR il=0,1,2:CSIZE#il,(i=4)+2*(i=8),0:END FOR il
31090  PAPER#0,0:INK#0,7-3*(i=0):INK 7:CLS
31100  SCALE 100,0,0:FILL 0
31110 END DEFine reset



Imagen

Código: Seleccionar todo
1 REMark treitz22 (c) Timo Salmi
2 REMark Mon 1992 Oct 19 22:09:41
3 REMark version 1.5
4 :
100 hires 0,1
110 a=250:b=150:c=70:d=50
120 FOR i=0 TO 1.01 STEP 5E-2
130  s_line c*i,200-(d+b)*(1-i),a+c*i,200-d-(b-d)*i,1
140 END FOR i
150 FOR i=0 TO 1.01 STEP 5E-2
160  s_line a*i,b*i,c+a*i,199-b*i,1
170 END FOR i
180 s_rec 0,0,a,b,1:s_rec c,d,a-2,b-2,1
190 FOR i=0 TO 1
200  FOR j=0 TO 1
210   s_line i*a,j*b,i*a+c,j*b+d,1
220  END FOR j
230 END FOR i
240 :
10120 DEFine PROCedure s_line(x1%,y1%,x2%,y2%,z%)
10130  INK f_vari((z%))
10140  LINE x1%,200-y1% TO x2%,200-y2%
10150 END DEFine s_line
10160 :
10170 DEFine PROCedure s_rec(x1%,y1%,dx%,dy%,z%)
10180  LOCal x2%,y2%
10190  x2%=x1%+dx%:y2%=y1%+dy%
10200  s_line x1%,y1%,x2%,y1%,z%
10210  s_line x2%,y1%,x2%,y2%,z%
10220  s_line x2%,y2%,x1%,y2%,z%
10230  s_line x1%,y2%,x1%,y1%,z%
10240 END DEFine s_rec
10250 :
15000 DEFine PROCedure hires(etu%,taus%)
15010  MODE 8
15020  etuvari%=etu%:taustavari%=taus%
15030  WINDOW 512,256,0,0:PAPER 1:CLS
15040  WINDOW 430,200,41,16
15050  PAPER f_varikoodi((taus%)):CLS
15060  INK f_varikoodi((etu%))
15070  SCALE 200,0,0
15080 END DEFine hires
15090 :
15100 DEFine FuNction f_varikoodi(vari%)
15110  LOCal varil:varil=vari%
15120  SELect ON varil
15130   = 0:RETurn 0  :REMark black
15140   = 1:RETurn 7  :REMark white
15150   = 2:RETurn 2  :REMark red
15160   = 3:RETurn 5  :REMark cyan
15170   = 4:RETurn 202:REMark purple
15180   = 5:RETurn 4  :REMark green
15190   = 6:RETurn 1  :REMark blue
15200   = 7:RETurn 6  :REMark yellow
15210   = 8:RETurn 226:REMark orange
15220   = 9:RETurn 208:REMark brown
15230   =10:RETurn 234:REMark light red
15240   =11:RETurn 250:REMark grey 1
15250   =12:RETurn 248:REMark grey 2
15260   =13:RETurn 220:REMark light green
15270   =14:RETurn 5:REMark light blue
15280   =15:RETurn 206:REMark grey 3
15290   =REMAINDER :RETurn 0
15300  END SELect
15310 END DEFine f_varikoodi
15320 :
15330 DEFine FuNction f_vari(tapa%)
15340  LOCal tapal:tapal=tapa%
15350  SELect ON tapal
15360   =0:RETurn f_varikoodi((taustavari%))
15370   =1:RETurn f_varikoodi((etuvari%))
15380   =REMAINDER :RETurn f_varikoodi((etuvari%))
15390  END SELect
15400 END DEFine f_vari
15410 :
31000 DEFine PROCedure reset(i)
31010  LOCal il:MODE i
31020  FOR il=1,2:OPEN#il,con_:END FOR il
31030  WINDOW 512,256,0,0:PAPER 0:CLS
31040  WINDOW#0,448,40-(i=4),32,216+(i=4)
31050  WINDOW#2,448,200,32,16:PAPER#2,1:INK#2,7
31060  WINDOW 448+8*(i=4),200+2*(i=4),32-4*(i=4),16-(i=4)
31070  PAPER 2*(i=8):BORDER (i=4),4*(i=4)
31080  FOR il=0,1,2:CSIZE#il,(i=4)+2*(i=8),0:END FOR il
31090  PAPER#0,0:INK#0,7-3*(i=0):INK 7:CLS
31100  SCALE 100,0,0:FILL 0
31110 END DEFine reset
31120 :
31990 STOP
32000 vsave 1:STOP
32010 vsave 2:STOP
32020 vsave 3:STOP
32030 vsave 4:STOP
32040 vsave 5:STOP
32050 vsave 6:STOP
32060 DEFine PROCedure vsave(dr)
32070  LOCal avl$(42),bvl$(42),dvl$(6,5):avl$="treitz22"
32080  bvl$=DATE$:bvl$=bvl$(1 TO 4)
32090  IF bvl$<>1992 THEN
32100   PRINT#0,DAY$!DATE$!"Not saved, set SDATE"
32110   BEEP 4000,12:STOP:END IF
32120  ver1%=1:ver2%=5
32130  dvl$(1)="mdv1_":dvl$(2)="mdv2_"
32140  dvl$(3)="fdk1_":dvl$(4)="fdk2_"
32150  dvl$(5)="ram1_":dvl$(6)="ram2_"
32160  bvl$=dvl$(dr)&avl$
32170  DELETE bvl$:OPEN_NEW#3,bvl$:ver%=ver2%+1
32180  PRINT#3,"1 REMark ";avl$!"(c) Timo Salmi"
32190  PRINT#3,"2 REMark ";DAY$!DATE$
32200  PRINT#3,"3 REMark version"!ver1%;".";ver%
32210  PRINT#3,"4 :"
32220  LIST#3,100 TO 32110
32230  PRINT#3,"32120  ver1%=";ver1%;":ver2%=";ver%
32240  LIST#3,32130 TO:CLOSE#3
32250  PRINT#0,"Saved"!bvl$!"version"!ver1%;".";ver%
32260 END DEFine vsave
afx
Sabreman
 
Mensajes: 396
Registrado: Dom Feb 24, 2008 11:56 pm

Re: Programando pantallas para QL

Notapor radastan el Mie Oct 29, 2008 8:14 pm

¿Ande puedo descargar el qlayt para inyectarlo en el Qlay2? es que no lo trae de serie.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________
Avatar de Usuario
radastan
Phantomas
 
Mensajes: 2174
Registrado: Lun May 07, 2007 5:34 pm

Re: Programando pantallas para QL

Notapor badaman el Mie Oct 29, 2008 8:49 pm

Lo he añadido al paquete qlay2 en sinclairql.es

http://www.speccy.org/sinclairql/utils/qlay2_es.zip
http://www.speccy.org/sinclairql/utils/qlay2_es.txt

También está presente en el viejo paquete de qlay:

http://www.speccy.org/sinclairql/utils/ ... ave_es.zip

Y, por supuesto, en la página del emulador original:

http://web.inter.nl.net/hcc/A.Jaw.Venema/
Sinclair QL, la respuesta profesional de los 80
Avatar de Usuario
badaman
Sabreman
 
Mensajes: 474
Registrado: Mar Ene 29, 2008 11:58 am

Re: Programando pantallas para QL

Notapor badaman el Jue Oct 30, 2008 3:40 am

Otro programa demo. En este caso el que acompaña al emulador ql2k, que es una versión ampliada de qlay2 pero que precisa registro.

El programa pide una serie de parámetros para dibujar la tierra, y pide tambien que colores usaremos para los meridianos y paralelos y para los continentes.

Imagen

Código: Seleccionar todo
100 REMark =================================================================
110 DEFine PROCedure Init_Var
120 DIM A$(10)
130 DIM V$(10)
140  R=0
150  A=0
160  B=0
170  F=0
180  G=0
190  P=0
200  V$="":V=0
210  L=0
220  O=0
230  T=0
240  COC=0
250  COQ=0
260  J=0
270  K=0
280  H=0
290  M=0
300  W=0
310  X=0
320  Y=0
330  Z=0
340  XL=0
350  YL=0
360  N=0
370 END DEFine Init_Var
380 REMark ============================================================
390 DEFine PROCedure Init_Scr
400  WINDOW 512,256,0,0
410  PAPER 0
420  CLS
430 SCALE 200,-150,-100
440 END DEFine Init_Scr
450 REMark ============================================================
460 DEFine PROCedure Questions
470  OPEN #2,CON_
480  WINDOW #2,255,128,10,10
490  PAPER #2,7
500  BORDER #2,1,2
510  INK #2,0
520 CLS #2
530  INK #2,2:PRINT #2,"Quelques questions...":INK #2,0
540  INPUT #2,"Rayon (en faux pixel ):";R
550  INPUT #2,"Alpha (en degrƒs     ):";A
560  INPUT #2,"Beta  (en degrƒs     ):";B
570  INPUT #2,"Phi   (en degrƒs     ):";F
580  INPUT #2,"Quadrillage (en degrƒ):";G
590  INPUT #2,"Pas de prƒcision      :";P
600  INPUT #2,"Transparence (Oui/Non):";V$
610  INPUT #2,"Couleur quadrillage   :";COQ
620  INPUT #2,"Couleur continents    :";COC
630  IF V$=="o" THEN V=2:ELSE V=1
640 END DEFine Questions
650 REMark ============================================================
660 DEFine PROCedure Contour
670  INK COQ
680  CIRCLE 0,0,R
690 END DEFine Contour
700 REMark ============================================================
710 DEFine PROCedure Meridiens
720  INK COQ
730  T=0
740  J=SIN(RAD(B))
750  K=COS(RAD(B))
760  H=SIN(RAD(A))
770  M=COS(RAD(A))
780  IF G=0 THEN RETurn
790  FOR O=G TO 360 STEP G
800    FOR L=90 TO -90 STEP -P
810      ctrl_affich
820    END FOR L
830   T=0
840  END FOR O
850 END DEFine Meridiens
860 REMark ============================================================
870 DEFine PROCedure paralleles
880  INK COQ
890  T=0
900  FOR L=-90+G TO 90-G STEP G
910    FOR O=0 TO 360 STEP P
920      ctrl_affich
930    END FOR O
940   T=0
950  END FOR L
960 END DEFine paralleles
970 REMark ============================================================
980 DEFine PROCedure Continents
990 RESTORE
1000 REPeat Loop
1010   INK COC:T=0
1020   READ N
1030 IF N=9999 THEN EXIT Loop
1040   T=0
1050   READ L,O
1060   ctrl_affich
1070    FOR i=2 TO N
1080    READ L,O:T=1
1090    ctrl_affich
1100   END FOR i
1110 END REPeat Loop
1120 END DEFine Continents
1130 REMark ===========================================================
1140 DEFine PROCedure ctrl_affich
1150  q=SIN(RAD(O-F))
1160  e=COS(RAD(O-F))
1170  u=COS(RAD(L))
1180  W=SIN(RAD(L))
1190   Z=R*(W*H*K-u*q*J+u*e*M*K)
1200   X=R*(u*q*K+W*H*J+u*e*M*J)
1210   Y=R*(W*M-u*e*H)
1220  IF V=1 AND Z<0 THEN T=0
1230  IF T=0 THEN XL=X:YL=Y:T=1:RETurn
1240  IF T=1 THEN LINE XL,YL TO X,Y:XL=X:YL=Y
1250 END DEFine ctrl_affich
1260 REMark ************************************************************
1270 REMark prog principal
1280  Init_Var
1290  Init_Scr
1300  Titre
1310  Questions
1320  Init_Scr
1330  Contour
1340  Meridiens
1350  paralleles
1360  Continents
1370 A$=INKEY$(-1)
1380 STOP
1390 REMark ======================================================================
1400 DEFine PROCedure Titre
1410  OVER 1:INK 7,0,1
1420 FOR i=0 TO 1 STEP .1
1430  CIRCLE 0,0,80,i,0:CIRCLE 0,0,80,i,PI/2
1440 END FOR i
1450  FOR i=0 TO 3
1460   INK 2+2*(i=3)
1470   CSIZE 3,1
1480   CURSOR 300+i,100+i:PRINT "3D WORLD"
1490  END FOR i
1500  CSIZE 0,0
1510  AT 1,45:PRINT "JVMSOFTWARE et QLCF prƒsentent:"
1520  AT 12,67:PRINT "Version 2.00"
1530 END DEFine Titre
1540 REMark ========================================================================
1550 REMark _________________________________________________________________________
1560 REMark   (Je prƒcise pour les martiens que c'est la Terre...)
1570 REMark =========================================================================
1580 REMark   Premire partie, donnƒes pour les contours des diffƒrents continents.
1590 REMark _________________________________________________________________________
1600 REMark
1610 REMark EUROPE
1620 REMark
1630 DATA 217,41,29,42,35,41,38,42.5,42.3,46,37,48,39,46.5,35,46,37,44.3,34,45.5
1640 DATA 32,46.2,33.5,47,31,42.5,27,41,29,40.8,23,38,24,36.5,22.8,40.5,19.5,42,19.5
1650 DATA 45.7,13.7,45.5,12.3,44.4,12.3,43.6,13.6,42.5,14.1,40,18.5,40.5,17,39.7
1660 DATA 16.5,39,17.2,38,15.6,38,12.5,36.6,15,38.9,16.1,40,15.7,41.3,13
1670 DATA 43,10.5,44.3,8.9,43.2,6.2,43.5,4,42.7,3,41.8,3.3,39.5,-.4,38.7,.3,36.6
1680 DATA -2.1,36.5,-4.8,36,-5.4,37.1,-6.7,37,-8.8,38.6,-9.4,41.2,-8.6
1690 DATA 43.1,-9.3,43.7,-7.7,43.3,-1.5
1700 DATA 46.1,-1.2,47.3,-2.5,48,-4.7,48.6,-4.7,48.8,-3.1
1710 DATA 48.7,-1.7,49.8,-2,49.8,-1.3,49.4,-1.1,49.3,-.1,49.7,.2,50.2,1.5,50.9
1720 DATA 1.6,51.4,3.6,53.3,4.7,54,8.3,57,8.1,57.6,10.7,56.4,11.9,54.5,10,54,14.2
1730 DATA 55,20,59,22,60,30,60.6,28,60,22,63,21,65.6,26,66,22,61,17,60,19,56,16
1740 DATA 55.4,13,59,10.3,58,7.6,58.5,6,62.5,5.5,64,10,70.3,19,71.2,27,67.8,41.5
1750 REMark
1760 REMark ASIE
1770 REMark
1780 DATA 66.5,39,67.2,33,64.5,35,64,40,68.2,44,69,67,72,70,77,112,74,110,72,130,70
1790 DATA 175,67,190,66,177,63,180,60,170,60,163,55,162,51,157,57,156,62,163,62
1800 DATA 157,59,153,59,143,55,135,54,141,48,140,39,128,35,129.5,34,126,39,125.5
1810 DATA 41,121,38.5,118,30,122,23,117,21,110,22,108,19,105.5,14.5,109,11.5,109,8
1820 DATA 105,13,100.5,9,99,5,103.5,1,104,4,101,9,98,17,97,23,92,15,80,10,80,8,77
1830 DATA 12,74.5,21,72,25,67,25,56,30,50,29.5,49,24,53,25,56,24,56,23,60,17,56,12.5
1840 REMark
1850 REMark AFRIQUE
1860 REMark
1870 DATA 44,28,35,28,33,15,40,10.5,45,12,51.4,4,47.7,-5,39,-16,41,-20,35,-25,35,-26
1880 DATA 33,-29,32,-34,26,-35,20,-18,12
1890 DATA -11,14,-1,9,3,10,4.6,8.4,4.3,5.9,6.5,4.3,4.8,-2,4.6,-7.7,7.8,-12.9,9.6
1900 DATA -13.4,12.4,-16.7,14.9,-17.6,17.2,-16.1,21.3,-17.2,28,-12.9,30.3,-9.5,31
1910 DATA -9.8,32,-9.8,33.3,-8.3
1920 DATA 33.9,-6.9,35.8,-6,35.9,-5.4,35.2,-4.7,35,-2,36.4,1,37.3,10.2
1930 DATA 36.7,10.4,37,11,36.1,10.5,35.2,11.1,34,10,32.8,12.5,32.94,13.2,32.4,15.3
1940 DATA 31.5,15.6,30,19,31,20,32,19.7,33,22,31
1950 DATA 29,31.6,31,31.2,33.5,37,36,37,28,40,26,41,29
1960 DATA 19,58.5,-5,58.2,-1.8,56,-3.3,56,-2,53,.5,53,1.6
1970 DATA 52.2,1.7,51.3,.8,51.3,1.5,50.9,1,50,-5.8,51.4,-3.7
1980 DATA 51.7,-5,53.3,-4.5,53.3,-3,55,-3.5,54.7,-5,57.5,-6.5,58.5,-5
1990 REMark
2000 REMark LES ILES.
2010 REMark
2020 DATA 5,55.3,-6.5,54.3,-10,51.4,-10,52.2,-6.3,55.3,-6.5
2030 DATA 7,66.5,-22.5,65.4,-24.5,66.6,-16,65,-13.5,63,-19,64,-22,66.5,-22.5
2040 DATA 10,43,9.4,42.4,8.5,41.5,8.8,40.9,9.8,39.1,9.7,38.9,8.4,40.8,8.4,41.3,9.2
2050 DATA 42.1,9.6,43,9.4
2060 DATA 11,40,3.1,39.9,3.1,39.8,3.2,39.9,3.3,39.8,3.5,39.3,3.1,39.4,2.9,39.6,2.8,39.5,2.7,39.4,2.6,40,3.1
2070 DATA 6,40.1,4,40,4.1,39.9,4.1,39.9,3.9,40,3.9,40,4
2080 DATA 5,39.1,1.7,39,1.8,38.9,1.6,39,1.5,39.1,1.7
2090 DATA 6,-13,49,-17,44,-25,44,-25,47,-15,50.5,-13,49
2100 DATA 6,28.2,-15.6,28.2,-15.4,27.8,-15.3,27.6,-15.7,27.9,-15.8,28.2,-15.6,7,29.5,-13.3,29,-13.3,28.8,-14,28,-14.5,28.3,-13.8,29,-13.7,29.5,-13.3
2110 DATA 4,28.6,-16.1,28,-16.7,28.4,-17,28.6,-16.1
2120 DATA 12,60,-44,65,-40,70,-22,82,-15,83.6,-30,78.5,-73,76,-68,75.6,-59,70,-51,66
2130 DATA -53.5,61,-48,60,-44
2140 DATA 5,83,-45,81,-120,78,-105,81,-75,83,-45,6,78,-75,67,-60,60,-60,64,-75,75,-90,78,-75,5,75,-105,73,-90,70,-105,73,-120,75,-105,7,77,70,76,60,71,50,70,51,75,60,76,70,77,70
2150 REMark
2160 REMark AMERIQUE
2170 REMark
2180 DATA 84,63,-77,52,-56,50,-65,46,-64,43.7,-70.4,41.5,-70.7,40.6,-74,37,-76
2190 DATA 35.2,-75.7,31,-81.6,27,-80,25,-80.5,28,-82.7,29,-82.5,30,-84,30.3,-89,29
2200 DATA -90,29.7,-94,27,-97.5,22,-97.7,19,-96,18.4,-94,19,-91,21,-90,21.6,-87,16
2210 DATA -89,15.6,-83,10.5,-83.5,9,-81.5,9.7,-79,8,-77,11,-75,12,-71,10.6,-63,4
2220 DATA -52,0,-50,-6,-34,-12,-39,-22,-41,-25,-48,-28,-48,-41,-63,-51,-69,-55,-65
2230 DATA -55,-70,-50,-76,-37,-74,-18,-70,-6,-81,0,-81,6.6,-77.5,9,-79,7,-81,9.5
2240 DATA -85,13,-88,14,-91.5,16.2,-95,15.7,-96.6,19.6,-106,22,-105.7,29,-112.4
2250 DATA 31.3,-113,31.6,-115,30,-114.6,23,-109.5,25,-112.3,30,-115.9,34,-118.5
2260 DATA 34.5,-120.7,39,-124,43,-124.5,48.5,-124.5,59,-138,61,-148,54,-165,59
2270 DATA -158,62,-166,68,-167,71,-157,68,-110,70,-82,60,-95,54,-80,63,-77
2280 DATA 18,22,-85,23,-83,23,-80.5,20,-74,20,-70,18.5,-68,18.5,-71,17.5,-71.5,18
2290 DATA -72,18.5,-74.5,19,-74.5,19,-72.5,20,-74,20,-77.5,20.5,-77,22.5,-81.5,22
2300 DATA -84,22,-85
2310 DATA 5,18.2,-78.2,18.4,-78,18,-76.2,17.9,-77.8,18.2,-78.2,5,18.5,-67,18.5,-65.5
2320 DATA 18,-65,18,-67,18.5,-67
2330 REMark
2340 REMark PACIFIQUE
2350 REMark
2360 DATA 34,-10.5,142.4,-17.5,141,-15,135.5,-12,137,-11,132,-15,129,-14,127,-17.5,122,-19,122,-20
2370 DATA 120,-22,114,-26,113,-32,116,-34.5,115,-35.2,118,-31.5,130,-32.5,133.5,-35
2380 DATA 135.5,-33,137.8,-35.2,137.5,-38,140.4,-39,143.4,-37.8,145,-39.2,146
2390 DATA -37.5,150,-34,151,-32.7,152.7,-29,153.6,-25.6,153,-20,148.4,-18.8,146.3
2400 DATA -14.5,144.7,-14.7,144,-10.5,142.4
2410 DATA 4,-42,144.9,-42,148,-44,146.5,-42,144.9
2420 DATA 29,-63,-56,-64,-60,-66,-65,-73,-75,-73,-85,-73,-100,-75,-100,-73,-125
2430 DATA -75,-137,-78,-165,-77.6,164,-72,170,-68,155,-66,135,-66,115,-66,90,-69.5
2440 DATA 75,-68,70,-66,55,-69,40,-70,20,-70,0,-71,-10,-74,-20,-78,-35,-75,-60,-67
2450 DATA -61,-64.3,-69,-63,-55
2460 DATA 7,9.7,80,7,82,6.5,81.8,6.3,80.5,6.4,80,8,79.7,9.7,80
2470 DATA 19,21,122,18,122.5,16.5,122.5,15,121.5,14,122,13.5,125,7,126,5,125,7,123,5,122,9,125,8,123,11,121,10,124,13,122,8,117,12,120,18.5,121,18,122.5
2480 DATA 5,25.5,121.5,23.5,120,22,121,25,122,25.5,121.5
2490 DATA 6,20,108.6,20,110.3,19.8,110.3,18.3,109.9,18.8,108,20,108.6
2500 DATA 22,45.5,141.8,43.3,145.7,42,143,42.6,141.6,40.6,140,38.2,139.6,37,136.9
2510 DATA 35.6,135.7,35.6,133,34,130.9,32.9,132,31.4,131.3,31.2,130.2,33.3,129.7
2520 DATA 34,130.9,34.5,135,33.5,135.7,36,140.6,39.8,142,42.5,139.7,43.5,141.4,45.5,141.8
2530 DATA 11,6,95,1.7,98.8,-3.2,101.6,-5.9,105.7,-6.6,114.2,-8.6,127
2540 DATA -7.1,105.6,-2.9,105.9,.4,103.6,5,97.5,6,95
2550 DATA 4,2,128,1.5,129,-1,128,2,128,6,-3,126,-4,131,-3,130.5,-3,128,-4,126.5,-3,126
2560 DATA 13,7,117.5,2.5,111,1.5,111,2,109.5,1,109,-3,110,-4,114.5,-4,116,1,117.5,1,119,4,117.5,5,119,7,117.5
2570 DATA 17,2,125,1,124,1.5,121,0,119.5,-3,118.5,-6,119,-6,120.5,-3,120.5,-5.5,122,-5.5,123,-4,123,-2,121.5,-.5,123.5,-1,121,.5,120.5,.5,124.5,2,125
2580 DATA 12,0,130,-2,134,-2.5,141,-6.5,148,-6.8,146.8,-10.7,151
2590 DATA -7.7,144.3,-9.3,143,-8,138.4,-5.4,138.1,-4,133.1,0,130,14,-34.5,172.7
2600 DATA -36.7,175.9,-37.5,176,-38,177.3,-37.4,178.5,-41.6,175.5,-40.6,172.5
2610 DATA -42.8,171,-46,166.2,-46.7,169.4,-40.2,175.3,-39.3,174,-37.7,174.8,-34.5
2620 DATA 172.7,9999
Sinclair QL, la respuesta profesional de los 80
Avatar de Usuario
badaman
Sabreman
 
Mensajes: 474
Registrado: Mar Ene 29, 2008 11:58 am

Re: Programando pantallas para QL

Notapor radastan el Jue Oct 30, 2008 6:11 pm

El Sam Coupé tiene casi las mismas posibilidades (y con más colores), no obstante creo que algún partido se le puede dar en juegos de estrategia, una aventura, o algo así.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________
Avatar de Usuario
radastan
Phantomas
 
Mensajes: 2174
Registrado: Lun May 07, 2007 5:34 pm

Re: Programando pantallas para QL

Notapor badaman el Jue Oct 30, 2008 6:56 pm

El Amiga y el ST también son superiores, pero esto ya es algo sabido ¿no?

Ahora compara el año en que salió el QL y el año en que salió el Sam Coupe. Cualquiera diria que para ser tan viejo no lo hizo tan mal el QL, y por otro lado el Sam no es que quede muy bien parado si lo comparas con el Amiga o el Atari ST, que son ateriores.

Lo que vengo a decir es que es imposible hacer este tipo de comparaciones de manera que sea una comparativa equánime, y aunque se pudiese, no le veo mucho sentido al asunto.

El trasfondo real de todo esto no es ver que ordenador es mejor o que ordenador es más potente, sino sacarle partido a lo que tiene y disfrutar con ello.

Respecto a las posibilidades gráficas reales del Ql, creo que deberías conocer algo más en profundidad los comandos gráficos como las posibilidades de creación de ventanas y asignación de canales, las opciones de escala e incluso las funciones de gráficos de tortuga que, unidas al resto de facilidades propias del lenguaje SuperBASIC dudo mucho que no permitan a quien las use programar casi cualquier cosa, más alla de los juegos de estrategia o cualquier tipo de juego (dentro de los limites físicos de memoria, almacenamiento y velocidad claro).

No deja de sorprenderme que aún hoy al QL se le siga midiendo por el rasero de un ordenador doméstico dedicado a juegos.
Sinclair QL, la respuesta profesional de los 80
Avatar de Usuario
badaman
Sabreman
 
Mensajes: 474
Registrado: Mar Ene 29, 2008 11:58 am

Re: Programando pantallas para QL

Notapor radastan el Jue Oct 30, 2008 7:14 pm

Hombre no me refiero a medirlo con el rasero de los juegos... es que es una pena que no se aprovechara para juegos en condiciones.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________
Avatar de Usuario
radastan
Phantomas
 
Mensajes: 2174
Registrado: Lun May 07, 2007 5:34 pm

Re: Programando pantallas para QL

Notapor badaman el Jue Oct 30, 2008 7:16 pm

¿Porqué es una pena? No acabo de entenderte.
Sinclair QL, la respuesta profesional de los 80
Avatar de Usuario
badaman
Sabreman
 
Mensajes: 474
Registrado: Mar Ene 29, 2008 11:58 am

Re: Programando pantallas para QL

Notapor Gandulf el Jue Oct 30, 2008 7:19 pm

Me imagino que se refiere a que a lo mejor no se ha visto aun el arcade/videoaventura pensada para QL y que aproveche al 100% sus capacidades de procesador y/o gráficas. Y digo sin saber si lo hay o no, ese juego. Sólo he visto un par de ellos en el emulador y no me parecieron gran cosa.
Un saludo,

Gandulf
Gandulf
Nonamed
 
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Programando pantallas para QL

Notapor radastan el Jue Oct 30, 2008 7:24 pm

badaman escribió:¿Porqué es una pena? No acabo de entenderte.


Muy sencillo, yo veo esto:

Imagen

En teoría es el juego con mejores gráficos para QL, el resto se mueve en esta línea:

Imagen

¿De verdad eso es todo lo que puede hacerse con 8 colores en 256x192? ni de coña, vamos. Un ejemplo (deformado para que se vea de cara al público) es este:

Imagen

Ala, los 8 colores en acción, y eso que no están aprovechados. No hablo de pantallas de presentación, hablo del juego en si ojo, pero es una pena que el QL no se aprovche en juegos con una calidad gráfica superior o usando a fondo el pedazo de micro que tiene.

Por ahí voy.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________
Avatar de Usuario
radastan
Phantomas
 
Mensajes: 2174
Registrado: Lun May 07, 2007 5:34 pm

Re: Programando pantallas para QL

Notapor badaman el Jue Oct 30, 2008 7:37 pm

Totalmente de acuerdo con ambos. Si lo que buscas son pantallas bonitas hay mejores ejemplos:

http://personales.ya.com/badared/badama ... /index.htm

Pero decir que es una pena que el QL no se aprovechase mejor para juegos es como decir que el Spectrum, el Amstrad o el MSX ha sido minusvalorados como procesadores de textos, por poner un ejemplo.

Que duda cabe que los juegos han ayuudado mucho a hacer populares algunas máquinas en su momento, pero el QL no nació como un ordenador para juegos, como ya he dicho en muchas ocasiones, sino como una maquina para el pequeño empresrio y para el hogar. Dan fe de ello los cuatro programas de gestión que acompañaban al ordenador cuando era adquirido.

Otra cosa es que los enredas como nosotros nos pongamos a buscarle alternativas, como las demos que se recogen en este hilo, en las que destacan las popsibilidades de programación a través de un resultado gráfico.

Respecto a la comparativa de ambos juegos, me parece una muestra muy escueta como para sacar conclusiones y con otros títulos la cosa cambia. Acuerdate de programas como QL Chess (ajedrez 3D) o Vroom (coche de carreras en 3D). ;) De todas formas, el mercado de juegos del QL era reducido, como su colección de programas comerciales completa. Es lógico que no se vean títulos espectaculares debido a su muerte comercial prematura.
Sinclair QL, la respuesta profesional de los 80
Avatar de Usuario
badaman
Sabreman
 
Mensajes: 474
Registrado: Mar Ene 29, 2008 11:58 am

Siguiente

Volver a Sinclair QL

¿Quién está conectado?

Usuarios navegando este Foro: No hay usuarios registrados visitando el Foro y 1 invitado