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

Python Discussion :

Bataille navale projet


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Bataille navale projet
    Bonjour,

    J'ai un projet de bataille naval a faire. Or étant assez nul en python. j'ai fais l'interface graphique mais le placement des bateaux, le tir et le reste me reste assez compliqué...

    Voici mon code pour le moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    from tkinter import*
     
    dessin= Tk()
     
    nb=10
    c=40
    x0,y0=20,20
     
     
    bateaux=17
     
     
     
    lettre=["J", "I", "H", "G", "F", "E", "D", "C", "B", "A"]
    chiffre=["1","2", "3", "4","5", "6", "7", "8", "9", "10"]
     
    def grille():
        can1.create_image(300,230,image=photo)
        can2.create_image(300,230,image=photo)
        for i in range(nb+1):     
             can1.create_line(x0+c*i, y0,x0+c*i,y0 + nb*c)
             can1.create_line(x0, y0+c*i,x0+nb*c ,y0+c*i)
             can2.create_line(x0+c*i, y0,x0+c*i,y0 + nb*c)
             can2.create_line(x0, y0+c*i,x0+nb*c ,y0+c*i)
        for k in range(nb):
             can1.create_text(10,40+40*k, text=lettre[k])
             can1.create_text(40+40*k,440,text=chiffre[k])
             can2.create_text(10,40+40*k, text=lettre[k])
             can2.create_text(40+40*k,440,text=chiffre[k])
     
     
    def correspond(x,y):
        return (y-y0)//c,(x-x0)//c
        can1.create_rectangle(i*40,j*40,(i+1)*40,(j+i)*40, fill="white")
        can2.create_rectangle(i*40,j*40,(i+1)*40,(j+i)*40, fill="white")
     
    def monquitter():
     dessin.quit()
     dessin.destroy()
     
    can1= Canvas(dessin,height=450,width=450,bg="White")
    can1.pack(side=RIGHT)
    can2= Canvas(dessin,height=450,width=450,bg="White")
    can2.pack(side=LEFT)
     
    def jeu1joueur():
        grille()
     
    def jeu2joueurs():
        grille()
     
     
    #Titre
     
    l1=Label(text="Bienvenue dans le Jeu de la Bataille Navale", fg="Red")
    l1.pack()
     
    l2=Label(text="Veuillez séléctionner si vous jouez à 1 ou 2 joueurs :", fg="Black")
    l2.pack()
     
     
    b3=Button(dessin,text="Jeu pour 1 joueur",command=jeu1joueur, fg="Blue")
    b3.pack(side=TOP)
     
    b4=Button(dessin,text="Jeu pour 2 joueurs",command=jeu2joueurs, fg="Blue")
    b4.pack(side=TOP)
     
    l2=Label(text="Veuillez mettre sur la grille suivante :", fg="Black")
    l2.pack()
     
    l3=Label(text="-Un Porte-avion ( 5Cases)", fg="Orange")
    l3.pack()
    l4=Label(text="-Un Croiseur ( 4 Cases)", fg="Orange")
    l4.pack()
    l5=Label(text="-Un Contre-Torpilleur ( 3 Cases)", fg="Orange")
    l5.pack()
    l6=Label(text="-Un Sous-Marin ( 3 Cases)", fg="Orange")
    l6.pack()
    l7=Label(text="-Un Porte-avion ( 2 Cases)", fg="Orange")
    l7.pack()
     
     
    b1=Button(dessin,text="Quitter",command=monquitter, fg="Black")
    b1.pack(side=BOTTOM)
     
    def ecrire(event):   
        (i,j)=correspond(event.x,event.y)
        i=event.x/40
        j=event.y/40
        can.create_rectangle(i*40,j*40,(i+1)*40,(j+i)*40, fill="white")
     
     
     
     
    photo = PhotoImage(file ='image.gif')
     
    dessin.title("Battaille Navale")
     
    dessin.mainloop()
    Voila merci beaucoup.

  2. #2
    Membre chevronné
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2013
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 485
    Points : 2 151
    Points
    2 151
    Par défaut
    Bravo, déjà 10 lignes écrites, c'est un bon début.
    Reste environs un petit millier et ta bataille naval est terminée

    Bon, si tu es nul en python, le mieux est de commencer par te former.
    Pour cela, je te conseil ce tuto: http://python.developpez.com/cours/TutoSwinnen/

    Ensuite, ce n'est pas forcement par l'interface graphique qu'il faut commencer.
    Réfléchi d'abord aux données à manipuler:
    - 2 plateaux de jeux = 2 matrices - 1 pour chaque joueur
    - les bateaux: combien et de quel taille chacun
    - une première phase de jeu: placement des bateaux dans la matrice
    - une deuxième phase de jeu: tir sur la matrice ennemie + résolution (touché ou raté)

    Ensuite, imagine en premier temps de jouer en mode "texte" avec un prompt qui pose des questions à chaque joueur
    Quand ton jeu commencera a prendre tournure dans ce mode, tu pourras réfléchir à une interface graphique sympa pour jouer à la souris et plus au clavier.

    Bon courage

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci,

    Mais sa prendrais combien de temps ?

Discussions similaires

  1. [Python 3.X] Projet de bataille navale
    Par clemissile dans le forum Tkinter
    Réponses: 38
    Dernier message: 22/04/2015, 16h44
  2. projet de bataille navale
    Par tropicthunder dans le forum Général Python
    Réponses: 1
    Dernier message: 22/04/2015, 16h26
  3. bataille navale, un projet bateau (haha)
    Par Dendrite dans le forum Débuter
    Réponses: 11
    Dernier message: 26/01/2010, 16h18
  4. Projet de bataille navale
    Par hichamtimberlake dans le forum C
    Réponses: 1
    Dernier message: 23/05/2009, 13h22
  5. [LG]Programme Bataille Navale en Pascal
    Par RaFaL dans le forum Langage
    Réponses: 21
    Dernier message: 10/06/2003, 21h22

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