Seuls les membres ayant 30 points peuvent parler sur le chat.
Entraide

Problème avec un programme ? Tu sais pas comment transférer un programme ? Tu es bloqué avec ton projet ?

Planète-Casio est une communauté d'entraide regroupant de fins connaisseurs sur les Casio qui seront ravis de te dépanner !

Allez sur le Forum partie Problèmes pour exposer votre souci et obtenir de l'aide.

Vous pouvez aussi trouver la réponse directement dans le FAQ du site, régulièrement mise à jour par les administrateurs.

Si vous cherchez à perfectionner votre niveau en programmation, visitez la section Astuces du forum et les Articles de qualité.

Défi
Retour liste des défis
Pot de peinture
Difficulté : Moyen
Défi ajouté par : Purobaz le 14-09-2011 16:33
PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message
Question ou texte du défi :
Voilà, je vous propose de faire un algorithme de pot de peinture :
- le plus rapide possible
- le plus léger possible
- et le moins gourmand en mémoire

Evidemment il devra être en basic, et en mode graphique (PxlTest et PxlOn).

Voici le code minimal que j'utilise :
Cls
F-Line 54,36,64,46
F-Line 64,46,74,16
F-Line 74,16,54,35
[green]' On trace un triangle[/green]
Plot[DISP]
X->A:64-Y->B
[green]' L'algorithme doit ensuite remplir la forme à partir du point de coordonnées (A;B)
' Attention les coordonnées sont inversées[/green]

La forme ainsi tracée permet de comparer la vitesse de l'algorithme. Mais l'algorithme doit être capable de remplir n'importe quelle autre forme et de détecter les bords de l'écran.


Voici les performances de mon algorithme :
248 octets tout compris, 33'' pour remplir la forme, en utilisant 1584 octets de fonctionnement
J'en ai également réalisé un autre légèrement plus lourd (272 octets) mais plus rapide (25'' pour remplir la forme).


Commentaires :

TotoyoHors ligneMembre d'honneurPoints: 15980 Défis: 102 Message
Posté le 14-09-2011 à 16:37 | #
Très facile ?

Je l'aurais mis en moyen au moins !
PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message
Posté le 14-09-2011 à 16:49 | #
Non, car on en a déjà parlé sur le forum.
TotoyoHors ligneMembre d'honneurPoints: 15980 Défis: 102 Message
Posté le 14-09-2011 à 16:55 | #
J'ai une idée en tête, peut-être que je trouverai un peu de temps à côté des tests...
PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message
Posté le 14-09-2011 à 19:27 | #
Tu ne donnes pas assez de précision je trouve. On doit le faire en Locate? Mode graphique? Si oui, pixel par pixel? La détection des pixels déjà présents se fait à coup de pixeltest ?
NitrosaxHors ligneAncien rédacteurPoints: 1061 Défis: 17 Message
Posté le 17-09-2011 à 14:03 | #
Pour le mode graphique, ça paraît évident.
A part ça, je pense que chacun peut faire un peu comme il veut.
TotoyoHors ligneMembre d'honneurPoints: 15980 Défis: 102 Message
Posté le 17-09-2011 à 17:00 | #
Pot de peinture dans un triangle ? Ok, c'est facile alors...
PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message
Posté le 18-09-2011 à 13:41 | #
Le triangle, c'est pour comparer les performances.
Mais l'algorithme doit être capable de remplir n'importe quelle autre forme et de détecter les bords de l'écran.
LancelotHors ligneMembrePoints: 1274 Défis: 160 Message
Posté le 07-09-2013 à 18:47 | #
Message envoyé en attente de points
PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message
Posté le 07-09-2013 à 20:19 | #
Ouais ça marche, un bon concurrent à mon algo.
LancelotHors ligneMembrePoints: 1274 Défis: 160 Message
Posté le 07-09-2013 à 21:23 | #
Merci des points.
Je bosse sur le défi du nombre d'or.
réponse dans les prochains jours.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 33 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd