Curso de Locomotive Basic
Curso de Locomotive Basic
En primer lugar, gracias por la bienvenida.
Eso que comentabais en el hilo "Emulador para Linux" de tener los conocimientos un poco olvidados me recuerda...
La sección de tutoriales está un poco vacía. ¿Apetece un curso de Locomotive Basic para los recién llegados a la plataforma o los que casi no la recuerden?
Aprovechando el puente, me ha dado la locura y lo he empezado
Podeis echarle un primer vistazo en
http://www.nachocabanes.com/amstrad/curso
Supongo que no tendrá un gran seguimiento, porque es un tema muy minoritario, pero aun así... ¿quereis que ponga un enlace a este foro para quien quiera preguntar dudas, por si eso atrae caras nuevas?
Eso que comentabais en el hilo "Emulador para Linux" de tener los conocimientos un poco olvidados me recuerda...
La sección de tutoriales está un poco vacía. ¿Apetece un curso de Locomotive Basic para los recién llegados a la plataforma o los que casi no la recuerden?
Aprovechando el puente, me ha dado la locura y lo he empezado
Podeis echarle un primer vistazo en
http://www.nachocabanes.com/amstrad/curso
Supongo que no tendrá un gran seguimiento, porque es un tema muy minoritario, pero aun así... ¿quereis que ponga un enlace a este foro para quien quiera preguntar dudas, por si eso atrae caras nuevas?
Ostras !!! Pero si eres Nacho Cabanes He sido asiduo visitante de la web que tenias en Lycos a oleadas. Ahora ya hace mucho de la última vez (estuve buscando algo de Java, creo recordar), pero al ver el enlace la he recordado enseguida.
Enhorabuena por la web !! Espero que este tuto de Basic mantenga el nivel de los otros
Enhorabuena por la web !! Espero que este tuto de Basic mantenga el nivel de los otros
Buenas Nacho.
Pues ya tienes un seguidor del curso, aparte de que es el "mejor" basic de las maquinas de 8 bits, lo seguire por nostalgia, yo el primer curso de informatica lo hice en un 6128 en una academia, todavia conservo el cuaderno con los listados basic de los ejercicios que nos proponian.
Salu2
Pues ya tienes un seguidor del curso, aparte de que es el "mejor" basic de las maquinas de 8 bits, lo seguire por nostalgia, yo el primer curso de informatica lo hice en un 6128 en una academia, todavia conservo el cuaderno con los listados basic de los ejercicios que nos proponian.
Salu2
Sip, soy yo
Y yo también recibí mi primer curso de Basic con un CPC (un 464)
Visto que hay interés, le acabo de dar otro empujoncillo para hablar de variables, comentarios y de como guardar el trabajo en el PC para no perder el tiempo
Mañana hablo de IF y FOR y con eso liquidamos el Basic aplicable a casi cualquier ordenador, para empezar a partir de entonces a trabajar con cosas más exclusivas de los CPC.
Y yo también recibí mi primer curso de Basic con un CPC (un 464)
Visto que hay interés, le acabo de dar otro empujoncillo para hablar de variables, comentarios y de como guardar el trabajo en el PC para no perder el tiempo
Mañana hablo de IF y FOR y con eso liquidamos el Basic aplicable a casi cualquier ordenador, para empezar a partir de entonces a trabajar con cosas más exclusivas de los CPC.
Hecho. Apartado 1 completo.
Es un poco largo (casi 9 páginas impresas), pero a cambio contiene casi todo lo necesario para hacer cosas sencillitas en Basic, y que en su mayor parte son aplicables a cualquier otro microordenador clásico.
Se acaba el puente y volveré a tener menos tiempo libre, pero aun así me gustaría sacar al menos un apartado nuevo por semana. Quizá incluso el miércoles pueda preparar el apartado 2... en cualquier caso, avisaré aquí cuando esté listo.
Que la vuelta al trabajo os sea leve...
Es un poco largo (casi 9 páginas impresas), pero a cambio contiene casi todo lo necesario para hacer cosas sencillitas en Basic, y que en su mayor parte son aplicables a cualquier otro microordenador clásico.
Se acaba el puente y volveré a tener menos tiempo libre, pero aun así me gustaría sacar al menos un apartado nuevo por semana. Quizá incluso el miércoles pueda preparar el apartado 2... en cualquier caso, avisaré aquí cuando esté listo.
Que la vuelta al trabajo os sea leve...
Bienvenido a esta locura
En cuanto al enlace, lo que tú veas. Supongo que pegaría en tutoriales, pero no puedo opinar mucho más allá. No sé si en "primeros pasos" o en "programación / basic".
Si quieres, pon un enlace a mi Web, o si lo prefieres contenido alojado directamente en vuestro servidor, lo puedo convertir a PDF cada cierto tiempo y enviártelo.
Por cierto, ya está disponible una primera entrega del tema 2, todavía incompleta, pero ya con una buena cantidad de información:
http://www.nachocabanes.com/amstrad/curso/cpc02.php
En cuanto al enlace, lo que tú veas. Supongo que pegaría en tutoriales, pero no puedo opinar mucho más allá. No sé si en "primeros pasos" o en "programación / basic".
Si quieres, pon un enlace a mi Web, o si lo prefieres contenido alojado directamente en vuestro servidor, lo puedo convertir a PDF cada cierto tiempo y enviártelo.
Por cierto, ya está disponible una primera entrega del tema 2, todavía incompleta, pero ya con una buena cantidad de información:
http://www.nachocabanes.com/amstrad/curso/cpc02.php
Me he quedado sin merendar en el trabajo para dar un empujoncillo al curso. A cambio, ya está publicada la mitad del tema 3.
Como podreis ver por las imágenes, yo sí he hecho mis deberes y tengo soluciones para los ejercicios propuestos
. Pero no pienso publicarlas todavía...
Si alguien se anima a publicar alguna solución, me comprometo a revisarla y publicarla entonces.
Como podreis ver por las imágenes, yo sí he hecho mis deberes y tengo soluciones para los ejercicios propuestos
. Pero no pienso publicarlas todavía...
Si alguien se anima a publicar alguna solución, me comprometo a revisarla y publicarla entonces.
Para la solución del capítulo 2, me he programado esto:
En cuanto a la instrucción COPYCHR$ he notado algo curioso. Si usas el carácter 143 y haces la detección con COPYCHR$ y usas el mismo PEN, la detección es correcta, pero si el marco está en PEN 1 por ejemplo y tu estas trabajando en PEN 2 en ese momento, COPYCHR$ te devuelte un espacio en blanco (carácter 32). No ocurre con el resto de caracteres (por eso he usado un marco con el CHR$(200)).
Realmente curioso y no se el motivo.
Salu2.
Código: Seleccionar todo
10 ON BREAK GOSUB 360
20 MODE 1:BORDER 0:INK 0,0:INK 1,2:INK 2,20
30 'DIBUJADO MARCO Y OBSTACULOS
40 PEN 1
50 FOR x%=1 TO 40
60 LOCATE x%,1:PRINT CHR$(200)
70 LOCATE x%,25:PRINT CHR$(200);
80 NEXT
90 FOR y%=2 TO 24
100 LOCATE 1,y%:PRINT CHR$(200)
110 LOCATE 40,y%:PRINT CHR$(200)
120 NEXT
130 PEN 2
140 FOR n%=1 TO 6
150 IF n%=1 THEN p%=127
160 IF n%=2 THEN p%=202
170 IF n%=3 THEN p%=203
180 IF n%=4 THEN p%=206
190 IF n%=5 THEN p%=207
200 IF n%=6 THEN p%=143
210 x%=INT(RND(TIME)*38)+2
220 y%=INT(RND(TIME)*23)+2
230 LOCATE x%,y%:PRINT CHR$(p%)
240 NEXT
250 x%=20:y%=12:LOCATE x%,y%
260 IF ASC(COPYCHR$(#0))<>32 THEN x%=x%+1:y%=y%+1:LOCATE x%,y%:GOTO 260
270 xt%=x%:yt%=y%:p%=248:GOSUB 490
280 'BUCLE PRINCIPAL
290 IF INKEY(1)=0 THEN x%=x%+1:p%=251:GOSUB 370:GOSUB 490
300 IF INKEY(8)=0 THEN x%=x%-1:p%=250:GOSUB 370:GOSUB 490
310 IF INKEY(0)=0 THEN y%=y%-1:p%=249:GOSUB 370:GOSUB 490
320 IF INKEY(2)=0 THEN y%=y%+1:p%=249:GOSUB 370:GOSUB 490
330 IF p%<>248 THEN p%=248:FRAME:GOSUB 490
340 GOTO 290
350 p%=238:GOSUB 490:CLEAR INPUT:FOR n%=0 TO 2000:NEXT:CLS:PEN 1:GOTO 50
360 CLS:PEN 1:INK 1,24:END
370 'DETECTA COLISION
380 LOCATE x%,y%:IF ASC(COPYCHR$(#0))<>32 THEN GOTO 350
390 RETURN
400 'ACTUALIZA PERSONAJE
410 LOCATE xt%,yt%:PRINT CHR$(32)
420 LOCATE x%,y%:PRINT CHR$(p%)
430 xt%=x%:yt%=y%
440 RETURN
450 'x% e y% son las coordenadas del prota
460 'xt% e yt% son las coordenadas de borrado del fondo
470 'p% indica el "sprite" a utilizar en la animacion
Realmente curioso y no se el motivo.
Salu2.
Buena solución.
Aun así, un poco avanzada para el nivel del curso (no hemos visto -todavia- variables enteras, ni RND para posicionar al azar, ni siquiera GOSUB), así que pondré la mía o simplificaré un poco la tuya
Y sí, lo del COPYCHR$ lo conocía. Ten en cuenta que el rectángulo relleno y el espacio en color invertido muestran la misma secuencia de pixels iluminados. Lo que no he probado nunca es hasta dónde "se equivoca": si es siempre, o por intensidad luminosa de la tinta, o cómo lo hace exactamente.
Pero por ejemplo, si escribes una A y dibujas una línea, no reconocerá correctamente la A, porque no memoriza los caracteres que hay en pantalla, sino que compara patrones de bits en pantalla con los del juego de caracteres (no es un "modo de texto puro" como los de los PC).
Aun así, un poco avanzada para el nivel del curso (no hemos visto -todavia- variables enteras, ni RND para posicionar al azar, ni siquiera GOSUB), así que pondré la mía o simplificaré un poco la tuya
Y sí, lo del COPYCHR$ lo conocía. Ten en cuenta que el rectángulo relleno y el espacio en color invertido muestran la misma secuencia de pixels iluminados. Lo que no he probado nunca es hasta dónde "se equivoca": si es siempre, o por intensidad luminosa de la tinta, o cómo lo hace exactamente.
Pero por ejemplo, si escribes una A y dibujas una línea, no reconocerá correctamente la A, porque no memoriza los caracteres que hay en pantalla, sino que compara patrones de bits en pantalla con los del juego de caracteres (no es un "modo de texto puro" como los de los PC).
En este caso en concreto, dejando el marco con el rectángulo relleno y del mismo color (pen) que los obstáculos y personaje (y probando con varios colores), entonces si lo detecta como chr$(143).Y sí, lo del COPYCHR$ lo conocía. Ten en cuenta que el rectángulo relleno y el espacio en color invertido muestran la misma secuencia de pixels iluminados. Lo que no he probado nunca es hasta dónde "se equivoca": si es siempre, o por intensidad luminosa de la tinta, o cómo lo hace exactamente.
Pero por ejemplo, si escribes una A y dibujas una línea, no reconocerá correctamente la A, porque no memoriza los caracteres que hay en pantalla, sino que compara patrones de bits en pantalla con los del juego de caracteres (no es un "modo de texto puro" como los de los PC).
Esa es la idea. Si coincide el color del personaje y el del borde, debería colisionar correctamente. Si no, habría que usar otro carácter, como comentabas (o usar técnicas más sofisticadas, como guardar en memoria un "mapa" de posiciones válidas).En este caso en concreto, dejando el marco con el rectángulo relleno y del mismo color (pen) que los obstáculos y personaje (y probando con varios colores), entonces si lo detecta como chr$(143).
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro
La Comunidad Española |