Le programme est écrit en VB6. Une classe CcaseNB est introduite pour gérer les données et les actions associées à chaque case

Pour chacune des case (objet CaseNB) les données nécessaires sont :

Public ligne As Integer
Public colonne As Integer
Public current As Integer
Public origine As Integer
Public destination As Integer
Public contrainte As Integer
Public Index As Integer
Public free As Boolean
Public nborigine As Integer
Public lbl As Object

ligne et colonne sont compris entre 0 et 7 et repèrent la case. current, origine et destination sont les indices de case compris entre 0 et 63. current est la position actuelle, origine est la position précédente et destination est la suivante (dans l'ordre de parcours).

 

Les actions possibles (méthodes de la classe CcaseNB) 

Public Function CanIStep(tent%) As Boolean. La case reçoit un ordre d'avance d'une autre case . Elle retourne True si elle peut réaliser cette action. tent indique dans la case d'origine, l'index de la liste des destinations possibles.

Public Sub Step(from%). La case reçoit un ordre d'avance de la case from. Elle connaît donc son origine pour lui transmettre.

Public Function blocage() As Boolean. La case envoie à l'origine une commande blocage lorsqu'il n'existe plus de case libre atteignable.

Public Sub setbusy() et Public Sub setfree(). Pour rendre une case occupée ou libre.

Public Sub affiche() et Public Sub clear_affiche(). Pour inscrire ou effacer dans la case l'index de déplacement.