Pequeño concurso de programación

dragonet80
Mensajes: 570
Registrado: 28 Nov 2017 12:36
Agradecido : 265 veces
Agradecimiento recibido: 228 veces

Re: Pequeño concurso de programación

Mensajepor dragonet80 » 29 Dic 2022 20:39

Último mensaje de la página anterior:

kenneth escribió:Una versión como "LOGO" -grin

Código: Seleccionar todo

1 X=20:Y=5:T=1:L=4:CLS:X$="2212020100102021":Y$="2021221202010010"
2 FORA=1 TO L:PLOTX,Y,"*":X=X+VAL(MID$(X$,T,1))-1:Y=Y+VAL(MID$(Y$,T,1))-1:NEXT
3 T=T+1:IF T=17THEN X=X+1:Y=Y+2:T=1:L=L-1 ELSE 2:IF L=-1 THEN END ELSE 2

Està muy guapo.

Avatar de Usuario
frankrodiii
Mensajes: 588
Registrado: 26 May 2019 14:46
Ubicación: ??!!!#=?¿****!!! ©
Agradecido : 429 veces
Agradecimiento recibido: 243 veces
Contactar:

Estrella en Applesoft BASIC con for, gosub y htab/vtab

Mensajepor frankrodiii » 29 Dic 2022 21:38

Código: Seleccionar todo

10 home: a$=chr$(42): b$=a$: va=1: vb=17: h=1

20 for l=7 to 1 step -2
30 vtab va: gosub 100: vtab vb: gosub 100
40 b$=b$+a$: va=va+1: vb=vb-1
50 next l

60 for l=17 to 11 step -2
70 vtab va: gosub 110: vtab vb: gosub 110
80 h=h+1: va=va+1: vb=vb-1
90 next l: vtab va: gosub 110

99 vtab 18: end

100 htab 5: ? b$;: for k=1 to l: ? " ";: next k: ? b$;: return
110 htab h: for k=1 to l: ? a$;: next k: ?: return

No es que me haya comido mucho el coco, lo que he hecho, a parte de ir utilizando los comandos propios del Applesoft BASIC (VTAB y HTAB) es hacer que la estrella se dibuje de arriba a la mitad y de abajo a la mitad. Las líneas 20 a 50 dibujan la parte del extremo hasta medio camino y de la 60 a la 90 dibujan hasta el centro. Digamos que es una versión muy verbose. -507
frankrodriguez.net - -m4c SE/30 - SiDi - Apple IIc

dragonet80
Mensajes: 570
Registrado: 28 Nov 2017 12:36
Agradecido : 265 veces
Agradecimiento recibido: 228 veces

Re: Pequeño concurso de programación

Mensajepor dragonet80 » 29 Dic 2022 23:31

Acabo de ver el video completo. 27 bytes, ¡qué barbaridad!

Avatar de Usuario
lechuck
Mensajes: 35
Registrado: 02 Sep 2021 22:42
Ubicación: Madrid
Agradecido : 48 veces
Agradecimiento recibido: 43 veces

Re: Pequeño concurso de programación

Mensajepor lechuck » 30 Dic 2022 08:58

dragonet80 escribió:Acabo de ver el video completo. 27 bytes, ¡qué barbaridad!


La verdad es que sí. Impresionante. Y yo que estaba tan contento con mis 80 bytes… -no

Avatar de Usuario
gflorez
Mensajes: 1569
Registrado: 12 Sep 2014 19:58
Agradecido : 72 veces
Agradecimiento recibido: 506 veces

Re: Pequeño concurso de programación

Mensajepor gflorez » 30 Dic 2022 09:23

Imagen

Pues si, este de kenneth no pinta varias veces el mismo asterisco como el mio, solo lo hace una vez, y es hipnótico.....

Por ponerle una sola pega....: en vez de una fórmula usa un camino prefijado para la tortuga en las variables X$ e Y$. Es muy ingenioso, pues almacena ceros, unos y doses en esas cadenas, que luego transforma dígito a dígito en - 1, 0 y +1 con solo restarles 1.

Avatar de Usuario
gflorez
Mensajes: 1569
Registrado: 12 Sep 2014 19:58
Agradecido : 72 veces
Agradecimiento recibido: 506 veces

Re: Pequeño concurso de programación

Mensajepor gflorez » 30 Dic 2022 09:27

dragonet80 escribió:Acabo de ver el video completo. 27 bytes, ¡qué barbaridad!


¿Se ve el listado? ¿En que punto del vídeo está?

Avatar de Usuario
lechuck
Mensajes: 35
Registrado: 02 Sep 2021 22:42
Ubicación: Madrid
Agradecido : 48 veces
Agradecimiento recibido: 43 veces

Re: Pequeño concurso de programación

Mensajepor lechuck » 30 Dic 2022 10:36

gflorez escribió:
dragonet80 escribió:Acabo de ver el video completo. 27 bytes, ¡qué barbaridad!


¿Se ve el listado? ¿En que punto del vídeo está?


Sí, en el minuto 43 se ve el listado.

Avatar de Usuario
gflorez
Mensajes: 1569
Registrado: 12 Sep 2014 19:58
Agradecido : 72 veces
Agradecimiento recibido: 506 veces

Re: Pequeño concurso de programación

Mensajepor gflorez » 30 Dic 2022 10:58

Ah, si, lo he visto, pero el truco está en que hace llamadas a la Rom del ZX81.... Bueno, todos lo hacemos.... incluso el interprete de Basic es una Rom...

Avatar de Usuario
KatuTech
Mensajes: 77
Registrado: 18 Jul 2021 14:47
Agradecido : 45 veces
Agradecimiento recibido: 30 veces

Re: Pequeño concurso de programación

Mensajepor KatuTech » 30 Dic 2022 13:12

explorer escribió:Vale, ya sé cómo funciona.

El doble bucle FOR recorre el siguiente triángulo:

Código: Seleccionar todo

            |
            |
        *   +-8
        **  |
        *** |
        ****|
        *****-4
        ******
        *******
   -8  -4*******4   8
----+---*********---+--> X
        **********
        ***********
        ************
        ***4+********
            |
            |
            |
           8+
            |
            |
            V Y

Ahora bien, por efecto de SGNRND, se obtiene un valor -1, 0 y 1 (el valor 0 no nos importa), que se traduce en ese mismo triángulo, girado en horizontal y vertical. Los cuatro triángulos forman el copo de nieve.

Es decir: de forma repetida por efecto del RUN, se recorre una figura triangular, y por cada posición X e Y, se rellena de forma aleatoria uno de los cuatro triángulos posibles.


Se le tiene que ocurrir a alguien. Y ese alguien desde luego no fui yo, que implementé una solución "clasica" y la conseguí adelgazar hasta que ya no daba más de si. En ese punto estoy contento.

Pensaba que el programa tenía que terminar y ese RUN me descolocaba. He comprobado las bases y se permite. Eso si, el programa puede tardar un rato en acabar de pintar todos los asteriscos. Lo he probado unas cuantas veces y, ¡puede tardar hasta 20 segundos en completar la figura!

A ver cuando es el próximo reto, que esto engancha.

Avatar de Usuario
explorer
Mensajes: 569
Registrado: 10 Ene 2016 18:43
Ubicación: Valladolid, España
Agradecido : 20 veces
Agradecimiento recibido: 539 veces
Contactar:

Re: Pequeño concurso de programación

Mensajepor explorer » 02 Ene 2023 16:38

Actualmente... hay retos de programación por todas partes. Si estáis interesados, podemos probar algunos o los que creamos que se pueden resolver con nuestros "ancestrales" lenguajes de programación.

Avatar de Usuario
explorer
Mensajes: 569
Registrado: 10 Ene 2016 18:43
Ubicación: Valladolid, España
Agradecido : 20 veces
Agradecimiento recibido: 539 veces
Contactar:

Re: Pequeño concurso de programación

Mensajepor explorer » 03 Ene 2023 18:39

Me he apuntado a los retos semanales de MoureDev, y ya he mandado mi primera solución en Atari BASIC :-)

https://github.com/mouredev/retos-progr ... errero.lst

Avatar de Usuario
Miguel angel rojo
Mensajes: 1979
Registrado: 08 May 2017 12:49
Agradecido : 159 veces
Agradecimiento recibido: 677 veces

Re: Pequeño concurso de programación

Mensajepor Miguel angel rojo » 03 Ene 2023 20:44

esto vale'?
despues de 30 años, parece que empiezo a aprender algo de basic, estoy siguiendo un tuto de basic para cpc para estas navidades
ya se, es facil..... solo uso draw -grin
Captura de pantalla 2023-01-03 a las 20.39.05.jpg
Captura de pantalla 2023-01-03 a las 20.39.05.jpg (24.71 KiB) Visto 267 veces
-coam1 -4mstr4d -j4tar1 -cocbm1
-0r1c -sp3zy -m3s3x -m4c

zxpope
Mensajes: 270
Registrado: 02 Ene 2018 02:25
Agradecido : 100 veces
Agradecimiento recibido: 105 veces

Re: Pequeño concurso de programación

Mensajepor zxpope » 04 Ene 2023 10:10

explorer escribió:Actualmente... hay retos de programación por todas partes. Si estáis interesados, podemos probar algunos o los que creamos que se pueden resolver con nuestros "ancestrales" lenguajes de programación.


Hola Explorer,
La verdad es que me lo he pasado bien. Me encantan los desafios que consisten en escribir... 5 o 10 lineas de programa.
Es un tamaño de problema interesante para ir pensando en el metro o en el ascensor...

Tener un concurso de estos todas las semanas hace decaer el interés. Un concurso cada trimestre, parece mas razonable.
Si el concurso es internacional, mola, pues además, aprendes trucos y trucos comparados (cuanto mejor es una plataforma
respecto a otra). El ganador con sus 27 bytes es un buen ejemplo de ello.

Explorer, si dispones de un calendario, podriamos señalar concursos y hacer un hilo de discusión para cada uno de ellos.
Estas cosas son mas interesantes en comunidad, y permite generar software(demos) en plataformas que sinó, irían muriendo poco a poco.

Y para cerrar el circulo, además generamos material para el programa de televisión Retrocrypta :-)

salud
zxpope


Volver a “Lenguajes de Programación y herramientas Dev”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados