salut
je vous explique mon problème je suis débutant en python, j'aime bien me lancer quelques defis mais la je suis bloqué et ne comprends pas pourquoi je voudrais quelques explications
en gros imaginant un jeu je voudrais que l'utilisateur puisse construire quelque chose(une usine) qui va lui couter quelque chose(des fonds)
sauf que rien ne fonctionne
Code :
- # -*-coding:Utf-8 -*
- def solde(soldeG=50, fp=0,fm=0):
- """en gros largent dispo sur le compte"""
- soldeG= soldeG - fm + fp#fm pours les depenses fp pour les rentrées
- return soldeG
- #la fonction lvl lie au batiment chaque batiment aura le sien
- def usineA(lvlUsineA=0):
- """niveau de l'usine A"""
- lvlUsineA+=1
- return lvlUsineA
- #fonction prix lié aussi a chaque batiment
- def prixUsineA(prixA=1):
- """prix de l'usine A"""
- prixA*=1.5
- return prixA
-
- #fonction achat lié aussi a chaque batiment
- def achatUsineA():
- i=0
- while i <10:
- i+=1
- print("voulez vous construire l\'usine" )
- reponse=input("oui pour construire autre pour annuler" )
- if reponse == "oui" and prixUsineA()<=solde():
- solde(fm=prixUsineA())
- print("il vous rest", solde()-prixUsineA())
- print(usineA(),prixUsineA())
- else:
- print("pas assez" )
- print("votre solde",solde())
- achatUsineA()
|
Solde sera affiché souvent du coup pour l'afficher juste solde()
mais je voudrais que sa valeur puisse etre modifiée juste en l'appelant solde(fm=)si depenses solde(fp=) si rentrées
pour qu'ils soit a jour j'ai essayais "soldeG= soldeG - fm + fp" mais ça n'a pas l'air bon
dans les fonctions usineA et prixUsineA je voudrais qu'a chaque fois que je les appellent elles soient incréementées de 1 ( ca ne marche pas )
la fonction achat attribuée au batiment si il y a suffisamment de "solde" je voudrai incrémenter usineA() prixUsineA() (enfaite juste les appeler elles devraient s’incrémenter tte seule)
serait il possible par la suite de faire un fichier pour les fonctions achat, un fichier pour les fonction prix etc...
exemple plus tard un menu avec plusieurs images de batiment derriere chaque image j'appellerai la fonction achatUsine() [ j'ai tenté et réussit ca donne mieux ]
Merci d'avance
ps: ca ne fait que une semaine que je me suis mis au codage soyez indulgent ^^
edit :
chaque fichier séparé
menuConstruction.py
\\juste pour tester l'ensemble bientot menu ou autre.
Code :
- # -*-coding:Utf-8 -*
- from fonctionGenerale import *
- from fonctionAchat import *
- from fonctionNiveau import *
- from fonctionPrix import *
- print("quel batiment veux tu améliorer" )
- print("1.usine A est niveau",niveauUsineA(),"l'ameliorer pour",prixUsineA())
- print("2.usine b est niveau""l'ameliorer pour" )
- print("3.usine b est niveau""l'ameliorer pour" )
- construction=0
- construction=input()
- if construction==1:
- achatUsineA()
- elif construction==2:
- print("2" )
- elif construction == 3:
- print("3" )
- else:
- print("non" )
|
fonctionGenerale.py
\\ toutes les fonctions qui seront affichées partt ou presque.
Code :
- # -*-coding:Utf-8 -*
- def solde(soldeG=50, fp=0,fm=0):
- """en gros largent dispo sur le compte"""
- soldeG= soldeG - fm + fp#fm pours les depenses fp pour les rentrées
- return soldeG
|
fonctionAchat.py
\\toutes les fonctions d'achat de tel batiment ou objet.
Code :
- # -*-coding:Utf-8 -*
- from fonctionGenerale import *
- from fonctionPrix import *
- from fonctionNiveau import *
- #fonction achat lié aussi a chaque batiment
- def achatUsineA():
- print("voulez vous construire l\'usine" )
- reponse=input("oui pour construire autre pour annuler" )
- if reponse == "oui" and prixUsineA()<=solde():
- solde(fm=10)
- niveauUsineA()
- prixUsineA()
- print("il vous rest", solde()-prixUsineA())
- print(niveauUsineA(),prixUsineA())
- else:
- print("pas assez" )
|
fonctionNiveau.py
\\toutes les fonctions niveau qui seront incrémentées
Code :
- # -*-coding:Utf-8 -*
- #la fonction lvl lie au batiment chaque batiment aura le sien
- def niveauUsineA(lvlUsineA=0):
- """niveau de l'usine A"""
- lvlUsineA+=1
- return lvlUsineA
|
fonctionPrix.py
\\toutes les fonctions prix qui seront incrémentées au choix ici en l’occurrence *1.5
je voudrais qua chaque appel de cette fonction sa valeur soit *1.5 et qu'elle la garde
exemple: 1,1.5,2.25,3.375 etc
Code :
- # -*-coding:Utf-8 -*
- #fonction prix lié aussi a chaque batiment
- def prixUsineA(prixA=1):
- """prix de l'usine A"""
- prixA*=1.5
- return prixA
|
Message édité par kaya974 le 15-01-2017 à 16:03:32