erik84
Profilo di
Nome | erik84 |
---|---|
Indirizzo email | n/a |
Messaggi | 16 |
-
- 2019-02-21 20:20:21
- Re: Bloccare caratteri ASCII
- Forum >> Programmazione Python >> IDE ed Editor
- io nn avevo capito quale esempio dovevo usare, la tua spiegazione mi sembra chiara, faccio un pò fatica a mettere insieme più variabili, perchè mi genera diversi errori in base a ciò che cambio, ma nn fa niente aggiro il problema mettendo 2 volte la funzione .format
grazie per la pazienza
-
- 2019-02-21 12:42:44
- Re: Bloccare caratteri ASCII
- Forum >> Programmazione Python >> IDE ed Editor
- Ho provato a fare 2 immagini di come dovrebbe essere e incolonanto e tutto in ordine, mentre nella seconda foto si può vedere che se scrivo un nome al personaggio piú lungo e aumento il livello a 10 poi si spostano più a destra la voce forza e costituzione, a me sembra strano che non si possa mantenere lo stesso metodo di ordine della prima foto mettendo un nome più lungo di 4 caratteri e un livello più alto
-
- 2019-02-21 10:12:05
- Re: Bloccare caratteri ASCII
- Forum >> Programmazione Python >> IDE ed Editor
- Al momento ho capito solo che quello che scrivo tra parentesi tonda e quello che poi mi stampa sulla riga del programma, quello che scrivo tra parentesi graffa possono essere l'ordine distampa delle parole scritte tra parentesi tonda e la posizione (sinistra, destra e centrale)
-
- 2019-02-20 22:30:47
- Re: Bloccare caratteri ASCII
- Forum >> Programmazione Python >> IDE ed Editor
- no avevo letto tutta la pagina, ma ero convinto anche dopo aver letto l'esempio e aver cercato esempi di quel comando su google che mi bastava mettere tra parentesi l'intera riga
-
- 2019-02-20 21:51:48
- Re: Bloccare caratteri ASCII
- Forum >> Programmazione Python >> IDE ed Editor
- ho usato la seconda versione, ho scritto una cosa del genere
'{:>30}'.format("| Livello: %s" % PlayerID.level," |"" Forza: %i" % PlayerID.forza," #")
ma elimina completamente tutta la riga senza mostrare nulla, cos'ho sbagliato?
-
- 2019-02-20 12:52:12
- Re: Bloccare caratteri ASCII
- Forum >> Programmazione Python >> IDE ed Editor
- Nn mi e molto chiaro sinceramente, sono andato a cercare formattazione delle stringhe, farò delle prove per vedere come si comporta e cosa capisco, ma gli zeri prima del numero rimangono sempre visibili nn si possono nascondere?
E mi succede anche con le parole, tipo nellesemnell che ho postato nn cec ma avevo caricato anche il nome che il giocatore assegna al proorpr personaggio, e se un nome è corto ho una lunghezza quindi il simbolo finale è ad una distanza se il nome è piu lungo il simbolo finale si sposta ulteriormente è possibile fare la stessa cosa?
-
- 2019-02-20 07:48:05
- Bloccare caratteri ASCII
- Forum >> Programmazione Python >> IDE ed Editor
- Buongiorno, stavo sistemando un po' il codice che mostra le caratteristiche del persomaggup e mi sono accorto che creando una sorta di tabella con i caratteri ASCII nn rimangono bloccati se la variabile scritta prima aumentata di 2-3 caratteri in più, come spiegazione nn e il massimo, metto la parte del codice così da farvi capire meglio...
def statistiche(): os.system('clear') print('-'*80) print("| @@@@@@@@@@@@") print("| @"" %s" % PlayerID.BC," @") print("|@ Bonus @") print("| @ Competenza @") print("| @@@@@@@@@@@@") print("|-------------------------------------------------------------------------") print("| Livello: %s" % PlayerID.level," |"" Forza: %i" % PlayerID.forza," #") print("| Esperienza: %i" % PlayerID.esp," |"" Destrezza: %i" % PlayerID.destrezza," #") print("|-------------------------------------------------|"" Costituzione: %i" % PlayerID.costituzione," #") print("| Arma equipaggiata: %s" % PlayerID.curarm," |"" Intelligenza: %i" % PlayerID.intelligenza," #") print("| Armatura equipaggiata: %s" % PlayerID.curarmatura," |"" Saggezza: %i" % PlayerID.saggezza," #") print("| Attacco: %i" % PlayerID.attacco, "CA: %i" % PlayerID.CA," |"" Carisma: %i" % PlayerID.carisma," #") print("|------------------------------------------------------------------------------#") print("| Oro: %d" % PlayerID.oro," #") print("| #") print('-'*80)
Prendiamo come esempio la riga del livello se rimane con un livello che va da 1 a 9 va tutto bene, quando passo al livello 10 o più la frase della forza si sposta piua destra, è possibile bloccare la riga della forza in modo che rimanga incolonnato con il resto? Ho cercato con Google ma nn ho trovato niente
--- Ultima modifica di erik84 in data 2019-02-20 11:48:57 ---
-
- 2019-02-13 13:05:35
- Sistema combattimento random
- Forum >> Programmazione Python >> Videogames
- Ciao son di nuovo qui, stavo seguendo un tutorial che mostrava come eseguire un mini game di combattimento testuale, ma mi ritrovo con degli errori, ho provato a risolverli ma senza successo. Questo e il codice:
#!/usr/bin/python # -*- coding: UTF-8 -*- import sys import os import random class Player: def __init__(self, nome): self.nome = nome self.maxvita = 100 self.vita = self.maxvita self.attacco = 10 self.oro = 0 self.poz = 0 class Goblin: def __init__(self, nome): self.nome = nome self.maxvita = 50 self.vita = self.maxvita self.attacco = 5 self.orolasciato = 10 GoblinID = Goblin("Goblin") class Zombie: def __init__(self, nome): self.nome = nome self.maxvita = 70 self.vita = self.maxvita self.attacco = 7 self.orolasciato = 15 ZombieID = Zombie("Zombie") def main(): os.system('clear') print ("Benvenuto in questa fantastica avventura!\n") print ("1.) Inizio") print ("2.) Carica") print ("3.) Esci") scelta = input(">") if scelta == "1": inizio() elif scelta == "2": pass elif scelta == "3": sys.exit() else: print("Comando invalido, riprova.") main() def inizio(): os.system('clear') print ("Ciao, qual'è il tuo nome?") scelta = input("> ") global PlayerID PlayerID = Player(scelta) inizio1() def inizio1(): os.system('clear') print ("Nome: %s" % PlayerID.nome) print ("Attacco: %i" % PlayerID.attacco) print ("Oro: %d" % PlayerID.oro) print ("Pozioni: %d" % PlayerID.poz) print ("Vita: %i/%i" % (PlayerID.vita, PlayerID.maxvita)) print ("1.) Combattimento") print ("2.) Inventario") print ("3.) Salva") print ("4.) Esci") scelta = input("> ") if scelta == "1": precombattimento() elif scelta == "2": inventario() elif scelta == "3": pass elif scelta == "4": sys.exit() else: inizio1() def precombattimento(): global nemico nemiconum = random.randint(1, 2) if nemiconum == 1: nemico = GoblinID else: nemico = ZombieID combattimento() def combattimento(): os.system('clear') print ("%s vs %s" % (PlayerID.nome, nemico.nome)) print ("%s's Vita: %d/%d %s's Vita: %i/%i" %(PlayerID.nome, PlayerID.vita, PlayerID.maxvita, nemico.nome, nemico.vita, nemico.maxvita)) print ("Pozioni %i " % PlayerID.poz) print ("1.) Attacco") print ("2.) Bevi pozione") print ("3.) Scappa") scelta = input("> ") if scelta == "1": attaccodef() elif scelta == "2": bevipot() elif scelta == "3": scappa() else: combattimento() def attaccodef(): os.system('clear') PAttacco = random.randint(PlayerID.attacco/2, PlayerID.attacco) NAttacco = random.randint(nemico.attacco/2, nemico.attacco) if PAttacco == PlayerID.attacco/2: print ("L'hai mancato!") else: nemico.vita -= PAttacco print ("Hai colpito e fatto %i danni!" % PAttacco) scelta = input("> ") if nemico.vita <= 0: vittoria() os.system('clear') if NAttacco == nemico.attacco/2: print ("Il nemico ti ha mancato!") else: PlayerID.vita -= NAttacco print ("Il nemico ti ha causato %i danni!" % NAttacco) scelta = input("> ") if PlayerID.vita <= 0: morte() else: combattimento() def bevipot(): os.system('clear') if PlayerID.poz == 0: print ("Tu non hai pozioni da usare!") else: PlayerID.vita += 50 if PlayerID.vita > PlayerID.maxvita: PlayerID.vita = PlayerID.maxvita print ("Hai bevuto una pozione!") scelta = input("> ") combattimento() def scappa(): os.system('clear') scappanum = random.randint(1, 3) if scappanum == 1: print ("Sei riuscito a scapapre!") scelta = input("> ") inizio1() else: print ("Hai fallito, non sei riuscito a scapare!") scelta = input("> ") os.system('clear') NAttacco = random.randint(nemico.attacco/2, nemico.attacco) if NAttacco == nemico.attacco/2: print ("Il nemico ti ha mancato!") else: PlayerID.vita -= NAttacco print ("Il nemico ti ha causato %i danni!" % NAttacco) scelta = input("> ") if PlayerID.vita <= 0: morte() else: combattimento() def morte(): os.system('clear') print ("Sei morto") scelta = input("> ") main() def vittoria(): os.system('clear') nemico.vita = nemico.maxvita PlayerID.oro += nemico.orolasciato print ("Tu hai sconfitto %s" % nemico.nome) print ("Tu hai recuperato %i oro" % nemico.orolasciato) scelta = input("> ") inizio1() def inventario(): os.system('clear') pass main()
Questo e il log dell'errore: premetto che sto usando un emulatore di python sul cellulare, ma vedo che mi da lo stesso errore su PC, sia con Linux che WindowsTraceback (most recent call last): File "/storage/emulated/0/qpython/projects3/.last_tmp.py", line 188, in <module> main() File "/storage/emulated/0/qpython/projects3/.last_tmp.py", line 42, in main inizio() File "/storage/emulated/0/qpython/projects3/.last_tmp.py", line 57, in inizio inizio1() File "/storage/emulated/0/qpython/projects3/.last_tmp.py", line 72, in inizio1 precombattimento() File "/storage/emulated/0/qpython/projects3/.last_tmp.py", line 89, in precombattimento combattimento() File "/storage/emulated/0/qpython/projects3/.last_tmp.py", line 101, in combattimento attaccodef() File "/storage/emulated/0/qpython/projects3/.last_tmp.py", line 112, in attaccodef NAttacco = random.randint(nemico.attacco/2, nemico.attacco) File "/data/user/0/org.qpython.qpy3/files/lib/python32.zip/random.py", line 215, in randint File "/data/user/0/org.qpython.qpy3/files/lib/python32.zip/random.py", line 179, in randrange ValueError: non-integer arg 1 for randrange() 1|HWVNS-H:/ $
EDIT: ehm avrei risolto per il momento, ho sostituito "random.randrange" o "random.randint" com'era nel tutorial con "random.uniform" e sembra funzionare correttamente, può essere una cosa legata alla versione di python? magari il ragazzo che ha fatto il tutorial usava una vecchia versione il video risale al 2016
--- Ultima modifica di erik84 in data 2019-02-13 20:58:32 ---
--- Ultima modifica di erik84 in data 2019-02-13 20:59:43 ---
-
- 2019-01-26 18:23:12
- Re: Programmare in python
- Forum >> Programmazione Python >> IDE ed Editor
- mollare nn penso, quando sono in trasferta per lavoro la sera la impegno così
eh ricordo che ci misi dei mesi per fare un progetto utile con arduino e poi è una cosa semplicissima male che vada nn vedo realizzati i miei progetti, intanto imparo qualcosa
-
- 2019-01-26 16:09:32
- Re: Programmare in python
- Forum >> Programmazione Python >> IDE ed Editor
- per un nubbio come me programmare è veramente difficile, ho delle idee ma a metterle insieme un pò nn è facile e un pò mi impiega molte ore e molti test