'j'ai cet fonction dans mon programme de tetris pour l'isn permettant de vérifier l'emplacement disponible le problème est que je n'y comprend pas beaucoup de chose. Je sais juste que tout les terme en majuscule sont des constantes. Pouvez vous m'expliquer cette fonction svp ?
def emplacementDispo(numero, position, ligne, colonne):
test = True
minC, maxC, minL, maxL = LARGEURPUITS,-1,HAUTEURPUITS,-1
for i in range(COTEBLOC):
for j in range(COTEBLOC):
if piece[numero][position][j][i]:
minC, maxC = min(minC,colonne+i), max(maxC,colonne+i)
minL, maxL = min(minL,ligne+j), max(maxL,ligne+j)
test = test and (grille[ligne+j][colonne+i]['bg'] == 'black')
test = test and (minC>=0) and (maxC<LARGEURPUITS) and (minL>=0) and (maxL<HAUTEURPUITS)
return(test)
avec #largeur=len(piece[numero][position][0])
et #hauteur=len(piece[numero][position])
Forum / PHP / Incompréhension d'une fonction
C'est du Python non ?
Aussi, utilise la syntaxe pour du code :
```python
# python code
```
Tu peux éditer ton message.
Vu que l'indentation est ce qui définit le Python, oui.
(De toute façon, je connais pas le Python. :))
Merci pour ta réponse : Oui c'est un prof qui me l'a faite le problème c'est que je suis nul en programation donc je peut pas en refaire une autre :/
Salut @Boucher-Guillaume,
Comme le dit @sudovim ce code est vraiment dégueu.
Après si tu n'y connais rien en prog' je te conseille de commencer par au moins apprendre les ases (d'autant plus que Python c'est simple)
http://www.codecademy.com/fr/ ;)
Merci c'est simpa mais je doit passer l'oral d'isn demain donc faut que je change le programme ou que je le comprenne même si il est dégeu.
Bonjour.
Tu t'y prends un peu trop tard alors.
Je vois mal comment quelqu'un pourrais te l'expliquer en si peu de temps, de manière à ce que tu sois suffisamment à l'aise pour un oral si tu n'as pas compris le cours que tu as eu de la part de ton enseignant.
@Lartak +1
Voilà une fonction indentée c'est quand même plus propre (surtout en Python !!)
def emplacementDispo(numero, position, ligne, colonne):
test = True
minC, maxC, minL, maxL = LARGEURPUITS, -1, HAUTEURPUITS , -1
for i in range(COTEBLOC):
for j in range(COTEBLOC):
if piece[numero][position][j][i]:
minC, maxC = min(minC, colonne + i), max(maxC, colonne + i)
minL, maxL = min(minL, ligne + j), max(maxL, ligne + j)
test = test and (grille[ligne + j][colonne + i]['bg'] == 'black')
test = test and (minC >= 0) and (maxC = 0) and (maxL < HAUTEURPUITS)
return(test)
#largeur = len(piece[numero][position][0])
#hauteur = len(piece[numero][position])
D'ailleurs, elle vient d'où la constante "COTEBLOC" et quelle est sa valeur ?
PS: Même indentée je ne comprend pas vraiment cette fonction. La valeur de test est modifiée une première fois dans la boucle puis écrasée juste en dessous, quel intérêt ? C'est stupide (ou alors je n'ai pas tout saisi ?)
@sudovim: Je ne connais pas encore toutes les subtilités du Python alors ^^
Mais je peux dire que c'est vraiment pas optimisé pour un sou lol
Oui donc c'est un peu dégueulasse comme façon de faire. Honnêtement je n'avais jamais vu ça :/