Il y a quelques mois, en vacances, je me baladais sur le forum internettablettalk. J'ai vu un sujet dans lequel les membres testaient des jeux flash pour dire s'ils fonctionnaient bien ou pas ; et parmi eux, un jeu de tower defense. Je me mis donc à chercher d'autre jeu du type ; et aujourd'hui, dès que je veux perdre une demi-heure, je me fais un petit Vector TD. Pour ceux qui ne connaissent pas le principe de base du Tower Defense, il s'agit d'empêcher des monstres de se rendre d'un point A à un point B en achetant et en plaçant des tours qui vont leur tirer dessus.
Je me suis donc dit qu'un tel jeu serait sympa sur Ti89 et j'ai cherché. Sur ticalc.org, il y a bien un jeu de ce type, mais pour Ti-83, ce qui est plutôt gênant pour moi qui n'ait pas ce satané câble. Ayant quelques rudiments de C, je me suis donc lancé dans la programmation d'un Tower Defense il y a quelques semaines. Plusieurs amis de mon entourage l'ont essayé et m'ont bien aidé à l'améliorer. Ça reste toujours assez rudimentaire (tous les sprites sont "XORés" : pas de gestion avancée de l'écran, des ROMCalls et du sprintf à gogo, tableaux multi-dimensionnels (j'avais lu que c'était pas bien pour les performances)...), mais ça marche plutôt bien :-)
EDIT : J'ai oublié de préciser que quand vous jouez sans cartes, les ennemis ne tolèrent pas la moindre petite bidouille et ont tendance à voler au dessus des tours si vous les forcez à faire marche arrière à gauche. Avec une carte, les déplacements des ennemis sont stricts, mais si la carte comporte une boucle ou de grands espaces vides, les ennemis auront un comportement très désagréable pour celui qui fait la carte (avec une boucle, la moitié des ennemis refait un tour et peut même faire marche arrière, avec un espace vide le déplacement est totalement aléatoire).
![menu.png](http://yannbng.free.fr/Images/TD/menu.png)
L'accueil (sans blagues...)
![ennemis.png](http://yannbng.free.fr/Images/TD/ennemis.png)
Des ennemis tout gentils
![ennemis2.png](http://yannbng.free.fr/Images/TD/ennemis2.png)
Beaucoup d'ennemis peu espacés d'où une impression de "chenille"
![ennemis3.png](http://yannbng.free.fr/Images/TD/ennemis3.png)
Des ennemis volants !
![boss.png](http://yannbng.free.fr/Images/TD/boss.png)
Un boss tous les quatre niveaux. Pas spécialement dur, mais frustrant quand il passe au travers de notre belle défense. La vie des boss est affichée en temps réel.
![perdu.png](http://yannbng.free.fr/Images/TD/perdu.png)
Le jeu qui nous félicite de notre parcours
Téléchargement (sources incluses) : http://yannbng.free.fr/Divers/td.zip
Le fichier td.89z est le programme en lui-même, tdmap.89g contient toutes les cartes (ce sont des fichiers textes tout bête, pour créer une carte il suffit de recopier tdmap23 sur un fichier du type tdmapxx où xx et un entier compris entre 1 et 22 et de changer les 0 par des 1 là où on veut des emplacements avec des tours ; un fichier qui ne suit pas exactement ce à quoi le programme s'attend (10 colonnes et 16 lignes de '0' ou de '1') le plantera lamentablement) et le fichier tdtuto.89z contient le tutoriel pour comprendre l'interface du jeu un peu abrégée.
En plus des problèmes de code, l'affichage des chiffres se voit vite amputé quand on dépasse les trois chiffres sur la droite de l'écran, mais je vois pas comment régler ça...
Attention : les tours des touches '+' et '-' ralentissent. Elles sont très pratiques, mais ne font pas mal du tout ;-) À partir du niveau 22, vous avez fini tous les niveaux codés en dur. Le jeu crée donc des niveaux aléatoirement pour vous occuper.
Note importante : pour commencer chaque niveau, appuyez sur Enter. Le jeu n'enchaîne pas directement pour permettre au joueur de dépenser l'argent restant s'il le souhaite sans être stressés par les nouveaux ennemis.