2009-08-06 5 views
-2

Je fais un jeu qui implique une grille 4 * 4. L'utilisateur entre des lettres et le jeu doit mettre en évidence les lettres et ils doivent être l'un à côté de l'autre.Pseudocode de cet algorithme

J'ai un sous qui vérifie si la lettre courante est à côté (ou voisine) de la dernière lettre. Fondamentalement, ce qui doit arriver est:

pour chaque lettre: itérer à travers la grille et essayer toutes les possibilités si elle est à côté de la lettre précédente, et la lettre en cours correspond à la lettre cible

alors il essaie toutes les possibilités pour chaque lecteur donc il faut itérez 16^(nombre de lettres)

si quelqu'un pouvait me diriger dans la bonne direction, ou me donner un meilleur algorithme que j'apprécie vraiment. J'utilise vb .net mais le pseudocode fonctionne aussi.

Merci

+3

Pourriez-vous expliquer le point du jeu plus clairement? – Sev

+0

Je pense qu'un exemple de grille et de mise en évidence possible pourrait clarifier le comportement prévu. Une question que j'ai est de savoir si (en supposant que je tape ABC) le programme doit mettre en évidence tous les A, puis tous les A et B qui sont adjacents, puis tous les A adjacents à B qui sont adjacents à C. Est-ce exact? –

Répondre

1

Si je reçois ce droit de la grille pourrait ressembler à:

ABCD

BADC

CCAB

DBCA

Ensuite, l'utilisateur doit taper ABCDBA et ainsi de suite pour gagner? Une chose à considérer est que si vous vous souvenez de toutes les positions où la première frappe correspondait, disons que l'utilisateur a appuyé sur A, l'index 0,5,10,15 serait marqué. La touche suivante n'est valide que si la pression précédente était à côté du courant, ce qui permet de vérifier chaque élément dans le contrôle de grille 0 + 1, 5 + 1, 10 + 1 et 15 + 1 pour la touche. Donc, si l'utilisateur appuie sur D, alors vous verrez que l'index 1 n'est pas un indice D 6 est un D acutally donc laissez-le marquer, et ainsi de suite.