lkdjiin's blog

Confessions d'un développeur.

Le jeu de la vie en ruby (opal) - partie 2

| Comments

Niveau : intermédiaire

Deuxième partie du jeu de la vie en Ruby/Opal.rb, on va calculer le prochain état d’une cellule, et extraire un voisinage de cellules d’une génération. Après l’avoir écrit en Javascript, j’avoue que cette partie est quelque peu ennuyeuse à reproduire. Je vais montrer du code, mais il y aura peu d’explications, la logique étant la même qu’en Javascript (quoiqu’à base de classes cette fois-ci).

Le jeu de la vie en javascript - partie 3

| Comments

Niveau : intermédiaire

C’est le moment de mettre ensemble tous les éléments codés jusqu’ici pour contempler le jeu de la vie s’épanouir devant nos yeux. Seulement je n’ai pas d’idée claire sur la manière dont ça peut-être fait en javascript, et même sur les problèmes que ça pourrait poser, et encore moins sur la manière de tester ça avec Jasmine.

Le TDD n’est pas une religion ! Ce n’est pas un précepte qu’on suit aveuglement. On peut, et on doit, le questionner. Comment écrire un test quand on n’a pas la moindre idée du problème à résoudre ?

Le jeu de la vie en javascript - partie 2

| Comments

Niveau : intermédiaire

Précédement nous avons écrit une fonction pour produire une génération de cellules au hasard. Nous allons aujourd’hui afficher une telle génération. Je veux maintenant calculer le prochain état d’une cellule, en fonction de son voisinage. Pour rappel:

  • Si la somme des 9 cellules du voisinage est 3, le nouvel état est «vivant».
  • Si la somme des 9 cellules du voisinage est 4, le nouvel état est le même que l’ancien.
  • Dans tous les autres cas, le nouvel état est «mort».

Le jeu de la vie en javascript - partie 1

| Comments

Niveau : intermédiaire

C’est parti pour le jeu de la vie version Javascript. Dans ce premier article nous allons créer une génération de cellules au hasard et l’afficher.

J’avais annoncé dans l’article précédent que je commencerais par la version Ruby/Opal. Je l’ai écrite mais je n’en suis pas satisfait. Les performances sont très pauvres et j’ai écrit plus de code que nécessaire. Je prendrais donc le temps de la nettoyer un peu avant de la publier.

Le jeu de la vie dans sept langages différents

| Comments

Niveau : intermédiaire

Je vais écrire le jeu de la vie dans 7 langages, et en utilisant le TDD (sauf pour l’affichage). Ça va me permettre de réviser certains langages et d’en apprendre de nouveaux d’une manière amusante. Après tout, quoi de plus fun qu’un jeu pour zéro joueur.

L’algorithme

L’idée directrice, c’est de faire au plus simple. L’algorithme général sera le suivant :

  1. obtenir une première génération au hasard
  2. afficher la génération
  3. calculer la nouvelle génération et retour au point 2.

Discutons un peu chacun des trois points.

Les tours de Hanoi - partie 3

| Comments

Niveau : intermédiaire

On commence à coder l’algorithme génétique pour solutionner les tours de Hanoi.

$ tree
.
├── ga.rb
├── lib
│   ├── hanoi
│   │   ├── board.rb
│   │   ├── game.rb
│   │   └── rules.rb
│   └── hanoi.rb
└── spec
    ├── board_spec.rb
    ├── game_spec.rb
    ├── integration
    │   └── game_spec.rb
    └── spec_helper.rb