Le contenu de cet article est un défi, il s’agit d’un jeu traditionnel en informatique et en théorie des jeux : le jeu de NIM. Il fut complètement programmé en commandes AmigaDos, dans un fichier « script » qui décrit la séquence des instructions à effectuer. Il met en œuvre une douzaine de programmes de l’AmigaDos, pour questionner l’utilisateur, simuler le hasard, appliquer une tactique et présenter les résultats. Il a été facilement conçu dans l’esprit d’AmigaDos (et d’Unix, avouons-le), où il est parfois plus aisé de structurer plusieurs petits programmes utilitaires pour fournir un service, que de réaliser, à partir de zéro, un programme qu’il faudra tester, diffuser et maintenir. Avant d’aller plus loin, je vais vous rafraîchir la mémoire sur ce jeu, auquel vous avez sûrement joué. Il oppose deux joueurs qui, chacun à leur tour, vont retirer un ou plusieurs objets (des allumettes dans mon folklore personnel) d’un tas constitué au départ. Le perdant est celui qui est contraint de retirer le dernier objet. De manière éxpérimentale ou par le raisonnement, on s’aperçoit rapidement qu’en fonction du nombre d’allumettes et de la taille de la poignée (quantité maximale licite d’objet à retirer), l’un des joueurs a une stratégie gagnante, c’est à dire qu’il peut gagner quelque soit celle adoptée par son adversaire. Je ne dévoilerai pas ici les secrets (sic) de cette stratégie, mais le programme est construit de telle manière que les paramètres : premier joueur, importance du tas initial et taille de la poignée varient pour conserver un attrait au jeu. Si les principes du jeu sont facilement programmables en théorie, je ne vous cacherai pas qu’il faut se livrer à de nombreuses contorsions intellectuelles et programmatiques pour le bâtir exclusivement en AmigaDos. Mais c’est par cet usage aux limites de ses possibilités, que nous pourrons mieux utiliser les possibilités de l’AmigaDos dans une utilisation plus « tranquille ». De plus, en mettant à jour des lourdeurs ou des incohérences, nous pouvons dès aujourd’hui améliorer nos procédures d’exploitation, en ayant recours aux trucs exposés dans ces pages, mais je pense que nous défrichons aussi pour les futurs AmigaDos.