turtle_dessin_cube_version.py

Created by gengisclan

Created on August 18, 2023

6.17 KB

Turtle dessin est enfin mis à jour avec kandinsky ! Enfin ! Il est désormais possible de choisir la couleur de fond !


'''
Cree par Gengisclan le 26/07/2023
'''

# Modules
from kandinsky import *
from random import randint
from time import sleep
from ion import *

# Actions pour elever le mode gomme
def Fin_gommage():
  global gomme
  global taille
  if gomme==True:
    fill_rect(pos[0],pos[1],50,50,fond)
    pos[0]+=20
    gomme=False
    taille=10
  
  
# Dessinne le joueur
def Joueur(couleur,pos,fond):
  if gomme==False:
    fill_rect(pos[0],pos[1],taille,taille,couleur)
    fill_rect(pos[0]+2,pos[1]+2,2,2,fond)
    fill_rect(pos[0]+6,pos[1]+2,2,2,fond)
  else: # Mode gomme
    fill_rect(pos[0],pos[1],taille,taille,fond)
    fill_rect(pos[0]+10,pos[1]+10,10,10,(255,0,0))
    fill_rect(pos[0]+30,pos[1]+10,10,10,(255,0,0))
      
# Gere les mouvements du joueur
def Mouvement(pos):
  # Controle de sortie de carte
  if pos[0]<0:pos[0]=0
  if pos[0]>320-taille:pos[0]=320-taille
  if pos[1]<0:pos[1]=0
  if pos[1]>222-taille:pos[1]=222-taille
  
  # Mouvement du perso
  if keydown(KEY_UP):pos[1]-=1 
  if keydown(KEY_DOWN):pos[1]+=1
  if keydown(KEY_RIGHT):pos[0]+=1  
  if keydown(KEY_LEFT):pos[0]-=1

# Gere le changement de couleurs
def Couleurs(couleur):
  global gomme
  global taille
  if keydown(KEY_ONE):couleur=(0,125,255);Fin_gommage()# Bleu
  if keydown(KEY_TWO):couleur=(240,0,32);Fin_gommage()# Rouge
  if keydown(KEY_THREE):couleur=(9,106,9);Fin_gommage()# Vert
  if keydown(KEY_FOUR):couleur=(255,255,0);Fin_gommage()# Jaune
  if keydown(KEY_FIVE):couleur=(88,41,0);Fin_gommage()# Marron
  if keydown(KEY_SIX):couleur=(253,108,158);Fin_gommage()# Rose
  if keydown(KEY_SEVEN):couleur=(249,129,41);Fin_gommage()# Orange
  if keydown(KEY_EIGHT):couleur=(128,0,128);Fin_gommage()# Violet
  if keydown(KEY_NINE):couleur=(96,96,96);Fin_gommage()# Gris

  # Random color mode
  elif keydown(KEY_EE):couleur=(randint(0,255),randint(0,255),randint(0,255));Fin_gommage()

  # Mode gomme
  elif keydown(KEY_ZERO):
    if gomme==False:
      pos[0]-=20
    gomme=True
    taille=50
    couleur=fond

  # Mode originel
  elif keydown(KEY_DOT):
    if fond==(255,)*3:couleur=(0,)*3
    else:couleur=(255,)*3
    Fin_gommage()

  # Stilo leve
  elif keydown(KEY_OK) and gomme!=True:fill_rect(pos[0]-1,pos[1]-1,12,12,fond)    
        
  return couleur


# Rafraichis la page
def Ch_page():
  global suiv
  suiv=False
  sleep(.1)  

# Dessinne le logo
def Logo():
  fill_rect(0,0,320,240,(0,)*3)
  fill_rect(100,80,120,60,(255,)*3)
  fill_rect(101,81,118,58,(0,)*3)
  draw_string("Cree par",120,90,(255,)*3,(0,)*3)
  draw_string("Gengisclan",110,110,(255,)*3,(0,)*3)
  sleep(2)

# Genere les boutons  
def Dessin_boutons(bouton,coul=(0,)*3):
  fill_rect(bouton[3],bouton[4],bouton[1],bouton[2],(255,)*3)
  fill_rect(bouton[3]+1,bouton[4]+1,bouton[1]-2,bouton[2]-2,coul)
  draw_string(bouton[0],bouton[3]+10,bouton[4]+10,(255,)*3,coul)

# Page d'acceuil
def Page1():
  Dessin_boutons(Boutons[0])
  Dessin_boutons(Boutons[2])
  Dessin_boutons(Boutons[3])

# Pages d'aide
def Page3():  
  draw_string("Commandes",115,20,(255,)*3,(0,)*3)

  draw_string("-",10,55,(240,)*3,(0,)*3)
  draw_string("Touches numeriques (1 a 9):",30,55,(240,0,32),(0,)*3)
  draw_string("Couleurs",30,75,(255,)*3,(0,)*3)
  
  draw_string("-",10,95,(240,)*3,(0,)*3)
  draw_string("Touche 0 :",30,95,(240,0,32),(0,)*3)
  draw_string("Gomme",140,95,(255,)*3,(0,)*3)
  
  draw_string("-",10,115,(240,)*3,(0,)*3)
  draw_string("Touche . :",30,115,(240,0,32),(0,)*3)
  draw_string("Couleur de base",140,115,(255,)*3,(0,)*3)
                          
  draw_string("-",10,135,(240,)*3,(0,)*3)
  draw_string("Touche *10 :",30,135,(240,0,32),(0,)*3)
  draw_string("Couleur aleatoire",30,155,(255,)*3,(0,)*3)

  Dessin_boutons(Boutons[1])

def Page4():
  draw_string("Commandes",115,20,(255,)*3,(0,)*3)

  draw_string("-",10,55,(240,)*3,(0,)*3)
  draw_string("Touche OK:",30,55,(240,0,32),(0,)*3)
  draw_string("lever le styo",140,55,(255,)*3,(0,)*3)

  draw_string("-",10,75,(240,)*3,(0,)*3)
  draw_string("Touche Shift:",30,75,(240,0,32),(0,)*3)
  draw_string("QUITTER",170,75,(255,)*3,(0,)*3)

  draw_string("Merci d avoir mis ce jeu sur",10,125,(240,)*3,(0,)*3)
  draw_string("ta calculatrice. Ammuse-toi",10,145,(240,)*3,(0,)*3)
  draw_string("bien !",10,165,(240,)*3,(0,)*3)

  Dessin_boutons(Boutons[1])


page=1 # Numero de la page
suiv=False # Changement de page
run=True # Marche
fond=(0,)*3 # Couleur du fond
couleur=(255,)*3 # Couleur de base
pos=[155,115] # Position du joueur
gomme=False # Mode gomme
taille=10 # Taille du joueur

Boutons=[
# [Texte,Longueur,Largeur,x,y]
["Aide",60,40,10,10], # Aide
["OK",40,40,220,180], # Indication
["Fond blanc",120,40,100,70],
["Fond noir",110,40,105,130]
]


Logo() 
fill_rect(0,0,320,240,(0,)*3)
Page1()

while run:
  Ch_page()

#     __Page 1__Acceuil__
  if page==1:
    while keydown(KEY_OK):pass
    fill_rect(0,0,320,240,(0,)*3)
    Page1()
    n_souris=2
    Dessin_boutons(Boutons[n_souris],(112,114,110))
    while not suiv:
      sleep(.1)
      # Mouvements de sourie
      if keydown(KEY_UP):
        Page1()
        if n_souris==2:n_souris=0
        if n_souris==3:n_souris=2
        Dessin_boutons(Boutons[n_souris],(112,114,110))        
      if keydown(KEY_DOWN): 
          Page1()
          if n_souris==2:n_souris=3
          if n_souris==0:n_souris=2
          Dessin_boutons(Boutons[n_souris],(112,114,110))
      # Clic
      if keydown(KEY_OK):
        if n_souris==0:
          suiv=True
          page=3
        if n_souris==2:
          fond=(255,)*3
          suiv=True
          page=2
        if n_souris==3:
          suiv=True
          page=2
  
#     __Page 2__Jeu__  
  if page==2:
    fill_rect(0,0,320,240,fond)
    if fond==(255,)*3:couleur=(0,)*3
    while not keydown(KEY_SHIFT):
      # Corps du jeu
      Joueur(couleur,pos,fond)
      Mouvement(pos)
      couleur=Couleurs(couleur)
      # Quitte le jeu
      if keydown(KEY_SHIFT):run=False

#     __Page 3__Aide__Commandes__p1
  if page==3:
    while keydown(KEY_OK):pass
    fill_rect(0,0,320,240,fond)
    Page3()
    while not keydown(KEY_OK): 
      pass
    page=4
    suiv=True

#     __Page 4__Aide__Commandes__p2
  if page==4:
    while keydown(KEY_OK):pass
    fill_rect(0,0,320,240,fond)
    Page4()
    while not keydown(KEY_OK): 
      pass
    page=1
    suiv=True

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.