Vous n'êtes pas identifié(e).
Zoom : Le plus petit Tetris du monde
Le développeur Martin Kleppe s'est lancé un défi : coder un jeu de Tetris pesant moins 140 octets, en convertissant les blocs du niveau en nombres binaires.
Hors ligne
Ca me rappelle le starfield de 20 octets codé en assembleur, tout simplement hallucinant : http://www.df.lth.se/~john_e/small/sstar/star.html
Chapeau bas aussi pour le Tetris, en 140 octets de Javascript, je n'aurais pas cru qu'on pouvait faire ça. C'est à se demander pourquoi le Web rame alors !
Hors ligne
Simplement parce que l'optimisation, ça prend du temps, et que le Quick&Dirty répond la plupart des cas au cahier des charges.
Un seul Ecrans vous manque, et le Net est dépeuplé.
Hors ligne
N'empêche qu'une installe fraîche de Windows 7 prend 17 GO, et qu'aujourd'hui j'apprends qu'on pourrait avoir à la place 100 millions de jeux vidéos ! Bon, peut être pas très chronophages cela dit.
Hors ligne
Mouais, enfin vous loupez le bout le plus important de l'article : Mais pas celui pour contrôler les blocs avec les touches du clavier, compté en plus des 140 o. Pour le 'programme' en entier, il faut compter presque 900 octets, c'est déjà plus le même chiffre. Sans compter qu'il faut aussi un navigateur pour pouvoir lire tout ça, et là on additionne quelques Mo à la facture...
L'algorithmique a toujours été la partie la plus courte à écrire dans un programme, c'est d'ailleurs comme ça que l'informatique a commencé, c'est les surcouches graphiques qui font exploser les quotas...
Hors ligne
À vous lire --
"au lieu d’écrire un programme qui gère le déplacement « géographique » des blocs dans le niveau, il n’a géré que des calculs de nombres binaires"
-- on croirait que l'implémentation habituelle d'un tetris fait de la simulation physique ! Non, quasiment tous les Tetris sont écrits en utilisant des 0 et des 1 pour représenter la présence / absence d'un cube sur le terrain, mais d'habitude on les met simplement dans une matrice. L'optimisation ici consiste simplement à utiliser la représentation binaire d'un nombre pour chaque ligne de la matrice, et à faire un peu de "bit juggling" -- futé, mais pas révolutionnaire.
Quant à savoir pourquoi tout le monde n'en fait pas autant dans le monde du développement informatique, ce n'est pas seulement par paresse -- comme disait Donald Knuth, "premature optimization is the root of all evil (or at least most of it) in programming".
Hors ligne