En poursuivant votre navigation sur le site, vous acceptez l’utilisation de cookies pour : [vous identifier / personnaliser votre expérience]. Cliquez ici Pour en savoir plus.

Script Python : Voyager(Test)

...

ConnexionSe connecterInscriptionS'inscrire
Script mis à jour le 04/06/20

Description du script Python :

Voyager est un script encore en phase de test et va encore être amélioré. Il est codé en python et utilise la librairie Kivy

Droits d'utilisations de ce script Python :

Je peux revendre ce script
Je peux l'utiliser plusieurs fois
Je peux l'utiliser pour mes clients
Je peux modifier ce script
Je dois citer l'auteur du script
#-Importation des modulesfrom kivy.app import Appfrom kivy.uix.floatlayout import FloatLayoutfrom kivy.uix.boxlayout import BoxLayoutfrom kivy.uix.widget import Widgetfrom kivy.uix.image import Imagefrom kivy.core.window import Window, WindowBasefrom kivy.graphics import Rectanglefrom kivy.clock import Clockfrom kivy.animation import Animationfrom kivy.uix.label import Labelfrom kivy.uix.button import Buttonfrom kivy.core.audio import SoundLoaderimport random#-Creation de la vieclass Vie(Widget):def __init__(self,canvas):self.vie = 3self.canvas = canvasself.size = (612/4,192/4)with self.canvas:if self.vie == 3:self.dessin = Rectangle(source='3 coeur.png',size=self.size,pos=self.pos)elif self.vie == 2:self.dessin = Rectangle(source='2 coeur.png',size=self.size,pos=self.pos)elif self.vie == 1:self.dessin = Rectangle(source='1 coeur.png',size=self.size,pos=self.pos)else:self.dessin = Rectangle(source='0 coeur.png',size=self.size,pos=self.pos)#-Creation des powerups#Healthclass Health(Widget):    def __init__(self, canvas):        self.dy = random.randint(-15,-10)        self.score = 0        self.canvas = canvas        #Taille et Position aleatoire        self.x = random.randint(0,int(Window.size[0]-self.size[0]))        self.y = Window.size[1]+200        self.size = (48*2,29*2)        #Ajout de l'image        with self.canvas:            self.dessin = Rectangle(source='Health.png',size=self.size,pos=self.pos)        #Detection des mouvements        self.bind(pos=self.update_canvas)        #Mise à jour des positions de l'image    def update_canvas(self, *args):        self.dessin.pos = self.pos        #Mouvement    def move(self):        #On recalcule la position y        self.y = self.y + self.dy        #On teste la fin de la chute        if self.y <= 0 - self.size[1]:            #Repositionnement aleatoirement en haut            self.y = Window.size[1]+300            self.x = random.randint(0,int(Window.size[0]-self.size[0]))#-Création des météoriteclass Meteorite(Widget):    def __init__(self, canvas):        self.dy = random.randint(-15,-10)        self.score = 0        self.canvas = canvas        #Taille et Position aleatoire        self.x = random.randint(0,int(Window.size[0]-self.size[0]))        self.y = Window.size[1]+100        #Ajout de l'image        with self.canvas:            self.dessin = Rectangle(source='Meteorite.png',size=self.size,pos=self.pos)        #Detection des mouvements        self.bind(pos=self.update_canvas)        #Mise à jour des positions de l'image    def update_canvas(self, *args):        self.dessin.pos = self.pos        #Mouvement    def move(self):        #On recalcule la position y        self.y = self.y + self.dy        #On teste la fin de la chute        if self.y <= 0 - self.size[1]:            #Repositionnement aleatoirement en haut            self.score += 5            self.y = Window.size[1]            self.x = random.randint(0,int(Window.size[0]-self.size[0]))           #-Création des météoriteclass Meteorite2(Widget):    def __init__(self, canvas):        self.dy = random.randint(-10,-7)        self.score = 0        self.canvas = canvas        #Taille et Position aleatoire        self.x = random.randint(0,int(Window.size[0]-self.size[0]))        self.y = Window.size[1]+100        #Ajout de l'image        with self.canvas:            self.dessin = Rectangle(source='Meteorite2.png',size=self.size,pos=self.pos)        #Detection des mouvements        self.bind(pos=self.update_canvas)        #Mise à jour des positions de l'image    def update_canvas(self, *args):        self.dessin.pos = self.pos        #Mouvement    def move(self):        #On recalcule la position y        self.y = self.y + self.dy        #On teste la fin de la chute        if self.y <= 0 - self.size[1]:            #Repositionnement aleatoirement en haut            self.score += 5            self.y = Window.size[1]            self.x = random.randint(0,int(Window.size[0]-self.size[0]))#-Creation du joueurclass Player(Widget):def __init__(self, canvas):self.canvas = canvas#Positionself.pos = (Window.size[0]*0.425, Window.size[1]*0.125)#Ajout de l'imagewith self.canvas:self.dessin = Rectangle(source='Player.png',size=self.size,pos=self.pos)#On associe le mouvement et son imageself.bind(pos = self.update_canvas)self.position = self.pos#-Mise a jour des positionsdef update_canvas(self, *args):    self.dessin.pos = self.pos    #-Creation de l'interface de jeuclass Jeu(FloatLayout):def debut(self):#On récupère la taille de l'ecranself.size = Window.sizeself.musique = SoundLoader.load('BackMusic.ogg')self.musique.play()#Une image de fondself.add_widget(Image(source='Fond.png',allow_stretch=True,keep_ratio=False))#Creation du joueur        self.player = Player(self.canvas)self.health = Health(self.canvas)self.bouge = False#Creation des météoritesself.meteorites = []for i in range(0,5):self.meteorites.append(Meteorite(self.canvas))self.meteorites2 = []for i in range(0,3):self.meteorites2.append(Meteorite2(self.canvas))self.vie = Vie(self.canvas)Clock.schedule_interval(self.update_chute, 4.0/100.0)def stop(self):self.health.dy = 0self.health.y += 100self.bouge = Truefor meteorite in self.meteorites:meteorite.dy = 0meteorite.y += 100for meteorite in self.meteorites2:meteorite.dy = 0meteorite.y += 100def stop_over(self):self.health.dy = 0self.health.y += 100self.musique.stop()self.musique = SoundLoader.load('game_over.ogg')self.musique.play()self.bouge = Truefor meteorite in self.meteorites:meteorite.dy = 0meteorite.y += 100for meteorite in self.meteorites2:meteorite.dy = 0meteorite.y += 100def animation_start(self):anim = Animation(pos=self.pos,duration=0.8)anim.bind(on_complete=self.animation_next)anim.start(self.chiffre)def animation_start_over(self):anim = Animation(pos=(Window.size[0]-self.size[0]+50,Window.size[1]/2),size=(612,192),t='in_quad',duration=1)anim.start(self.vie.dessin)def restart(self):self.health.y = Window.size[1]+200self.health.dy = random.randint(-15,-10)self.chiffre.source = '10.png'self.bouge = Falseself.player.pos = (Window.size[0]*0.425, Window.size[1]*0.125)for meteorite in self.meteorites:meteorite.y = Window.size[1]meteorite.dy = random.randint(-15,-10)for meteorite in self.meteorites2:meteorite.y = Window.size[1]meteorite.dy = random.randint(-10,-7)def restart_over(self):self.health.y = Window.size[1]+200self.health.dy = random.randint(-15,-10)self.musique.stop()self.musique = SoundLoader.load('BackMusic.ogg')self.musique.play()self.over.source = '10.png'self.chiffre.source = '10.png'self.bouge = Falseself.player.pos = (Window.size[0]*0.425, Window.size[1]*0.125)for meteorite in self.meteorites:meteorite.y = Window.size[1]meteorite.dy = random.randint(-15,-10)for meteorite in self.meteorites2:meteorite.y = Window.size[1]meteorite.dy = random.randint(-10,-7)def animation_next(self,widget,animation):self.compteur-=1if self.compteur == -1:self.restart()else:self.chiffre.source = str(self.compteur)+'.png'self.animation_start()def animation_next_over(self,widget,animation):self.compteur-=1if self.compteur == -1:self.restart_over()else:self.chiffre.source = str(self.compteur)+'.png'self.animation_start_over()def update_chute(self,dt):self.health.move()for meteorite in self.meteorites:meteorite.move()if meteorite.collide_widget(self.player):if self.vie.vie >= 2:self.stop()self.vie.vie -=1self.vie.dessin.source = str(self.vie.vie)+' coeur.png'self.chiffre = Image(source='5.png')self.compteur = 5self.add_widget(self.chiffre)self.animation_start()else:self.stop_over()self.over = Image(source='gameover.png')self.over.x = 0self.over.y = 100self.add_widget(self.over)self.vie.dessin.source = '0 coeur.png'#self.chiffre = Image(source='5.png')#self.compteur = 5#self.add_widget(self.chiffre)self.animation_start_over()for meteorite in self.meteorites2:meteorite.move()if meteorite.collide_widget(self.player):if self.vie.vie >= 2:self.stop()self.vie.vie -=1self.vie.dessin.source = str(self.vie.vie)+' coeur.png'self.chiffre = Image(source='5.png')self.compteur = 5self.add_widget(self.chiffre)self.animation_start()else:self.stop_over()self.over = Image(source='gameover.png')self.over.x = 0self.over.y = 100self.add_widget(self.over)self.vie.dessin.source = '0 coeur.png'#self.chiffre = Image(source='5.png')#self.compteur = 5#self.add_widget(self.chiffre)self.animation_start_over()#-Déplacement du joueurdef on_touch_move(self, touch):if self.bouge == False:#Si on touche le tier du basif touch.y < Window.size[1]/3:#On déplace l'avionself.player.center_x = touch.x#-Creation de l'applicationclass Application(App):def build(self):game = Jeu()game.debut()return game#Envoie de l'affichage#-Lancementif __name__ == '__main__':Application().run()

Lancer le script et commencer le voyage

04/06/20 : Boutique PythonProgram

04/06/20 : Première version du script

Questions posées fréquemment
Vous trouverez un bouton "signaler" en haut à droite de cette fiche pour avertir le créateur d'un problème.
Demande de support

Vous rencontrez une difficulté ou avez besoin d'informations supplémentaires sur le script ? N'hésitez pas à contacter l'auteur en cliquant sur le bouton ci-dessous :

PtitClavier67

Inscrit le : 04 Juin 2020

Intérêt : non-renseigné

Voir son profil >>

Nombre de visites du script : 403

Moyenne de visites des scripts : 13


Prix de vente moyen d'un script : 3 euros

// Commentaires sur ce script Python :

Veuillez vous inscrire et/ou vous connecter pour laisser un commentaire

Il n'y a pas encore de commentaire sur ce script.
Essayez-le et soyez le premier à laisser votre avis !

Basile : Mascotte chez 1script.frSITE EN TEST PUBLIQUE :
Bonjour, je vous rappelle que le site est en phase de test. En savoir plus ?
Script par PtitClavier67
Autres scripts du même membre GRATUIT

PARTAGER CE SCRIPT

Twitter Facebook Google Plus Linkedin email

SECTIONS / CATEGORIES

NEWSLETTER : S'ABONNER

BASIL VOUS EXPLIQUE TOUT

Découvrez 1script.fr en vidéo

SUIVEZ 1SCRIPT.FR

ACCÈS