(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): 1593
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): 1593
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é] court métrage 2020 3 92 Hier 20:55:21
flahaut 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Première version disponible !    [1][2][3]...[56] 559 92965 Hier 17:08:42
Bibi09 
Moteur de jeu GameBlender et alternatives hARMful engine    [1][2][3]...[9] 80 8894 Hier 16:58:20
Bibi09 
Questions & Réponses Knife tool a arrêté de fonctionner 1 33 Hier 16:29:51
Rimpotche 
Hors Sujet !! Système solaire open source 5 1512 26/12/2019 12:46
Bibi09 
Questions & Réponses [non résolu] Ecran bleu 2 78 05/07 18:35:32
alexmge 
Questions & Réponses [non résolu] va et vient entre sculpt et layout impossible    [1][2] 11 184 05/07 09:56:50
manondup 
Le coin des geeks carte graphique Intel(R) HD Graphics et OpenGL    [1][2][3] 24 850 04/07 22:47:15
Bibi09 
Questions & Réponses shader 5 164 04/07 20:23:23
Rimpotche 
[WIP] et travaux terminés Le Tigre 4 234 04/07 11:19:09
lastrodamo 
Questions & Réponses [non résolu] le Rendu de preview et le rendu final ne sonts pas pareils 2 102 03/07 23:18:27
Pinguinax 
Questions & Réponses [non résolu] Particules system dynamique 0 72 03/07 13:27:09
Ramar 
[WIP] et travaux terminés bas sculpture corps    [1][2] 18 375 01/07 18:57:21
prometheusx 
[WIP] et travaux terminés Générateur d'oreille - Beta testeurs bienvenus 8 475 30/06 10:28:08
Rimpotche 
Le coin des geeks Vieilles cartes graphiques : Quadro FX5800 ou Quadro 4000 ? 3 218 30/06 07:48:42
Poutrator 
Questions & Réponses Changement de caméra 2 206 28/06 19:10:40
prometheusx 
Questions & Réponses Faire pousser des cheveux 2 195 28/06 16:01:40
Rimpotche 
Questions & Réponses convertir un mesh en hair et le relier 2 145 28/06 11:11:44
prometheusx 
Questions & Réponses feu rapide 2 205 28/06 07:22:23
francerf 
Questions & Réponses collision de tissu 1 147 27/06 23:54:35
prometheusx 

Qui est en ligne
168 utilisateur(s) en ligne (dont 120 sur Forums)

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


plus...
Nouveaux membres
TeddySizer 7/7/2020
IDKTrinida 7/7/2020
LatonyaFer 7/7/2020
BellSwq191 7/7/2020
OlenRobin1 7/7/2020
Ilene52I26 7/7/2020
JoseDriske 7/7/2020
JulioTnb1 7/7/2020
ElaineRade 7/7/2020
JestineJer 7/7/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
Jui 11
BUG de Lyon
Jui 23
Anniv du BlenderClan !
Aou 7
anniversaire Cem47
plus 269 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