Petite problème

Moderator: Mod

Petite problème

Postby RAYON-GAMA » Sun Sep 18, 2011 7:20 pm

Bonjour je viens ici car j'ai pas vraiement un problème mais plutot un conseil à vous demander, en faite je code un petit qui marche par case, je m'explique quand l'utilisateur clique je regarde dans quelle case il à coder ma demander suis-je obligés de codes toutes les possibilités des cases avec des if, etc ou il y a une boucle que je n'arrive pas à imaginer dans ma tête de possible , voici le début de mon code.

[code:1:929cc2081f]if clic_x < 20 and clic_y < 20 : #Si l'utilisateur clic dans la première case
case_x = 0
case_y = 0
print "Case x:" + str(case_x) + "\nCase y:"+ str(case_y)+""
if clic_x < 20 and clic_y < 40 and clic_y > 20 :
case_x = 0
case_y = 1
print "Case x:" + str(case_x) + "\nCase y:"+ str(case_y)+""
if clic_x < 40 and clic_x > 20 and clic_y < 20 :
case_x = 1
case_y = 0
print "Case x:" + str(case_x) + "\nCase y:"+ str(case_y)+""[/code:1:929cc2081f]

La j'ai codé pour trois cases, et donc je suis obligés de faire ça pour toute les cases , ou pas ?

Merci d'avance de votre réponse ^^

Cordialement rayongama
User avatar
RAYON-GAMA
Projets
 
Posts: 78
Joined: Mon Nov 17, 2008 2:52 pm
Location: Quelle que part.....

Postby ARMEL » Sun Sep 18, 2011 8:04 pm

Salut,

Cherche du côté de l'utilisation de la division.
ARMEL
Projets
 
Posts: 25
Joined: Thu Jan 21, 2010 1:22 pm

Postby RAYON-GAMA » Sun Sep 18, 2011 8:21 pm

Je vois pas très bien le rapport là c'est vague quand même ...
User avatar
RAYON-GAMA
Projets
 
Posts: 78
Joined: Mon Nov 17, 2008 2:52 pm
Location: Quelle que part.....

Postby TorTukiTu » Mon Sep 19, 2011 6:08 am

Voici un algorithme naif pour faire ce que tu demandes.

[code:1:f1d230721b]
tableau_de_cases = ARRAY[]
nombre_de_cases_en_x = 20
nombre_de_cases_en_y = 30
cote_d_un_carre = 10

FOR (int x =0; x<nombre_de_cases_en_x; x+=1)
FOR (int y=0; y<nombre_de_cases_en_y; y+=1)
tableau_de_cases[x][y] = action_generique()
ENDFOR
ENDFOR

tableau_de_cases[1][4] = action_speciale()

click_x = 30
click_y = 50

executer(tableau_de_cases[floor(click_x / cote_d_un_carre )][floor(click_y / cote_d_un_carre )])

[/code:1:f1d230721b]

C'est très simple et pas du tout optimum.

A toi de faire mieux.

Tortue 974.
User avatar
TorTukiTu
Site Admin
 
Posts: 1960
Joined: Thu Feb 07, 2008 10:24 pm
Location: Devant son pc durant la redaction de ce message


Return to Python

Who is online

Users browsing this forum: No registered users and 2 guests

cron