labyrinthe.py

Created by marius-layan

Created on February 05, 2024

2.22 KB

Labyrinthe est un je qui créer un labyrinthe aléatoire et le but est de se déplacer pour trouver la sortie le plus rapidement (un compteur de seconde est placé en haut à gauche)

le labyrinthe se créer par rapport à la couleur du bleu obtenu sur numworks, le fait qu’il fonctionne sur toute les numworks n’est pas sûr.

pour se déplacer: Flèches directionnelles

BON JEU !


from random import randint
from time import monotonic
from kandinsky import *
from ion import *
f=0
while f==0:
  d,e=0,0
  fill_rect(0,0,320,222,'white');fill_rect(10,20,2,190,'blue');fill_rect(10,20,300,2,'blue');fill_rect(310,20,2,192,'blue');fill_rect(10,210,300,2,'blue');fill_rect(12,210,8,2,'white');fill_rect(302,20,8,2,'white')
  while True:
    a,b=randint(2,31)*10,randint(2,21)*10
    while True:
      c=randint(0,3)
      if c==0 and b<200 and get_pixel(a,b+10)!=(0,0,248):fill_rect(a,b,2,12,'blue');b+=10;e=0
      elif c==1 and b>20 and get_pixel(a,b-10)!=(0,0,248):fill_rect(a,b,2,-10,'blue');b-=10;e=0
      elif c==2 and a<300 and get_pixel(a+10,b)!=(0,0,248):fill_rect(a,b,12,2,'blue');a+=10;e=0
      elif c==3 and a>20 and get_pixel(a-10,b)!=(0,0,248):fill_rect(a,b,-10,2,'blue');a-=10;e=0
      else:
        e+=1
        if e==1000:d=1
        break
    if d==1:break
  a,b=13,213
  def n():fill_rect(a,b,6,6,'white')
  def m():fill_rect(a,b,6,6,'red')
  m();start=monotonic()
  while True:
    ct=monotonic();et=ct-start;tc=int(et*100)
    if tc<100:t="0"+str(tc)[:-2]+"."+str(tc)[-2:];draw_string(str(t),0,0)
    else:t=str(tc)[:-2]+"."+str(tc)[-2:];draw_string(str(t),0,0)
    if keydown(KEY_LEFT) and get_pixel(a-2,b)!=(0,0,248) and b<213:
      n();a-=10;m()
      while keydown(KEY_LEFT):continue
    elif keydown(KEY_RIGHT) and get_pixel(a+8,b)!=(0,0,248) and b<213:
      n();a+=10;m()
      while keydown(KEY_RIGHT):continue
    elif keydown(KEY_UP) and get_pixel(a,b-2)!=(0,0,248):
      n();b-=10;m()
      while keydown(KEY_UP):continue
    elif keydown(KEY_DOWN) and get_pixel(a,b+8)!=(0,0,248) and b<200:
      n();b+=10;m()
      while keydown(KEY_DOWN):continue
    if b==13:break
  fill_rect(0,0,320,222,'black')
  draw_string("rejouer :",120,60,'yellow','black')
  draw_string("oui",145,90,'green','black')
  draw_string("non",145,120,'white','black')
  draw_string("time: "+str(t),5,200,'yellow','black')
  while True:
    if keydown(KEY_UP):draw_string("oui",145,90,'green','black');draw_string("non",145,120,'white','black');f=0
    if keydown(KEY_DOWN):draw_string("oui",145,90,'white','black');draw_string("non",145,120,'green','black');f=1
    if keydown(KEY_OK):
      while keydown(KEY_OK):continue
      break

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.