(1) 2 »


Jeu du 421
Fou Furieux du Clan
Inscrit:
20/05/2015 22:02
Post(s): 299
Bonne année à toutes et tous!

C'est sous les conseils de plusieurs utilisateurs de ce forum que j'ouvre un sujet à part pour ce jeu que j'aimerais réaliser.

Au départ, je voulais n'utiliser que des logic bricks, mais la tâche semble ardue.

En zieutant divers tutos sur python, j'ai pu comprendre quelques trucs qui vont pouvoir me servir.
Comme le fait d'additionner des propriétés entre elles, les comparer (<> ou =)

Pour ceux qui ne connaissent pas, c'est un jeu qui se joue à minimum 2 joueurs, avec 3 dés, 21 jetons et une piste de préférence.
Les règles du jeu plus complètes:
http://www.regles-de-jeux.com/regle-du-421/

J'ouvre donc ce sujet pour que vous puissiez en suivre l'évolution, mais également pour quémander de l'aide, étant une grosse bille à python

Bonne lecture et merci à ceux qui pourront m'aider ou m'aiguiller dans le bon sens!


(pour info, il se peut que ce topic soit plus ou moins actualisé, puisque je "travaille" sur un autre jeu en même temps (topic je de tir en vue du dessus)

Contribution le : 01/01/2017 22:52
Créer un fichier PDF de la contribution Imprimer


Re: Jeu du 421
Fou Furieux du Clan
Inscrit:
20/05/2015 22:02
Post(s): 299
On commence tout de suite dans le vif du sujet avec mes premières difficultés python:

Ce code, pas de soucis, ça fonctionne:
import bge


import bge


def main():

cont = bge.logic.getCurrentController()
own = cont.owner

scene = bge.logic.getCurrentScene()
de1 = scene.objects ["de1"]
de2 = scene.objects ["de2"]
mstr = scene.objects ["master"]





if de2["number"] > de1["number"]:
de1["fish"]=mstr["banque"]

if de1["number"] > de2["number"]:
de2["fish"]=mstr["banque"]



main()

Ce que je ne comprends pas, c'est que ce code ne fonctionne pas:

import bge


def main():

cont = bge.logic.getCurrentController()
own = cont.owner
scene = bge.logic.getCurrentScene()
mstr = scene.objects ["master"]

if mstr["number1"]>mstr["number2"]:
mstr["win1"]=True





main()

Je l'ai pourtant fait à partir du premier que j'ai fait qui fonctionnait.
La console me dit ceci:
Pyhton error compiling script object 'master', controller 'Pyhton':
File "quigagne.py",line11
if mstr["number1"]>mstr["number2"]:
Indentation error unident does not match any outer indentation level.
Est-ce que quelqu'un sait ce qu'il en est SVP?
Merci d'avance

Contribution le : 01/01/2017 23:00
Créer un fichier PDF de la contribution Imprimer


Re: Jeu du 421
Fou Furieux du Clan
Inscrit:
28/08/2012 11:13
Post(s): 254
Salut!

Citation :
File "quigagne.py",line11 if mstr["number1"]>mstr["number2"]: Indentation error unident does not match any outer indentation level.


par hasard il y a pas un "^" dans le message d'erreur? si pour il doit il y avoir un problème de tab ou autre. Met ton code avec la balise code comme ça on verra bien :p .

Contribution le : 02/01/2017 00:37
Créer un fichier PDF de la contribution Imprimer


Re: Jeu du 421
Fou Furieux du Clan
Inscrit:
20/05/2015 22:02
Post(s): 299
oui, il y a bien un "^" dans le message. Il apparait sous les ":". Si j'enlève le ":", il le met sous le caractère d'avant...

Désolé je débarque tout juste dans l'univers de Python, du coup, je n'avais pas vu les balises

import bge   
def main():  
cont = bge.logic.getCurrentController() 
own = cont.owner 
scene = bge.logic.getCurrentScene() 

mstr = scene.objects ["master"]  
if mstr["number1"]>mstr["number2"]: 
mstr["win1"]=True     

 main()


Merci pour ton aide

Contribution le : 02/01/2017 16:51
Créer un fichier PDF de la contribution Imprimer


Re: Jeu du 421
Fou Furieux du Clan
Inscrit:
28/08/2012 11:13
Post(s): 254
Tes balises sont mal mise je peux pas voir ou est l'erreur . Mais ça doit pas être bien grave, essaye tout ça :
- vérifie qu'il n'y a pas un espace avant le 1er mot de chaque lignes
- remet "mstr["win1"]=True" au debut de la ligne en supprimant les espaces et refait un tab(ou 4 espaces).
C'est forcement un problème d'espace, je ne voit rien d'autre qui cloche.

édit :
Sinon je viens de penser a plus simple, essai ça :p :



import bge   
def main():  
    cont = bge.logic.getCurrentController() 
    own = cont.owner 
    scene = bge.logic.getCurrentScene() 

    mstr = scene.objects ["master"]  
    if mstr["number1"]>mstr["number2"]: 
        mstr["win1"]=True     

main()

Contribution le : 02/01/2017 21:12
Créer un fichier PDF de la contribution Imprimer


Re: Jeu du 421
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1653
Pas d'espaces à scene.objects ['master'], c'est scene.objects['master']

Tu as une erreur d'indentation: une indentation, c'est un espacement entre la ligne du if et la ligne suivante.

Un simple exemple, tu l'as très bien fait pour ta fonction (en supposant que ce soit le cas).

Un conseil: utilise pasteall en mode texte python pour avoir plus facile, surtout au niveau de la numerotation des lignes.

Contribution le : 02/01/2017 21:37
Créer un fichier PDF de la contribution Imprimer


Re: Jeu du 421
Fou Furieux du Clan
Inscrit:
28/08/2012 11:13
Post(s): 254
Citation :
Pas d'espaces à scene.objects ['master'], c'est scene.objects['master']

C'est vrai que ça fait plus propre et plus lisible sans l'espace, mais c'est correct quand même, ça ne retourne pas d'erreur.

Contribution le : 03/01/2017 01:23
Créer un fichier PDF de la contribution Imprimer


Re: Jeu du 421
Fou Furieux du Clan
Inscrit:
20/05/2015 22:02
Post(s): 299
Merci pour votre aide
Si ce n'est qu'un problème d'espace, c'est super

J'ai pas encore tout saisi au niveau de la 'mise en page' d'un code python.

Citation :
C'est vrai que ça fait plus propre et plus lisible sans l'espace, mais c'est correct quand même, ça ne retourne pas d'erreur.


Ah, du coup, 'y a des trucs autorisés au niveau des espaces, ,des retours à la ligne ou des TAB?

Citation :
Tu as une erreur d'indentation: une indentation, c'est un espacement entre la ligne du if et la ligne suivante.(...)un conseil: utilise PasteAll


Indentation...merci, ce mot m'énervait, je savais pas ce que ça voulais dire ok, cool pour PasteAll, j'y ai pas pensé

En revanche, je commence à comprendre plein d'autres choses grâce à cette chaine d'Arsenal RSL au contenu assez énorme, forcément à recommander, mais j'imagine que vous connaissez déjà:
https://www.youtube.com/channel/UC8fEnP9462piEg4xa3xNHOA
Y a énormément de types de codes simples et différents pour Blender (et Unity aussi il me semble). Du coup, même si c'est pas des tutos qui te font apprendre python à proprement parlé, le fait de voir tous ces codes en application fait qu'on commence à comprendre la logique du code et son écriture.

Bref, j'essaierais tout ça ce soir


Contribution le : 03/01/2017 16:35
Créer un fichier PDF de la contribution Imprimer


Re: Jeu du 421
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1653
Si ce n'est déjà fait, je t'invite à lire le tutoriel sur python d'OpenClassRoom

Ah et bonne année (j'avais oublié de te le souhaiter)

Contribution le : 03/01/2017 16:53
Créer un fichier PDF de la contribution Imprimer


Re: Jeu du 421
OverdOzed
Inscrit:
08/04/2016 12:27
Post(s): 442
Salut RatedJosh,

Voici quelques liens sur python en français, qui j'espère te seront utiles.

Deux tutos
douze tutos

Bon courage

BG

Contribution le : 04/01/2017 20:02
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 »




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
[WIP] et travaux terminés [terminé] Scène de Pti dej à la Française - EVEE a donf - 2.9 Blender    [1][2][3] 23 225 Aujourd'hui 02:57:29
meltingman 
Questions & Réponses [WIP] Problème Rétopo 5 31 Hier 22:37:06
Laorz 
[WIP] et travaux terminés image couteau dans caillou qui saigne 1 17 Hier 22:19:25
meltingman 
Questions & Réponses Placer sa camera sur un HDRI    [1][2] 10 299 Hier 21:32:01
meltingman 
[WIP] et travaux terminés [terminé] Chaussures Très Réalistes (.bend disponible) 5 122 Hier 21:23:47
Crocodile_13 
Le coin des geeks gain de fluidité viewport entre ryzen 3900X et 3950X    [1][2][3] 28 1327 Hier 15:45:54
papillon 
Questions & Réponses hdri en mode ombrage 2 106 Hier 10:27:06
kimlicrea 
Questions & Réponses Modifier les attribue de plusieurs objet en même temps (lumière) 3 63 Hier 10:21:47
kimlicrea 
[WIP] et travaux terminés [terminé] Moderno 404    [1][2] 13 482 23/10 20:26:41
moonboots 
Questions & Réponses Lissage de face 4 77 23/10 19:43:53
Maxence34 
Mes premières images sous Blender (débutants) Première réalisation    [1][2] 15 8980 23/10 02:13:26
Talason 
The Blender Clan 'tchat Addon convertisseur d'images en courbes 2 72 22/10 20:29:31
Rimpotche 
The Blender Clan 'tchat Pour les arboriculteurs 3D 1 75 22/10 18:05:18
moonboots 
Hors Sujet !! Faire parler son personnage en 5 minutes - tutoriel Francais - Blender 2.9 4 133 22/10 13:03:28
meltingman 
GIMP Faire un drégradé selon la forme sous gimp 9 105 22/10 12:49:57
Thewada 
Questions & Réponses [résolu] Perte des Vertex lors d'un Separate 7 103 21/10 21:45:05
debutant 
[WIP] et travaux terminés [terminé] Pantin articulé    [1][2] 12 6767 21/10 18:53:51
meltingman 
Hors Sujet !! Une citrouille en 13 clics - Tutoriel - Blender 2.9 2 165 19/10 23:40:15
meltingman 
Hors Sujet !! un banc de dauphin - tutoriel - workflow sculpte > bake - 2.9    [1][2] 12 467 19/10 23:36:41
meltingman 
Questions & Réponses [résolu] Particule réaliste pour un sprite    [1][2] 12 689 19/10 13:39:34
Redstar 

Qui est en ligne
244 utilisateur(s) en ligne (dont 156 sur Forums)

Membre(s): 0
Invité(s): 244


plus...
Nouveaux membres
BritneyMac 25/10/2020
NBVLatonya 25/10/2020
Mel46E969 25/10/2020
CathyGrims 25/10/2020
KayVergara 25/10/2020
RegenaDene 25/10/2020
Sina 25/10/2020
MaddisonCo 25/10/2020
ElenaChick 25/10/2020
SonyaBidme 24/10/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
Jan 9
BUG de Lyon
plus 264 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2020 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445