Concurso de programación navideño 2024
- Jinks
- Mensajes: 2801
- Registrado: 09 Oct 2013 16:47
- Has thanked: 360 times
- Been thanked: 500 times
- Contactar:
Re: Concurso de programación navideño 2024
Bueno, al final en lugar de buscar un método "elegante" (total, para lo que me sirvió otros años) he optado por hacerlo a lo bruto y en un lenguaje de alto nivel... y moderno. Tras llegar a 3 soluciones distintas pero con idéntico tamaño, ya lo dejo. No adjunto pantallazo porque sospechosamente se parece a los que habéis puesto los demás
- badaman
- Mensajes: 591
- Registrado: 13 Feb 2012 19:12
- Ubicación: Badajoz, España
- Has thanked: 185 times
- Been thanked: 366 times
- Contactar:
Re: Concurso de programación navideño 2024
La versión para Sinclair QL desarrollada en SuperBASIC.
«ZX Spectrum+, yo soy tu padre» - Dark QL
- badaman
- Mensajes: 591
- Registrado: 13 Feb 2012 19:12
- Ubicación: Badajoz, España
- Has thanked: 185 times
- Been thanked: 366 times
- Contactar:
Re: Concurso de programación navideño 2024
La página de envío ha cambiado: https://logiker.com/Vintage-Computing-C ... lenge-2024
«ZX Spectrum+, yo soy tu padre» - Dark QL
- badaman
- Mensajes: 591
- Registrado: 13 Feb 2012 19:12
- Ubicación: Badajoz, España
- Has thanked: 185 times
- Been thanked: 366 times
- Contactar:
Re: Concurso de programación navideño 2024
Ya terminó el concurso, ahora a esperar los resultados.
En el caso del QL he conseguido un fichero de 87 bytes, aunque por la duda se ha presentado uno de 88 bytes por si no era aceptado sin número de línea:
Mi versión de 95 bytes se ha visto reducida con la idea de Javu61 de utilizar MOD para mostrar un PRINT u otro. La anterior versión era:
El código tiene algunos truquis, por ejemplo el número de línea puede poerse o no, y puede ir pegado a la primera instrucción, ya que el SuperBASIC lo cargará y se ocupará de leerlo bien.
La coma (,) actúa como tabulador junto con el PRINT, incluyendo entonces 8 espacios.
En el FOR, el 0 en el caso de arriba, y el 1 en el caso de abajo, pueden ir pegados al TO que indica el rango de valores.
El FOR soporta valores separados por comas además de rangos, como en FOR i=1,10,19.
El PRINT puede ir pegado a las comillas. Caso curioso el ELSEPRINT, que SuperBASIC lo lee y los separa sin problema (esto no funciona con la ROM Minerva)
Y sí, tanto el IF como el FOR pueden ponerse en una misma línea sin cerrar, es decir, no necesitan END IF ni END FOR, en el caso del IF ni siquiera necesita THEN.
El resultado ya lo habéis visto, y ahora conocéis un poco más de la potencia de SuperBASIC puro.
Ambos programas se pueden cargar con LOAD. el que no tiene número de línea se ejecutará inmediatamente. El segundo requiere de RUN. Ambos también pueden ser cargados y ejecutados directamente con LRUN.
En el caso del QL he conseguido un fichero de 87 bytes, aunque por la duda se ha presentado uno de 88 bytes por si no era aceptado sin número de línea:
Código: Seleccionar todo
PRINT,"\O/":FOR i=0TO 18:IF i MOD 9:PRINT"!"," !"," !":ELSEPRINT"+--------+--------+"
Código: Seleccionar todo
1PRINT,"\O/":FOR i=1TO 18:PRINT"!"," !"," !"
2FOR i=1,10,19:AT i,0:PRINT"+--------+--------+"
La coma (,) actúa como tabulador junto con el PRINT, incluyendo entonces 8 espacios.
En el FOR, el 0 en el caso de arriba, y el 1 en el caso de abajo, pueden ir pegados al TO que indica el rango de valores.
El FOR soporta valores separados por comas además de rangos, como en FOR i=1,10,19.
El PRINT puede ir pegado a las comillas. Caso curioso el ELSEPRINT, que SuperBASIC lo lee y los separa sin problema (esto no funciona con la ROM Minerva)
Y sí, tanto el IF como el FOR pueden ponerse en una misma línea sin cerrar, es decir, no necesitan END IF ni END FOR, en el caso del IF ni siquiera necesita THEN.
El resultado ya lo habéis visto, y ahora conocéis un poco más de la potencia de SuperBASIC puro.
Ambos programas se pueden cargar con LOAD. el que no tiene número de línea se ejecutará inmediatamente. El segundo requiere de RUN. Ambos también pueden ser cargados y ejecutados directamente con LRUN.
«ZX Spectrum+, yo soy tu padre» - Dark QL
Re: Concurso de programación navideño 2024
Muy buen truco lo de las ",", yo imprimí todos los espacios pero el resto de caracteres dependían de la divisibilidad por 9 de x,y
He visto que en Locomotive BASIC podría haber usado SPC(8) y me habría ahorrado 2 preciosos bytes, jeje, para la próxima.
Eliminé espacios esenciales y usé líneas de un sólo dígito
He visto que en Locomotive BASIC podría haber usado SPC(8) y me habría ahorrado 2 preciosos bytes, jeje, para la próxima.
Eliminé espacios esenciales y usé líneas de un sólo dígito
Código: Seleccionar todo
1?" \O/"
2for i=0to 18:for j=0to 18
3a=32-10*((i mod 9)=0)-((j mod 9)=0):a=a-(a=42)*3
4?chr$(a);:next:?:next
- badaman
- Mensajes: 591
- Registrado: 13 Feb 2012 19:12
- Ubicación: Badajoz, España
- Has thanked: 185 times
- Been thanked: 366 times
- Contactar:
Re: Concurso de programación navideño 2024
El uso de ? en vez de PRINT tambien ayuda
«ZX Spectrum+, yo soy tu padre» - Dark QL
- explorer
- Mensajes: 726
- Registrado: 10 Ene 2016 18:43
- Ubicación: Valladolid, España
- Has thanked: 24 times
- Been thanked: 690 times
- Contactar:
Re: Concurso de programación navideño 2024
Presentación de todas las propuestas, a las 19:00 del día 28/12:
JF^D - Calendario de Retroinformática - Telegram Retro Spain - RetroDev ES
Re: Concurso de programación navideño 2024
Participants for Enterprise 64/128:
SlashNet (IS-Basic)
FeCO (IS-Basic)
Geco (ASM)
and possibly
Povi (CP/M)
SlashNet (IS-Basic)
FeCO (IS-Basic)
Geco (ASM)
and possibly
Povi (CP/M)
Re: Concurso de programación navideño 2024
Ya están las entries subidas a scene.org junto con los resultados:
https://ftp.scene.org/pub/parties/2024/vccc24/
Primeros 32 puestos:
1 Christmas Present (PC/APL) by Logiker [34]
2 Christmas Present (IBM 5110/APL) by pdw [40]
3 Christmas Present (Amstrad CPC 6128../Z80 Assembler) by Longshot / Logon System [41]
3 Christmas Present (Commodore C128/6502 Assembler) by GeirS [41]
5 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by Dr Beep [42]
5 Christmas Present (Amstrad CPC/Z80 Assembler) by Overflow [42]
7 Christmas Present (Amstrad CPC/Z80 Assembler) by lightforce6128 [43]
8 Christmas Present (Commodore C64/6502 Assembler ..) by Bitbreaker/Performers [44]
8 Christmas Present (MEGA65/4510 Assembler) by GeirS [44]
10 Christmas Present (Commodore C64/6502 Assembler) by serato / finnish gold [45]
10 Christmas Present (Commodore C64/6502 Assembler) by GeirS [45]
10 Christmas Present (286 PC/Assembler) by pdw [45]
13 Christmas Present (Amstrad CPC 6128../Z80 Assembler) by SymbiosiS [46]
13 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by Dalthon/Joker & Mat/ESI [46]
15 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by UriS [47]
15 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by Art-top [47]
17 Christmas Present (Commodore C64/6502 Assembler ..) by radek [50]
18 Christmas Present (Amstrad CPC/Z80 Assembler) by Arnolde of Leosoft [51]
19 Christmas Present (Amstrad CPC6128/MAXAM Z80 Assem..) by TFM of FutureSoft [52]
19 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by mustardtiger [52]
19 Christmas Present (PC/x86 Assembler) by Xeleh [52]
22 Christmas Present (BBC Micro/BBC BASIC) by David Payne [53]
22 Christmas Present (KC 85/4/Z80 Assembler) by dOc.K / Moods Plateau [53]
24 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by g0blinish [54]
24 Christmas Present (Amstrad CPC 6128../Z80 Assembler) by Prodatron [54]
24 Christmas Present (Commodore C128/6502 Assembler) by STK [54]
27 Christmas Present (PC/Assembler) by iolo [57]
27 Christmas Present (PC/Python) by Logiker [57]
29 Christmas Present (Commodore C64/Assembler) by romwer [58]
29 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by spaceWumpus [58]
31 Christmas Present (BBC Micro/6502 Assembler) by David Payne [60]
31 Christmas Present (BK-0010.01/MACRO-11 assemb..) by Sergey Pavlov [60]
https://ftp.scene.org/pub/parties/2024/vccc24/
Primeros 32 puestos:
1 Christmas Present (PC/APL) by Logiker [34]
2 Christmas Present (IBM 5110/APL) by pdw [40]
3 Christmas Present (Amstrad CPC 6128../Z80 Assembler) by Longshot / Logon System [41]
3 Christmas Present (Commodore C128/6502 Assembler) by GeirS [41]
5 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by Dr Beep [42]
5 Christmas Present (Amstrad CPC/Z80 Assembler) by Overflow [42]
7 Christmas Present (Amstrad CPC/Z80 Assembler) by lightforce6128 [43]
8 Christmas Present (Commodore C64/6502 Assembler ..) by Bitbreaker/Performers [44]
8 Christmas Present (MEGA65/4510 Assembler) by GeirS [44]
10 Christmas Present (Commodore C64/6502 Assembler) by serato / finnish gold [45]
10 Christmas Present (Commodore C64/6502 Assembler) by GeirS [45]
10 Christmas Present (286 PC/Assembler) by pdw [45]
13 Christmas Present (Amstrad CPC 6128../Z80 Assembler) by SymbiosiS [46]
13 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by Dalthon/Joker & Mat/ESI [46]
15 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by UriS [47]
15 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by Art-top [47]
17 Christmas Present (Commodore C64/6502 Assembler ..) by radek [50]
18 Christmas Present (Amstrad CPC/Z80 Assembler) by Arnolde of Leosoft [51]
19 Christmas Present (Amstrad CPC6128/MAXAM Z80 Assem..) by TFM of FutureSoft [52]
19 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by mustardtiger [52]
19 Christmas Present (PC/x86 Assembler) by Xeleh [52]
22 Christmas Present (BBC Micro/BBC BASIC) by David Payne [53]
22 Christmas Present (KC 85/4/Z80 Assembler) by dOc.K / Moods Plateau [53]
24 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by g0blinish [54]
24 Christmas Present (Amstrad CPC 6128../Z80 Assembler) by Prodatron [54]
24 Christmas Present (Commodore C128/6502 Assembler) by STK [54]
27 Christmas Present (PC/Assembler) by iolo [57]
27 Christmas Present (PC/Python) by Logiker [57]
29 Christmas Present (Commodore C64/Assembler) by romwer [58]
29 Christmas Present (Sinclair ZX Spect../Z80 Assembler) by spaceWumpus [58]
31 Christmas Present (BBC Micro/6502 Assembler) by David Payne [60]
31 Christmas Present (BK-0010.01/MACRO-11 assemb..) by Sergey Pavlov [60]