2013-01-20 2 views
0

J'essaie de faire un jeu Tic Tac Toe en Python en utilisant le module Zellegraphics. Je veux utiliser getMouse pour la saisie de la souris, mais je suis incapable de comprendre comment faire getMouse de travailler sur une cellule de la carte. J'ai défini 9 carrés différents et ce que je veux faire est que si l'utilisateur clique sur un certain carré, je veux y dessiner le X ou le O. Je ne peux pas comprendre comment faire cela, car pour autant que je sache, getMouse agit seulement sur toute la fenêtre.Est-ce que getMouse peut agir sur un objet spécifique en Python?

Répondre

1

Si vous avez des coordonnées X et Y dans la fenêtre (nous allons les appeler, dire, window_x et window_y) et que vous voulez obtenir les coordonnées sur une grille (appelons-les grid_x et grid_y), et chaque cellule de grille a une largeur et une hauteur de grid_size, il est relativement facile de calculer grid_x et grid_y: il suffit de diviser entier (rond vers le bas, dans le python, ce serait l'opérateur //) window_x par grid_size pour obtenir grid_x. Vous pouvez probablement comprendre grid_y.

A 3x3 grid is labeled with (0, 0), (1, 0), (2, 0) on the first row, (0, 1), (1, 1), and (2, 1) on the second row, and so on. The width of a cell is labeled grid_size. A particular point is labeled as a red dot. The X and Y location of the point are labeled from the top left corner of the grid.

+0

OK. Je suis encore assez confus. Pourriez-vous expliquer un peu plus s'il vous plaît? – user1946564

+0

Utilisez 'getMouse' pour récupérer' window_x' et 'window_y'. Calculez 'grille_x' comme' window_x // grid_size' et 'grid_y' de la même manière. 'grid_x' et' grid_y' sont les coordonnées de la cellule sur la grille sur laquelle l'utilisateur a cliqué. – icktoofay

+0

Mais le think est, je ne sais pas comment utiliser getMouse pour récupérer window_x et window_y. Je prends le reste cependant. – user1946564

Questions connexes