Dudas basicas de Basic
- EnriquePbart
- Me voy lanzando
- Mensajes: 54
- Registrado: Lun 31 Dic , 2018 7:44 pm
- Contactar:
Re: Dudas basicas de Basic
Gracias de nuevo.
Vereis no quiero abrir un post nuevo preguntando esto asi que lo pongo aqui.
Ayer empece a jugar a algunos juegos para despejarme un poco, y luego descubri la web de 4MHZ y me descargue un juego, el tema es que no pude cargarlo de ninguna forma, el Winape me decia noseque de la memoria, lo intente poniendole hasta los 4MB de RAM y nada...
Aparte de eso vi el video del juego que tienen puesto, y me quede sorprendido de la fluidez que tenia en los movimientos, cuando antes habia estado jugando al SATAN y bueno no era tan fluido...(aunque me encanto el satan la verdad).
Mi pregunta basicamente es como puede ser esa diferencia de fluidez ?...programacion? mas sprites?, ni idea ...
Luego ya volviendo a la programacion hay una cosa que no comprendo con los MODES.... A mi personalmente me agobia el estar programando con la letra del editor tan grande asi que me pongo el Mode 2 y a funcionar... Peero lo que no pillo es....El MODE0 que se ve todo fatal es el que mas colores admite? ...pero xq?, osea cuando uno hace un juego muy colorido entonces es siempre mode 0 ?, no seria mas logico que el 2 fuera el de mas resolucion?....perdonad mi TOTAL IGNORANCIA, pero bueno poco a poco todo se aprende.
Lo de los Modes lo pregunto ya que ahora estoy en ese tema (de un curso de BASIC) que estoy haciendo.
Y luego para terminar, ayer me descargue el QBasic64 , y bueno todo lo que he hecho hasta ahora no me ha dado ningun error, me resulta amigable solo por 3 cosas 1 tamaño del texto a la hora de programar , 2 te resalta los fallos y 3 puedo moverme por el codigo sin tener que hacer EDITS....Pero como me dijisteis supongo que llegara el momento mas adelante que empiece a darme fallos por temas de ser diferentes versiones de Basic...asi que no me acomodare mucho con el (solo era por comparar nada mas).
De todas formas me he dado cuenta que en el ensamblador puedes sacar el codigo escrito en Basic lo cual es genial para copiarlo y pegarlo por ahi, ahora mirare si se puede escribir ahi en el editor y luego pasarlo a la ventana de programacion (lo cual seria mas facil para editar lineas con errores y demas).
Un saludo y perdonad la chapa que os acabo de meter
Vereis no quiero abrir un post nuevo preguntando esto asi que lo pongo aqui.
Ayer empece a jugar a algunos juegos para despejarme un poco, y luego descubri la web de 4MHZ y me descargue un juego, el tema es que no pude cargarlo de ninguna forma, el Winape me decia noseque de la memoria, lo intente poniendole hasta los 4MB de RAM y nada...
Aparte de eso vi el video del juego que tienen puesto, y me quede sorprendido de la fluidez que tenia en los movimientos, cuando antes habia estado jugando al SATAN y bueno no era tan fluido...(aunque me encanto el satan la verdad).
Mi pregunta basicamente es como puede ser esa diferencia de fluidez ?...programacion? mas sprites?, ni idea ...
Luego ya volviendo a la programacion hay una cosa que no comprendo con los MODES.... A mi personalmente me agobia el estar programando con la letra del editor tan grande asi que me pongo el Mode 2 y a funcionar... Peero lo que no pillo es....El MODE0 que se ve todo fatal es el que mas colores admite? ...pero xq?, osea cuando uno hace un juego muy colorido entonces es siempre mode 0 ?, no seria mas logico que el 2 fuera el de mas resolucion?....perdonad mi TOTAL IGNORANCIA, pero bueno poco a poco todo se aprende.
Lo de los Modes lo pregunto ya que ahora estoy en ese tema (de un curso de BASIC) que estoy haciendo.
Y luego para terminar, ayer me descargue el QBasic64 , y bueno todo lo que he hecho hasta ahora no me ha dado ningun error, me resulta amigable solo por 3 cosas 1 tamaño del texto a la hora de programar , 2 te resalta los fallos y 3 puedo moverme por el codigo sin tener que hacer EDITS....Pero como me dijisteis supongo que llegara el momento mas adelante que empiece a darme fallos por temas de ser diferentes versiones de Basic...asi que no me acomodare mucho con el (solo era por comparar nada mas).
De todas formas me he dado cuenta que en el ensamblador puedes sacar el codigo escrito en Basic lo cual es genial para copiarlo y pegarlo por ahi, ahora mirare si se puede escribir ahi en el editor y luego pasarlo a la ventana de programacion (lo cual seria mas facil para editar lineas con errores y demas).
Un saludo y perdonad la chapa que os acabo de meter
Racing Is life... Anithing that happens before or after is just waiting.
Re: Dudas basicas de Basic
Bueno. Modos de pantalla.
El CPC incorpora solo tres modos de pantalla por defecto. La norma es la misma que en otras plataformas, a mayor color menor resolución.
Los mode son 0, 1 y 2
Respectivamente 20, 40 y 80 columnas.
Yo para programar usaba Mode 2 con fondo negro y tinta naranja, pero en Mode 1 se puede programar bien.
A colores, respectivamente, 2, 4 y 16
La pantalla gráfica también es distinta pero ahora no recuerdo sus valores, creo que eran 640*400, 640*200 y 320*200 .
Esto es lo estándar.
Con "trucos" de programación pues sacar nuevos modos pero eso ya es "no estándar".
El sistema operativo del Amstrad solo incorpora edición de línea, no como qbasic u otros. Si quieres edición de pantalla puedes grabar tu programa como
Save "nombre.bas",A (coma A)
Esto te graba el programa como ASCII y puedes editar con un procesador de textos o con el pc (en este último caso ten en cuenta que solo será común el ASCII bajo, nada de caracteres especiales)
El CPC incorpora solo tres modos de pantalla por defecto. La norma es la misma que en otras plataformas, a mayor color menor resolución.
Los mode son 0, 1 y 2
Respectivamente 20, 40 y 80 columnas.
Yo para programar usaba Mode 2 con fondo negro y tinta naranja, pero en Mode 1 se puede programar bien.
A colores, respectivamente, 2, 4 y 16
La pantalla gráfica también es distinta pero ahora no recuerdo sus valores, creo que eran 640*400, 640*200 y 320*200 .
Esto es lo estándar.
Con "trucos" de programación pues sacar nuevos modos pero eso ya es "no estándar".
El sistema operativo del Amstrad solo incorpora edición de línea, no como qbasic u otros. Si quieres edición de pantalla puedes grabar tu programa como
Save "nombre.bas",A (coma A)
Esto te graba el programa como ASCII y puedes editar con un procesador de textos o con el pc (en este último caso ten en cuenta que solo será común el ASCII bajo, nada de caracteres especiales)
Re: Dudas basicas de Basic
El Mode 0 bien trabajado se mea en lo que puedas ver en otros micros de 8 bits, aunque tenga menos resolución.
Re: Dudas basicas de Basic
El lenguaje de programación puede influir, en basic será mas lento que en C que a su vez será mas lento que ensamblador. La complejidad del juego, tamaño y cantidad de sprites etc. también influye. El saber hacer del autor y su motivación también son importantes (no es lo mismo hacer un juego para una empresa, con plazos etc. que por amor al arte y quiero destacar la importancia de "amor" y "arte" en los juegos que están saliendo últimamente).Mi pregunta basicamente es como puede ser esa diferencia de fluidez ?...programacion? mas sprites?, ni idea ...
Es una cuestión de hacer compromisos.Luego ya volviendo a la programacion hay una cosa que no comprendo con los MODES.... A mi personalmente me agobia el estar programando con la letra del editor tan grande asi que me pongo el Mode 2 y a funcionar... Peero lo que no pillo es....El MODE0 que se ve todo fatal es el que mas colores admite? ...pero xq?, osea cuando uno hace un juego muy colorido entonces es siempre mode 0 ?, no seria mas logico que el 2 fuera el de mas resolucion?....perdonad mi TOTAL IGNORANCIA, pero bueno poco a poco todo se aprende.
Cuantos mas colores quieras mas información (bits, memoria) necesitas para representarlos. Con un bit puedes representar dos valores (0 y 1) esto te permite representar dos colores distintos (lo que seria el mode 2), con 2 bits puedes representar 4 valores/colores (00, 01, 10 y 11, mode 1) y con 4 bits 16 valores (0000, 0001, ..., 1110 y 1111, mode 0).
Si tienes una pantalla con W pixeles en horizontal, H pixeles en vertical y cada pixel necesita N bits para representar los colores, en total necesitas (W x H x N) / 8 bytes de memoria para almacenar el contenido de la pantalla.
Amstrad dedica una cantidad fija de memoria, M, para vídeo (16Kb, 16384 bytes, en los modos estándar y 32Kb, creo, con overscan). Cualquier modo de vídeo ha de satisfacer la relación:
(W x H x N) / 8 < M
donde M está en bytes, W y H en pixels y N en bits/pixel.
En el caso del Amstrad H es fijo (200 pixeles), con lo cual, si aumentas W (número de pixeles horizontales) tienes que reducir N (colores) y al revés, si quieres más colores (aumentas N) tienes que reducir el número de pixeles (W).
En realidad el tema de los colores es un poco mas complicado. El valor del pixel no es el color sino el número de pluma (pen) que está rellena con una tinta (ink) a elegir de una paleta de 27 colores, pero no quiero liarte mas. Mírate las instrucciones PEN e INK del basic y lo entenderás fácil.
Para trabajar con texto el modo 0 es un dolor pero un buen artista del pixel puede hacer virguerias con el.
No se si me he explicado pero como mínimo espero no haberte liado mas.
Re: Dudas basicas de Basic
Me ha encantado tu explicación.
Recuerdo cuando empecé a trastear con mi f030 y sus múltiples resoluciones de pantalla. Entonces busqué una relación al consumo de memoria con relación a la resolución pero al final lo único que hice fue "documentarme" cuánta memoria RAM libre me dejaba cada resolución.
Recuerdo cuando empecé a trastear con mi f030 y sus múltiples resoluciones de pantalla. Entonces busqué una relación al consumo de memoria con relación a la resolución pero al final lo único que hice fue "documentarme" cuánta memoria RAM libre me dejaba cada resolución.
Re: Dudas basicas de Basic
Me alegra, me preocupaba haberme perdido en demasiados detalles técnicos.Me ha encantado tu explicación.
Recuerdo cuando empecé a trastear con mi f030 y sus múltiples resoluciones de pantalla. Entonces busqué una relación al consumo de memoria con relación a la resolución pero al final lo único que hice fue "documentarme" cuánta memoria RAM libre me dejaba cada resolución.
No sé que es el f030 ... google tampoco
Mi explicación vale en sistemas que utilizan algún tipo de framebuffer. Si no recuerdo mal el spectrum utiliza un sistema distinto en el que la información de color se asigna a un bloque de pixeles y no a pixeles individuales. Sigue existiendo una relación entre pixeles, colores y memoria necesaria pero es un poco mas enrevesada.
Es curioso/interesante ver las distintas formas en que los ingenieros de aquella época resolvieron el mismo problema dentro de las restricciones de cada sistema.
- EnriquePbart
- Me voy lanzando
- Mensajes: 54
- Registrado: Lun 31 Dic , 2018 7:44 pm
- Contactar:
Re: Dudas basicas de Basic
Buena explicacion
Racing Is life... Anithing that happens before or after is just waiting.
Re: Dudas basicas de Basic
F030 = Atari Falcon 030
El último modelo de ordenador de Atari que permitía resoluciones true color (65.000 y pico) 256, 16, 4 y 2 colores y diversos anchos y largos de pantalla.
El último modelo de ordenador de Atari que permitía resoluciones true color (65.000 y pico) 256, 16, 4 y 2 colores y diversos anchos y largos de pantalla.
- EnriquePbart
- Me voy lanzando
- Mensajes: 54
- Registrado: Lun 31 Dic , 2018 7:44 pm
- Contactar:
Re: Dudas basicas de Basic
Muy buenas gente, que tal?
Una duda rapida, me he impreso el manual de 8BDP , Eso se puede ir mirando mientras se aprende Basic o es demasiado avanzado?, he conseguido por amazon un par de libros tambien uno de ellos es uno que se llama "Programacion en Basic" de Schaum de "Byron S. Gottefried.
Una duda rapida, me he impreso el manual de 8BDP , Eso se puede ir mirando mientras se aprende Basic o es demasiado avanzado?, he conseguido por amazon un par de libros tambien uno de ellos es uno que se llama "Programacion en Basic" de Schaum de "Byron S. Gottefried.
Racing Is life... Anithing that happens before or after is just waiting.
Re: Dudas basicas de Basic
Yo aún no le he metido mano.
Para mí sería como un segundo frente abierto, igual es complementario, igual puedes manejar dos frentes. La verdad es que no te se decir pues desconozco a fondo el 8bdp
Para mí sería como un segundo frente abierto, igual es complementario, igual puedes manejar dos frentes. La verdad es que no te se decir pues desconozco a fondo el 8bdp
- EnriquePbart
- Me voy lanzando
- Mensajes: 54
- Registrado: Lun 31 Dic , 2018 7:44 pm
- Contactar:
Re: Dudas basicas de Basic
Yo lo imprimi y encuaderne (no me gusta leer mucho en pantalla), se qie tiene muchas cosas para desarrollar. Lo cual es lo que me tira atras a la hora de comprarme un CPC ya que por lo visto todo el mundo usa el 8bp...y claro en un cpc eso no lo tienes... Resumiendo que no se como hacian los juegos en aquella epoca.
Racing Is life... Anithing that happens before or after is just waiting.
Re: Dudas basicas de Basic
No sé si te servirá pero hay un par de comandos en BASIC para depurar, que son TRON (TRace ON) y TROFF (TRace OFF). Lo que hacen es activar y desactivar el traceado de las líneas de BASIC que se van ejecutando y te las va imprimiendo en pantalla entre corchetes (mira, hablando de corchetes ).Gracias gracias, si ya he estado haciendo cosas con ficheros y demas, ya me aclaro con el Cat el list, edit, load, save y con el for, if then etc, este finde he estado trasteando bastante y haciendo ejercicios basicos.
Me cuesta un poco ya que estaba acostumbrado a programar en C, y claro por lo que veo aqui nada de corchetes. (que no toco C desde hara 12 años que termine, y claro como deje la programacion por el 3D pues tampoco es que me acuerde de mucho).
Lo que me marea un poco es el GOTO, jaja siempre me decian que eso era "inestable" usarlo y ahora lo veo en todos lados.
Pero bueno poco a poco.
Por ejemplo, para un programa como:
10 a=10
20 input b
30 c= 10+b
40 print a+c
50 goto 50
pues al poner "TRON" y ejecutarlo saldría por la pantalla:
[10][20]? 5
[30][40] 25
[50][50][50][50][50][50] ...
y con TROFF lo desactivas. La única pega como ves es que te mezcla la salida por pantalla del programa con la del comando, y si tu programa juega mucho con los colores y las posiciones del cursor pues no hay quien siga la pista
- EnriquePbart
- Me voy lanzando
- Mensajes: 54
- Registrado: Lun 31 Dic , 2018 7:44 pm
- Contactar:
Re: Dudas basicas de Basic
Eso seria como las frases que se suelen poner para testear el programa supongo no?. Pero te muestra la ejecucion imprimiendo los numeros de linea claro.
Racing Is life... Anithing that happens before or after is just waiting.
Re: Dudas basicas de Basic
Correcto. De todas formas para las frases que dices del tipo "La variable xxx vale yyy" tienes que usar PRINT junto con el nombre de la variable. No había manera de hacer un "watch" a cierta variable como hacen los depuradores modernos mientras se ejecuta el programa. No había más espacio en la ROM del BASIC para un depurador mejorcito y había que tirar de alguna que otra utilidad para "mejorar" algo la depuración de programas BASIC.Eso seria como las frases que se suelen poner para testear el programa supongo no?. Pero te muestra la ejecucion imprimiendo los numeros de linea claro.
- EnriquePbart
- Me voy lanzando
- Mensajes: 54
- Registrado: Lun 31 Dic , 2018 7:44 pm
- Contactar:
Re: Dudas basicas de Basic
Hola chicos, estoy mirandome todo el manual del 6128 los temas de Basic y tal.
Bueno tengo una duda que el libro no la aclara, es sobre el comando GOSUB, en el libro te pone un ejemplo con una cancion donde te explica como utlizar el comando (en este ejemplo hace una GOSUB a la linea donde esta el estribillo), hasta ahi bien, mi duda es, si la subrrutina son un monton de lineas?...
...Se pondria la subrutina seguida y se termina con un RETURN en la ultima linea de esta?.
POR EJEMPLO
10 ' Programa basico de subrutina, en este ejemplo introducimos los valores
20 ' X e Y y enviamos los valores a la subrutina de suma para despues ser
30 ' devueltos por el programa.
40 INPUT "Introduce el primer valor:";A
50 PRINT
60 INPUT "Introduce el segundo valor:";B
61 PRINT
70 GOSUB 100
80 PRINT"Linea de control que NO deberia de ser mostrada..."
100 z=A+B
110 RETURN
115 PRINT "El valor de la suma es de";z
116 PRINT : PRINT
120 PRINT "Gracias por usar el programa"
Si pongo eso asi, me salta error en el Return...
Ya se que ese ejemplo es muy absurdo, pero solo era para ver que no imprimia la linea 80.
Bueno tengo una duda que el libro no la aclara, es sobre el comando GOSUB, en el libro te pone un ejemplo con una cancion donde te explica como utlizar el comando (en este ejemplo hace una GOSUB a la linea donde esta el estribillo), hasta ahi bien, mi duda es, si la subrrutina son un monton de lineas?...
...Se pondria la subrutina seguida y se termina con un RETURN en la ultima linea de esta?.
POR EJEMPLO
10 ' Programa basico de subrutina, en este ejemplo introducimos los valores
20 ' X e Y y enviamos los valores a la subrutina de suma para despues ser
30 ' devueltos por el programa.
40 INPUT "Introduce el primer valor:";A
50 PRINT
60 INPUT "Introduce el segundo valor:";B
61 PRINT
70 GOSUB 100
80 PRINT"Linea de control que NO deberia de ser mostrada..."
100 z=A+B
110 RETURN
115 PRINT "El valor de la suma es de";z
116 PRINT : PRINT
120 PRINT "Gracias por usar el programa"
Si pongo eso asi, me salta error en el Return...
Ya se que ese ejemplo es muy absurdo, pero solo era para ver que no imprimia la linea 80.
Última edición por EnriquePbart el Dom 03 Feb , 2019 2:33 pm, editado 2 veces en total.
Racing Is life... Anithing that happens before or after is just waiting.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro
La Comunidad Española |