Profilo di erik84

Nome erik84
Indirizzo email n/a
Messaggi16
  • 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
  • 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
  • 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)
  • 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
  • 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? :sarcastic:
  • 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?
  • 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 ---
  • 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 Windows
    Traceback (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 ---
  • Re: Programmare in python
    Forum >> Programmazione Python >> IDE ed Editor
    mollare nn penso, quando sono in trasferta per lavoro la sera la impegno così :P
    eh ricordo che ci misi dei mesi per fare un progetto utile con arduino e poi è una cosa semplicissima :D male che vada nn vedo realizzati i miei progetti, intanto imparo qualcosa
  • 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 ;( :confused: