Soutenir Planète Casio !

Ce site vous plait ?

Ajoutez ce bouton sur votre site ou sur les forums pour soutenir Planète-Casio et sa communauté :

Le code à mettre sur votre site :

Ou dans votre signature :

Et rejoignez-nous sur :

Merci de votre soutien !

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: 15903 Défis: 101 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: 15903 Défis: 101 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: 15903 Défis: 101 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 - 2019 | Il y a 24 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