Page 1 sur 3

[Mini Challenge #17] Autodestruction!

Message non luPosté: 23 Aoû 2016, 21:11
de Excale
Avoir des programmes, c'est bien.
Ne plus en avoir, c'est mieux.

Votre défi est d'écrire un programme BASIC qui s'autodétruit.

Typiquement, l'ouput aura une forme du type (sur CAS):
Image

La forme est généralement très libre. Si vous trouvez une solution partielle ou qui demande des manipulations tordues, ça peut compter aussi.
Ma solution n'est d'ailleurs pas générale.

Trucs déjà connus (pas de gloire pour de telles solutions):
-Utilisation de Lua (voir le post d'Adriweb)

J'ai testé ma solution sous l'OS 3.1 et 4.3. Il existe donc une solution qui marche sur le dernier OS.

Re: [Mini Challenge #17] Autodestruction!

Message non luPosté: 23 Aoû 2016, 21:15
de Adriweb
Effectivement, en Lua, c'est fort simple :)

Show/Hide spoilerAfficher/Masquer le spoiler
Code: Tout sélectionner
function on.varChange()
    timer.start(.5)
end

function on.timer()
    math.eval("Delvar kaboum")
    timer.stop()
end

var.monitor("zeflag")

Code: Tout sélectionner
Define kaboum()=
Prgm
zeflag:=rand()
EndPrgm


En pur Basic, par contre...

Re: [Mini Challenge #17] Autodestruction!

Message non luPosté: 24 Aoû 2016, 10:14
de Bisam
Excale a écrit:J'ai testé ma solution sous l'OS 3.1 et 4.3. Il existe donc une solution qui marche sur le dernier OS.

Ta solution marchait-elle déjà sur TI 68k ?

Re: [Mini Challenge #17] Autodestruction!

Message non luPosté: 24 Aoû 2016, 18:49
de Excale
Bisam a écrit:Ta solution marchait-elle déjà sur TI 68k ?


Le principe peut-être. En pratique, non. Il n'y a déjà pas assez de RAM avec le dernier OS pour que ça marche sur une CX. Ça marche très bien sur le logiciel PC en revanche.
[Et ça vous fait un indice sur ma méthode]

Re: [Mini Challenge #17] Autodestruction!

Message non luPosté: 24 Aoû 2016, 19:03
de Bisam
J'ai essayé un dépassement de pile sur 68k... mais une fois l'erreur détectée, on ne peut pas réécrire dans la même pile pour faire oublier que le programme a été lancé.
La batterie de ma Nspire CX présente de gros signes de faiblesse... Elle ne tient pratiquement plus la charge ! Par conséquent, je ne m'en sers pratiquement plus.

Re: [Mini Challenge #17] Autodestruction!

Message non luPosté: 24 Aoû 2016, 19:12
de Excale
Si tu veux essayer des choses, je te conseille de le faire avec TINCS. De plus, ce sera bien plus rapide.

Re: [Mini Challenge #17] Autodestruction!

Message non luPosté: 25 Aoû 2016, 10:47
de Bisam
Mouais...
J'arrive à toute sorte d'erreurs (même des non documentées, genre "Dépassement des ressources : Calcul impossible", numérotée 672 et n'apparaissant pas dans le manuel), mais je n'arrive pas à me donner la main sur le programme en cours.
Bref, je donne ma langue au chat !

Re: [Mini Challenge #17] Autodestruction!

Message non luPosté: 31 Aoû 2016, 12:00
de clifward
Alors ? On aura droit à la solution ? :p

Re: [Mini Challenge #17] Autodestruction!

Message non luPosté: 31 Aoû 2016, 12:03
de Adriweb
Il est possible que la solution d'Excale soit tellement intéressante qu'elle ne soit pas révélée tout de suite :P
Creusez-vous les méninges \o/

Re: [Mini Challenge #17] Autodestruction!

Message non luPosté: 10 Sep 2017, 14:37
de Excale
Après des décennies d'attente...
Voici une solution.