Bonjour Nal,
En ce dernier dredi de 2017, j'ai décidé de t'écrire une dernière fois pour te faire part de ma découverte de Dwitter.
Dwitter est un petit site sur lequel on peut poster du code en Javascript pour faire des animations, ou des jolies nimages. Et il faut le faire en 140 caractères ou moins, d'où le "golf" (une pratique rigolote qui consiste à écrire les programmes les plus petits). On vous demande d'écrire le corps d'une fonction "u(t)", où "t" représente le temps écoulé depuis le début du programme, en secondes. La fonction "u" est appelée 60 fois par seconde. Pour simplifier les choses un peu, les auteurs du site ont raccourci le nom de quelques fonctions (cos et sin) et déjà configuré un canvas, ce qui permet de grappiller quelques caractères supplémentaires.
Voici comment on s'y prend:
Code original
c.width=1920; // efface l'écran
for (i = 0; i< 1920; i++) { // pour toute la largeur
x.fillStyle=R((960*(1+S(i/10)))/5,255-(960*(1+S(i/10)))/4,255-(960*(1+S(i/10)))/9); // jolies couleurs
x.fillRect(i,540+200*Math.sin(10*t+i/20)*Math.cos(t+S(i/300)),20,20); // jolie suite de points
}
Variables intermédiaires, change l'ordre de la boucle principale
c.width=w=1920;
for (i = w; i> 0; i--) {
f = (960*(1+S(i/10)));
x.fillStyle=R(f/5,255-f/4,(255-f)/9);
x.fillRect(i,540+200*Math.sin(10*t+i/20)*Math.cos(t+S(i/300)),20,20);
}
Substitutions sin/cos, et remplace 10 par 9 (personne ne verra la différence)
c.width=w=1920;
for (i = w; i> 0; i--) {
f = (960*(1+S(i/9)));
x.fillStyle=R(f/5,255-f/4,(255-f)/9);
x.fillRect(i,540+200*S(9*t+i/20)*C(t+S(i/300)),20,20);
}
Dirime les espaces, point-virgules et parenthèses
c.width=w=1920;for(i=w;i>0;i--)f=(960*(1+S(i/9))),x.fillStyle=R(f/5,255-f/4,(255-f)/9),x.fillRect(i,540+200*S(9*t+i/20)*C(t+S(i/300)),20,20)
Et voila le produit final en exactement 140 caractères !
Après, il y a des gens qui font des trucs de fou, et c'est rigolo de comprendre comment ils y sont arrivés : motif mouvant, raytracer(?), fractal
Allez, Nal, à l'an prochain !
# Sources
Posté par Faya . Évalué à 5. Dernière modification le 29 décembre 2017 à 21:34.
Et c'est libre ! https://github.com/lionleaf/dwitter "Apache License 2.0"
Bon visiblement ce sont les sources du site complet (Django) et je cherchais juste un moyen de tester ces ptites animations en local. Ça sera plus simple d'extraire le JS de là :
"Inspired by http://arkt.is/t/Yy53aWR0aD0yZTM7eC5maWxsUmVjdCgxNTAsMTUwKlModCkrMTUwLDE1MCwxNTAp "
(EDIT) ou là : https://github.com/lionleaf/dwitter/blob/1ad996d7425b5070081fbf63846158ebc7c734d4/dwitter/templates/dweet/dweet.html
# Top !
Posté par Thomas Debesse (site web personnel) . Évalué à 5.
Merci pour la découverte c’est super cool !
ce commentaire est sous licence cc by 4 et précédentes
# GFA Punch
Posté par dcp . Évalué à 5.
Sympa! ça rappellera peut-être aux plus anciens (on ne se moque pas) les GFA Punch de ST Mag …
20 lignes maximum en GFA Basic pour réaliser des trucs de dingue sur Atari ST :
http://knox.ac.free.fr/atari_punchs.htm
Bon réveillon à tous
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.