IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation multimédia/Jeux Python Discussion :

Liste de liste


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut Liste de liste
    Salut tous le monde,

    Je programme actuellement une bataille navale (en python et avec Tkinter) et j'aimerais savoir comment je peux vérifier si sur une case il n'y a rien, pour éviter la superposition des bateaux lors du placement des bateaux.
    J'utilise une liste de liste pour le déterminer chaque case du quadrillage.

    Je pensais utiliser une condition de ce genre: (dans la liste, 0->vide, 1->bateau)

    Cordialement,
    SNW

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Salut,

    Citation Envoyé par SNWarbard Voir le message
    Je pensais utiliser une condition de ce genre: (dans la liste, 0->vide, 1->bateau)
    Et c'est quoi la question? (vous n'avez pas besoin de demander la permission pour coder comme vous voulez...).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut
    Salut merci pour la réponse,

    Mais la question c'est pourquoi ça ne l'empêche pas ? ^^ J'arrive quand même a placer des bateaux sur d'autres alors que dans la liste il y a déjà des 1 ...

    Cordialement,
    SNW

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Citation Envoyé par SNWarbard Voir le message
    Mais la question c'est pourquoi ça ne l'empêche pas ? ^^ J'arrive quand même a placer des bateaux sur d'autres alors que dans la liste il y a déjà des 1 ...
    Ce n'est pas avec le code que vous montrez qu'on peut savoir si Quadrillage1 est une liste de liste ou une case. Si c'est votre liste de liste, elle sera toujours != 1 (i.e. différente d'un nombre)... même pas la peine de tester.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut
    Je vous ai envoyé le code en MP, et du coup comment on peut vérifier les valeurs dans a liste de liste ?

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Citation Envoyé par SNWarbard Voir le message
    Je vous ai envoyé le code en MP, et du coup comment on peut vérifier les valeurs dans a liste de liste ?
    Je ne réponds pas aux questions techniques dans les MP.
    Pour vérifier les valeurs dans une liste de listes, vous pouvez commencer par des boucles "for" pour accéder aux différentes "cases" et tester leur contenu.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut
    Je sais bien c'était juste pour vous montrer le code

    Donc je met la boucle for et comment je vérifie à l'emplacement où l'on essaye de placer le bateau ? Car je sais vérifier les caractères d'une liste mais regarder seulement ceux dont on a besoin

    Cordialement,
    SNW

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    L'emplacement est une case désignée par des coordonnées (i, j).
    Donc tester liste[i][j]... devrait être un bon début.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut
    Yep ça fonctionne, et comment les récuperer d'un click de souris sur le quadrillage ?

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Citation Envoyé par SNWarbard Voir le message
    Yep ça fonctionne, et comment les récuperer d'un click de souris sur le quadrillage ?
    Un quadrillage c'est M x N carrés qui feront m x n pixels de longueur et de largeur.
    Donc un clic de souris retourne un (x, y) correspondant à la case (x // M, y // N) +/- 1.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut
    Exactement ce que j'ai fais donc avant de mettre les 1 je vérifie s'il y en a pas dans chaque cas ? (chaque cas = chaque bateau dans chaque direction, regarde le code pour comprendre ^^)

    merci

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Citation Envoyé par SNWarbard Voir le message
    Exactement ce que j'ai fais donc avant de mettre les 1 je vérifie s'il y en a pas dans chaque cas ?
    Est-ce que cela ne vous semble pas logique?

    Citation Envoyé par SNWarbard Voir le message
    (chaque cas = chaque bateau dans chaque direction, regarde le code pour comprendre ^^)
    C'est à vous d'apprendre à relire le code que vous avez écrit pour comprendre ce qu'il fait en y ajoutant des "print" pour voir s'il fait bien ce que vous pensez.

    W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Est-ce que cela ne vous semble pas logique?
    Si justement ^^ mais c'est comment le faire

    SNW

  14. #14
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Citation Envoyé par SNWarbard Voir le message
    Si justement ^^ mais c'est comment le faire
    Si vous ne savez pas tester liste[i][j] après avoir calculer i, j en fonction de x, y, il faut ouvrir votre tutoriel favori et revoir les chapitres qui parlent de tests et conditions... et essayer de coder quelque chose. Et si çà ne fonctionne pas, on pourra regarder le code que vous avez essayé.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  15. #15
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut
    bon voilà après maintes technique j'ai enfin trouvé, il me suffisait de mettre ça avant de tracer les rectangles et de mettre les 1 dans la liste pour vérifier s'il y avait pas déjà un 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if all(Quadrillage1[o][a]!=1 for i in range (5)):
    Je ne connaissais pas le all()

    Merci beaucoup,
    SNW

  16. #16
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Citation Envoyé par SNWarbard Voir le message
    bon voilà après maintes technique j'ai enfin trouvé, il me suffisait de mettre ça avant de tracer les rectangles et de mettre les 1 dans la liste pour vérifier s'il y avait pas déjà un 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if all(Quadrillage1[o][a]!=1 for i in range (5)):
    Je ne connaissais pas le all()
    Vous récupérez trop d’âneries dans les forums plutôt que prendre le temps de comprendre: relisez votre code vous faites une boucle for i in range (5) alors qu'il n'y a pas de "i" dans Quadrillage1[o][a]... Donc vous testez 5 fois la même case.... Et vous n'avez jamais exposé que vous vouliez tester plusieurs cases.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  17. #17
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut
    Ah, mais je dois remplacer le i par quoi alors ?
    Désolé mais je débute en python ...

  18. #18
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Citation Envoyé par SNWarbard Voir le message
    Ah, mais je dois remplacer le i par quoi alors ?
    Désolé mais je débute en python ...
    Et bien ouvrez votre tuto. favori au chapitre qui parle de boucles et de conditions... relisez le code des exercices que vous avez fait sur ces sujets... Et si vous n'avez rien de tout çà le Swinnen est fait pour vous.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  19. #19
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut
    Merci, j'ai lu la section mais je vois pas en quoi le nom de la variable change quelque chose .. puisque si je remplacer le i par le a il regarde toujours la même case ^^

    SNW

  20. #20
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Citation Envoyé par SNWarbard Voir le message
    Merci, j'ai lu la section mais je vois pas en quoi le nom de la variable change quelque chose .. puisque si je remplacer le i par le a il regarde toujours la même case ^^
    Si vous montriez du code, je comprendrais peut être mieux ce que vous racontez.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Regrouper une liste en liste de listes
    Par West01 dans le forum Prolog
    Réponses: 12
    Dernier message: 14/03/2008, 14h07
  2. Liste de liste?
    Par Bethoring dans le forum C++
    Réponses: 4
    Dernier message: 16/11/2005, 18h19
  3. Liste de listes
    Par SteelBox dans le forum Prolog
    Réponses: 5
    Dernier message: 16/10/2005, 16h21
  4. acceder au n iéme element d'une liste std::list
    Par sorari dans le forum SL & STL
    Réponses: 4
    Dernier message: 23/03/2005, 15h21
  5. [langage] tri avancé, liste de listes
    Par schnecke dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2004, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo