Greg's Devblog Par un développeur, pour les développeurs

9nov/101

CoffeeScript : syntax javascript compact

Ca fait un moment que je me dis que la façon usuelle de changer la valeur d'une variable en mettant un if est un peu moche à lire.

Le classique, suivi du "propre" :

if (condition) toto = truc;

ou

if (condition){
    toto = truc;
}

J'aurais voulu une syntaxe plus propre et lisible que ça, un peu de la même manière que parfois c'est plus clair de ne pas utiliser le if/then/else et de faire la chose suivante :

toto = condition ? truc : machin;

Bref, je pourrais très bien mettre "toto = condition ? truc : toto", mais je trouve ça laid de dupliquer le "toto"...

Et là, je tombe sur CoffeeScript, qui se propose d'écrire son code Javascript avec une autre syntaxe, et de générer le code Javascript correspondant après coup. Ca peut paraitre étrange, mais après tout, pourquoi pas ? En tout cas, dans leur syntaxe on trouve la construction suivante :

toto = truc if condition

Exactement ce que je voulais ! Clair, lisible, conci.

Je ne fais pas de Javascript en ce moment, mais l'approche me parait intéressante, donc je jetterai un oeil à ça un jour :) En tout cas, pour voir tout ça, c'est sur le site de CoffeeScript.

2août/100

HTML5 : coder des jeux ?

Je me dis que ça pourrait toujours servir d'apprendre à faire des jeux en utilisant du HTML5 et du Javascript, du coup j'ai repéré 2 petits jeux sympas dont je vais potasser les sources histoire de pondre des jeux par la suite :)

Le premier, c'est SameGame, un petit jeu où on doit éclater des groupes de bulles pour les faire toutes disparaitre. J'ai regardé vite fait comment ça marche, ça m'a l'air assez simple, même si ça n'utilise que des routines de géométrie pour l'affichage (pour les cercles).

Le deuxième, c'est Pacman, dans un très joli remake. Ce jeu-là est beaucoup plus complet que l'autre, avec la gestion de l'audio, par exemple. Les sources sont plus conséquentes, mais probablement plus informatives.

J'avais quelques tutos sous le coude que je n'ai pas encore publié, je pense que je vais attendre d'avoir des démos visuels à attacher aux tutos histoire de rendre ça plus vivant et plus pratique à tester :p