Forum Programmation.python curser un module turtle pour et complémentaire a pygame.

Posté par  (site web personnel) . Licence CC By‑SA.
0
24
oct.
2013

Salut les pythons de Linuxfr,

Je vous invite mes amis pythons de bien vouloir tester le module que j'ai créer pour pygame:
Un module permettant d'utiliser les fonctions d'une tortue dans pygame comme nommé curser (turtle étant déjà pris):
-mv_forward(px)
-mv_backward(px)
-mv_left(angle)
-mv_right(angle)
-anim_forward(px,speed)
-anim_backward(px,speed)
-curser_up()
-set_curser_pos(x,y)
-curser_down()
-hide_curser()
-show_curser()

Alors si vous aimer turtlegrapher ou simplement analyser du code et de proposer une amélioration du code je vous invite a:
Télécharger un module python avec les fonctionnalités de tortue pour et complémentaire a pygame

Le fichier zip contient:
-Un script d'installation pour Linux et Windows.
-Un README.txt
-Des scripts d'exemples d'utilisation.
-Le fichier du module curser.py.

PS: le module comporte quelques bugs comme quand ont avance avec la fonction curser.anim_forward(px, speed=0.001) et que l'on donne a px une valeur inférieure a 9 la fonction peut ne pas respecter l'angle actuelle due a la formule utiliser pour calculer le prochain point.
par exemple:

    # -*- coding: utf-8 -*-

    import pygame
    from pygame.locals import *

    from sys import exit
    from time import sleep

    from curser import Curser #ou import curser

    pygame.init()
    screen=pygame.display.set_mode((800,600),0,32)

    curser=Curser(start_x=400,start_y=300,start_angle=270,color=(0,0,255),bg_color=(0,0,0),stroke_width=1,curser_down=True)
    curser.curser_up()
    curser.set_curser_pos(x=200,y=600/2)
    curser.curser_down()
    i=0
    while i < 360 :
      curser.mv_right(angle=1)

      #curser.anim_forward(px=2) # Dessine un dodekagone au lieu d'un pseudo-cercle 
                                 # changeant de 30 degrees au lieu de 1 degrees comme prévue.

      curser.anim_forward(4)     # Dessine un polygone a 24 cotés au lieu d'un pseudo-cercle 
                                 # changeant de 15 degrees au lieu de 1 degrees comme prévue.

      sleep(0.01)
      i += 1



    while True :

      screen.fill((0))


      curser.show_hook() 

      for event in pygame.event.get() :
        if event.type == QUIT :
          exit()

      pygame.display.update()

Donnez une valeur de 9 a curser.anim_forward(px=9) et le module déangule bien de 1 degrés mais le cercle n'est pas fermer a un pixel près.
par contre:
Donnez une valeur de 10 a curser.anim_forward(px=10) et le module déangule bien de 1 degrés mais le cercle est bien fermer.

Merci de bien vouloir prendre le plaisir, si vous le désirez, de tester mon module et pourquoi pas l'améliorer afin que que l'on puisse le présenter sans bugs a la communauté pygame.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.