La carte serveur va représenter le serveur de la banque.
La carte stocke deux listes : l’une contient les identifiants des clients, l’autre les soldes associés. Pour retrouver le solde d’un client, on cherche d’abord la position de son identifiant dans la première liste. Une fois cette position trouvée, on regarde à la même place dans la deuxième liste : on y trouve alors le solde correspondant.
La carte va ensuite devoir écouter les messages radio entrants, et lorsque la clé du message correspondra à
demande_solde, la carte devra vérifier si l'identifiant donné (valeur du message) correspond à l'un des identifiants de la liste, et, si c'est le cas, renvoyer un message avec pour clé
reponse_solde et valeur le solde correspondant à l'identifiant. Si l'identifiant est invalide, on pourra renvoyer un message
reponse_solde avec une valeur spéciale, comme par exemple -999 pour indiquer que l'identifiant n'est pas enregistré ou autre.

Un exemple de contenu des deux listes
Pour vérifier si un élément est présent dans une liste, il faut utiliser le bloc suivant :

Le problème avec ce bloc, c’est qu’il produit une erreur lorsque l’élément cherché n’est pas présent dans la liste. Cette erreur arrête le programme, et fait “crash” la carte. Il faut donc encapsuler ce bloc dans un bloc try / except. Ce dernier est capable de vérifier si une erreur se produit, et d’effectuer une action spéciale lorsque cela se produit :

Si tu es bloqué :
- Vérifie que les deux listes ont la même longueur et que chaque identifiant a bien son solde à la même position.
- Quand un message demande_solde arrive, commence par chercher la position de l’identifiant dans la liste des identifiants.
- Si tu trouves une position, renvoie reponse_solde avec le solde à cette position ; sinon, renvoie reponse_solde avec la valeur spéciale (par exemple -999).