Page 1 sur 1

sujets du 26 septembre 2018

Posté : 03 oct. 2018, 10:35
par pascal hubert
Bonjour,
voici les sujets que j'ai proposés pendant la première séance : les tablettes de chocolat et les problèmes de distances
distances.pdf
(205.01 Kio) Téléchargé 5777 fois
tablette-chocolat.pdf
(96.21 Kio) Téléchargé 5721 fois
bien à tous,
pascal

Re: sujets du 26 septembre 2018

Posté : 03 oct. 2018, 13:55
par sebastien_simao
Un Framapad pour travailler dessus : https://mypads.framapad.org/mypads/?/my ... -lh233c7su d'autres options de travail collaboratif : viewtopic.php?f=3&t=9

Re: sujets du 26 septembre 2018

Posté : 27 janv. 2019, 11:42
par Lucas Tachen
Bonjour à tous,

Je propose à ceux qui sont intéressés par la programmation ( et les autres aussi ) de compléter mon programme sur le jeu du chocolat avec une intelligence artificielle qui pourrait jouer contre un joueur humain. Ayant déjà un peu travailler sur le sujet, je connais une stratégie gagnante que l'on pourrait étudier puis programmer.
Le code est en python 3 et il est disponible sur Github ( https://github.com/TMlucas/Jeu-du-choco ... hocolat.py ) ce qui permet de pouvoir travailler dessus facilement. Je le mets également en dessous.
N'hésitez pas à me poser des questions que ce soit sur le sujet ou sur le programme ( on pourra mettre en place une plateforme d'échange comme Slack ou même Messenger ).

Code : Tout sélectionner

from tkinter import *
from random import randint
import time


def clic(event):
    X=event.x
    Y=event.y
    if X<800/w and Y<400/h:
        lose=Label(main,text="C'est perdu")
        lose.pack()
        lose.configure(font=font28)
        clear()
    i=1
    while X>(i*800/w):
        i=i+1
    xa=(i-1)*800/w
    i=1
    while Y>(i*400/h):
        i=i+1
    ya=(i-1)*400/h
    canvas.create_rectangle(xa,ya,800,400,fill='black')
    #time.sleep(3)
    #hasard()

def clear():
    canvas.delete(ALL)
    lose=Label(text='')
    for i in range (1, w):
        canvas.create_rectangle(i*800/(w),0,i*800/(w),400,fill='black')
    for i in range (1,h):
        canvas.create_rectangle(0,i*400/h,800,i*400/h,fill ='black')
    canvas.create_rectangle(0,0,800/w,400/h,fill ='green')

def hasard():
    xp=randint(1,799)
    yp=randint(1,399)
    if xp<800/w and yp<400/h:
        lose=Label(main,text="Vous avez gagné!")
        lose.pack()
        clear()
    i=1
    while xp>(i*800/w):
        i=i+1
    xa=(i-1)*800/w
    i=1
    while yp>(i*400/h):
        i=i+1
    ya=(i-1)*400/h
    canvas.create_rectangle(xa,ya,800,400,fill='white')

    


d=0
while d==0:
    try:
        print ("Entrez la taille de la tablette de chocolat\n(Maximum 10 par 10)\n")
        h=int(input("Entrer la largeur : "))
        w=int(input("Entrer la longueur : "))
        if h>10 or w>10:
            print("Les dimensions sont trop grandes\n")
        else :
            d=1
    except:
        print ("Les donnees ne sont pas correctes\n")


main = Tk()
main.title ("Jeu du chocolat")
main.geometry('1000x800+25+25')
main.config(cursor='hand1')
font28="-size 28"
titre = Label (main, text="Bienvenue dans le jeu du chocolat")
titre.pack()
titre.configure(font=font28)
effacer=Button(main, text="Effacer", command=clear)
effacer.pack()


canvas = Canvas(main, width=800, height=400, background='brown')
canvas.pack(padx=10, pady=100)
for i in range (1, w):
    canvas.create_rectangle(i*800/(w),0,i*800/(w),400,fill='black')
for i in range (1,h):
    canvas.create_rectangle(0,i*400/h,800,i*400/h,fill ='black')
canvas.create_rectangle(0,0,800/w,400/h,fill ='green')


canvas.bind('<Button-1>', clic)

main.mainloop()

Re: sujets du 26 septembre 2018

Posté : 29 janv. 2019, 19:37
par sebastien_simao
C'est une très bonne idée ce programme Python ! Effectivement il reste à compléter pour faire une IA fonctionnelle, mais il fonctionne bien et permet de tester des stratégies à deux joueurs humains. Au club on a étudié la stratégie sur des tablettes carrés, certains comme lucas ou armel pourraient en parler dans ce post.