top of page

Mon projet final

Pendant deux mois, nous allons travailler sur un projet de notre choix individuellement et faire une présentation à la classe de celui-ci.
Je vais retranscrire au fil des séances l'évolution de mon projet ici.
(Ce projet ne sera pas entièrement réussi)

Problématique:

             Comment avec Processing créer un jeu de Rami, jeu de cartes à deux?

Sous-problématiques:

_ Comment créer des listes avec Processing ?

_ Comment afficher des cartes sur Processing ?

_ Comment interagir avec les cartes en utilisant la souris et ses mouvements ?

_ Comment écrire une fonction permettant de jouer tour par tour avec des actions différentes possibles dans celle-ci ?

_ Comment mettre du texte sur Processing ?

_ Comment faire des boutons sur Processing ?

12/01/2024 __ Séance 1:

Création du carnet de bord, annonce du projet au professeur et découverte de Processing.

J'ai cherché comment faire un rectangle et comment mettre des couleurs.

Mes trois premiers objectifs : représentation des cartes, liste des cartes (liste de liste) et une fonction distribution.

(colorvariables)

19/01/2024 __ Séance 2:

Dans un premier temps, j'ai créer les deux fonctions obligatoires pour obtenir un fond. Le vrai défi est de trouvé la bonne couleur: en cherchant sur internet, j'ai trouvé les couleurs de base puis en testant plusieurs fois en variant les nombres, j'ai trouvé comment assombrir ma couleur et la modifier.

Les couleurs en question:

le blanc = (255,255,255) — le noir = (0,0,0) — le rouge = (255,0,0) — le vert = (0,255,0) — le bleu = (0,0,255) — le jaune = (255,255,0) — le cyan = (0,255,255) — le gris = (125,125,125) — le rose = (253,108,158) — l'orangé = (244,102,27) — le violet = (102,0,153) — le caramel = (126,51,0) et pleins d'autres...

Ensuite, j'ai créé ma liste de cartes nommé jeu et deux liste vides : une pour la pioche et l'autre pour la défausse.

Mon travail pour l'instant:

def setup():

  size(1800,900)

  # image à mettre

def draw(): 

background(0,170,100)

As= 11

Roi= 10

Dame= 10

Valet= 10

figures= ['As', 'Roi', 'Dame', 'Valet', '10', '9', '8', '7', '6', '5', '4', '3', '2']

couleurs= ['Pique', 'Carreaux', 'Trefle', 'Coeur']

defausse= []

pioche= []

jeu= [ [element1+ ' de ' + element2 for element1 in figures for element2 in couleurs] +

[element1+ ' de ' + element2 for element1 in figures for element2 in couleurs]]

print(figures)

print(couleurs)

print(jeu)

['As', 'Roi', 'Dame', 'Valet', '10', '9', '8', '7', '6', '5', '4', '3', '2']
 

['Pique', 'Carreaux', 'Trefle', 'Coeur']
 

[['As de Pique', 'As de Carreaux', 'As de Trefle', 'As de Coeur', 'Roi de Pique', 'Roi de Carreaux', 'Roi de Trefle', 'Roi de Coeur', 'Dame de Pique', 'Dame de Carreaux', 'Dame de Trefle', 'Dame de Coeur', 'Valet de Pique', 'Valet de Carreaux', 'Valet de Trefle', 'Valet de Coeur', '10 de Pique', '10 de Carreaux', '10 de Trefle', '10 de Coeur', '9 de Pique', '9 de Carreaux', '9 de Trefle', '9 de Coeur', '8 de Pique', '8 de Carreaux', '8 de Trefle', '8 de Coeur', '7 de Pique', '7 de Carreaux', '7 de Trefle', '7 de Coeur', '6 de Pique', '6 de Carreaux', '6 de Trefle', '6 de Coeur', '5 de Pique', '5 de Carreaux', '5 de Trefle', '5 de Coeur', '4 de Pique', '4 de Carreaux', '4 de Trefle', '4 de Coeur', '3 de Pique', '3 de Carreaux', '3 de Trefle', '3 de Coeur', '2 de Pique', '2 de Carreaux', '2 de Trefle', '2 de Coeur', 'As de Pique', 'As de Carreaux', 'As de Trefle', 'As de Coeur', 'Roi de Pique', 'Roi de Carreaux', 'Roi de Trefle', 'Roi de Coeur', 'Dame de Pique', 'Dame de Carreaux', 'Dame de Trefle', 'Dame de Coeur', 'Valet de Pique', 'Valet de Carreaux', 'Valet de Trefle', 'Valet de Coeur', '10 de Pique', '10 de Carreaux', '10 de Trefle', '10 de Coeur', '9 de Pique', '9 de Carreaux', '9 de Trefle', '9 de Coeur', '8 de Pique', '8 de Carreaux', '8 de Trefle', '8 de Coeur', '7 de Pique', '7 de Carreaux', '7 de Trefle', '7 de Coeur', '6 de Pique', '6 de Carreaux', '6 de Trefle', '6 de Coeur', '5 de Pique', '5 de Carreaux', '5 de Trefle', '5 de Coeur', '4 de Pique', '4 de Carreaux', '4 de Trefle', '4 de Coeur', '3 de Pique', '3 de Carreaux', '3 de Trefle', '3 de Coeur', '2 de Pique', '2 de Carreaux', '2 de Trefle', '2 de Coeur']]

26/01/2024 __ Séance 3:

En dehors des cours, j'ai commencé à réfléchir sur les différentes scènes de mon jeu pour avoir un accueil qui donnera sur un bouton "partie" et "règle" dont je créerai les fonctions plus tard.

J'ai aussi fait un croquis de ce que j'aimerais ce que ça donne à la fin pour être sur et pas perdre du temps avec ça.

Après un bilan avec le professeur, il a été voulu de créer et de chercher toutes les images de cartes et de les associer directement à leur variable si je peux l'appeler ainsi. De plus, je commencerai avec un seul paquet de cartes, c'est-à-dire 50 cartes en enlevant les Jokers car pour le jeu de Rami, il en faut 100.

J'ai réussi à avoir ma première scène avec le fond comme je le souhaitais:

(Ceci est un premier résultat et pas le dernier)

02/02/2024 __ Séance 4:

Cette séance était particulière car le prof n'était pas là et par conséquent, on a du travailler tout seul en autonomie complète. Pendant celle-ci, j'ai cherché les photos utiles pour mon projet en les modifiant pour que ce soit adapter au jeu.

09/02/2024 __ Séance 5:

Le but de cette séance sera de créer un accueil avec des boutons qui fonctionnent et de commencer à faire les pages liés aux boutons en se concentrant plus particulièrement sur le plateau du jeu.

Dans un premier temps, j'ai travaillé sur la page d’accueil dont le résultat n'es pas final car je préfère me concentrer sur la manière de créer les boutons.

Voici la fonction accueil sur laquelle j'ai travaillé et le rendu en activant le programme:

def acceuil():
  image(img, 0,0)
  fill(0,0,0)
  textSize(100)
  text("Bienvenue",395,205)
  rect(375,300,500,100)
  rect(375,450,500,100)
  fill(225,225,225)

   textSize(100)  

   text("Bienvenue",400,200)
  textSize(50)
  text("Nouvelle partie",425,350)
  textSize(50)
  text("Regles",450,520)

(Je changerai plus tard la page d'accueil pour que ce soit plus esthétique)

Grâce à l'exemple de Fantine, j'ai pu voir la base d'un bouton en Processing. En reprenant ce qu'elle a fait, je l'ai adapté à mon programme et j'ai essayé de le faire marché sauf que ça a été un échec.

Voici ce que j'ai copié et changé pour aller avec mon programme:

def draw():
   background(0,170,100)
   global scene
   if scene==1:
       acceuil()
   if scene==2:
       game()
   if scene==3:
       regles()
   if (mousePressed == True):
       if (mouseButton == RIGHT):
           if mouseX<875:
               if mouseX>375:
                   if mouseY<300:
                       if mouseY>400:
                           scene =+1
           if mouseX<875:
               if mouseX>375:
                   if mouseY<450:
                       if mouseY>550:
                           scene =+2
           #if mouseX<875:
               #if mouseX>375:
                   #if mouseY<300:
                       #if mouseY>400:
                           #scene =-1
           #if mouseX<875:
               #if mouseX>375:
                  # if mouseY<300:
                       #if mouseY>400:
                           #scene =-2

But des boutons:

permet d'aller de l'accueil à une partie

permet d'aller de l'accueil aux règles

permet d'aller de la partie à l'accueil

( donnée à modifier)

permet d'aller des règles à l'accueil

(donnée à modifier)

16/02/2024 __ Séance 6:

Dans un premier temps, je vais travailler sur les boutons pour essayer de les faire marcher car je bloque toujours dessus, malheureusement.

N'ayant plus la patience de les faire marcher, j'ai décider de passer aux deux autres fonctions:

" game(): " et " regles(): "

Sur la fonction "regles():", j'ai juste commencé à écrire les règles du jeu de Rami et essayer de créer le bouton put retourné à l'accueil. Bien sur, je n'ai pas réussi..

Voici le résultat de la fonction et le résultat image :

def regles():
    textSize(50)
    fill(0,0,0)
    rect(20,20,60,60)
    text("Regles",400,50)
    fill(225,225,225)
    text("Regles",402,52)
    textSize(20)
    text("But du jeu:",300,80)
    text("Le but du jeu est d'avoir aucune carte dans ses mains.",300,100)
    text("Comment faire pour se debarasser de ses cartes ? :",300,120)
    text("Pour cela, il faudra faire des points",300,140)

Ensuite, je suis passé à la suivante " game(): ". J'ai réussi à afficher les cartes de l'adverse face caché et à créer la pioche et la défausse visuellement. De plus, j'ai laissé de la place pour créer une sort de tapis pour pouvoir poser des cartes dessus par la suite. Je n'ai pas mis les cartes du joueur, c'est-à-dire nous.

def game():
    image(imgdos, 0,250)
    image(imgdos, 360,-60)
    image(imgdos, 390,-60)
    image(imgdos, 420,-60)
    image(imgdos, 450,-60)
    image(imgdos, 480,-60)
    image(imgdos, 510,-60)
    image(imgdos, 540,-60)
    image(imgdos, 570,-60)
    image(imgdos, 600,-60)
    image(imgdos, 630,-60)
    image(imgdos, 660,-60)
    image(imgdos, 690,-60)
    image(imgdos, 710,-60)
    fill(0,0,0)
    rect(900,25,80,60)
    rect(100,550,80,60)
    textSize(50)
    text("New Game",10,50)
    fill(225,225,225)
    textSize(25)
    text("Ordi",920,60)
    text("Vous",115,585)
    textSize(50)
    text("New Game",7,47)
    fill(0,170,130)
    rect(145,250,140,200)
    rect(300, 200,800,300)

08/03/2024 __ Séance 7:

Pendant une heure entière, j'ai tapé les règles de mon jeu et tout a disparu après avoir essayé d'ouvrir l'exemple de Fantine (j'ai littéralement envie de pleurer).

Donc je re taperai tout plus tard car je dois avancer sur autre chose.

Avec l'aide du prof, j'ai réussi à faire fonctionner les boutons sur Processing (c'est une grande victoire pour moi)

bottom of page