% category Capitalist Tetris % tags W4 % authors asmanur % date 1238281200.000000 % title Capitalist Tetris : W4 % formatter grep -v '^%' Un mois de développement déjà ! J'entends déjà les mauvaises langues dire que c'est un record. % endchapo
Comme vous le savez, pour Capitalist Tetris , haveo et moi suivons un mode de développement à la semaine. Grosso modo pendant la semaine on réfléchit à ce qu’on va implémenter et comment on va le faire et le week-end on code.
Ça mérite donc un petit changelog.
À la base je devais ajouter au protocole la possibilité de choisir une pièce pour un adversaire ainsi qu’envoyer aux clients leur score lorsqu’il y a modification (lignes ou choix de pièces). Mais bon, comme le serveur c’est un peu l’endroit où j’expérimente des trucs louches et que le code commençait à être un peu lourd à écrire, j’ai décidé d’implémenter une state monad dans le serveur (on va peut-être s’en servir dans le client du coup parce que ça serait ptait encore plus pratique :-°), et donc on dépend maintenant de pa_monad (mais c’est dans le repo).
Résultat : le code est un peu plus long mais largement plus maintenable et plus agréable à écrire.
(c’est haveo qui parle là) Le client tel qu’il était durant la W3 était difficilement utilisable. Il fallait entrer ses commandes via stdin, les timers n’étaient pas gérés et une grande partie du protocole n’était pas gérée. La W4, en ce qui concerne le client, visait donc à résoudre ces problèmes là.
Coté protocole, le client met maintenant à jour le score des joueurs sur requête du serveur. Il est aussi capable de modifier les fields des autres joueurs lorsque le serveur lui signale qu’une pièce est tombée. Il peut aussi changer les pièces de ses adversaires.
Au niveau des commandes, l’interface clavier est opérationelle. Vous pouvez enfin bouger votre pièce, la faire tomber, comme dans tout Tetris.
En plus, vous avez de la chance, le timer qui fait descendre votre pièce a aussi été mis en service. L’interface stdin est maintenant obsolète mais devrait être conservée pour pouvoir faire du debug.
Enfin, j’ai fait quelques retouches graphiques, affichage de votre field et de celui de votre adversaire ou, un peu plus anecdotique, changement du background des fields pour le noir (après des tests très poussés, j’ai décidé que ça faisait moins mal aux yeux).
Pour les curieux, voici le changelog darcs .
Bon comme vous le voyez, plus le temps passe, plus le jeu devient jouable. Bon là c’est pas encore jouable mais bon on y travaille.
Au programme de W5 :