Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 0e25a4b366ebacde501f7f11a2842674fb6e2ac6
  • master par défaut protégée
  • rust-playlist-sync
  • rust
  • fix-qt-deprecated-qvariant-type
  • fix-mpris-qtwindow-race-condition
  • rust-appimage-wayland
  • windows-build-rebased
  • v2.5 protégée
  • v2.4 protégée
  • v2.3-1 protégée
  • v2.3 protégée
  • v2.2 protégée
  • v2.1 protégée
  • v2.0 protégée
  • v1.8-3 protégée
  • v1.8-2 protégée
  • v1.8-1 protégée
  • v1.8 protégée
  • v1.7 protégée
  • v1.6 protégée
  • v1.5 protégée
  • v1.4 protégée
  • v1.3 protégée
  • v1.2 protégée
  • v1.1 protégée
  • v1.0 protégée
27 résultats

mpvwidget.hh

Blame
  • DARE.py 7,92 Kio
    #!/usr/bin/env python
    """
    File that implements DARE dice-system for my tabletop game
    """
    import dice
    import codecs
    
    class SpecialDice(dice.Dice):
        def __init__(self, n, name):
            """init a special dice"""
            super().__init__(n)
            self.name=str(name)
            return None
        
        def __str__(self):
            if self.value != None:
                return self.name+str(self.n)+"["+str(self.value)+"]"
            else:
                return self.name+str(self.n)
    
    
    
        def __repr__(self):
            return "SDice object : "+str(self)
    
        def __lt__(self, otherdice):
            return self.n <= otherdice.n
    
    class LatencyQueue():
        def __init__(self):
            """init the Latency Queue"""
            self.oneQueue = [] 
            self.twoQueue = []
        
        def add(elt, index):
            """put elt in the indexQueue"""
            if index == 1:
                self.oneQueue.append(elt)
                return None
            elif index == 2:
                self.oneQueue.append(elt)
                return None
            else:
                return None
        
        def move(self):
            ret = self.oneQueue
            self.oneQueue = self.twoQueue
            self.twoQueue = []
            return ret
    
        def __str__(self):
            return "2:"+str(self.twoQueue)+"1:"+str(self.oneQueue)
    
        def __repr__(self):
            return "Latency Queue Object :"+str(self)
    
    def logo():
        print(
    """
    \033[38;5;195m 
    ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⢴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠢⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⣼⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⠽⠿⢛⢻⢟⡽⣛⣿⢿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣟⣻⠿⣿⣻⣙⠛⠾⣄⠀⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣽⡈⡋⠠⠀⡀⣈⢚⣥⢽⢫⢦⣷⣾⢋⣺⣷⣻⣿⠫⢿⣿⣿⣿⣖⡸⣿⣝⠿⣧⣘⡷⡀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⢿⣶⣾⣿⣿⣁⣣⣾⡞⠚⢂⡤⠂⠃⡗⢾⢿⣯⡾⢿⣿⣿⣿⣶⣿⡿⣿⡟⣓⢧⣛⡗⢹⣿⣿⣷⡀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠙⣿⠋⡿⠉⢩⣿⢟⣀⡍⠀⠀⠘⣿⣬⣶⣷⣿⣿⣿⣿⣝⣿⠇⠣⠿⣿⣶⠋⡽⢽⠽⢣⣿⣧⠑⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠀⢻⡀⠅⠀⢹⠟⠿⠊⢉⢀⢘⣮⣿⣿⣿⣿⣿⣏⡈⢙⣽⣛⡄⡇⠂⠘⢾⢟⡓⠒⠿⡁⢉⣿⡦⣇\033[38;5;193m 
             ██████   █████  ██████  ███████ 
             ██   ██ ██   ██ ██   ██ ██      
             ██   ██ ███████ ██████  █████   
             ██   ██ ██   ██ ██   ██ ██      
             ██████  ██   ██ ██   ██ ███████⠀⠀⠀\033[38;5;214m ⠀⠀⠀⠀
    ⠀           Dice As REssources (v0.1)⠀⠀⠀⠀⠀⠀\033[38;5;195m ⠀⠀⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠐⠐⠲⣦⣀⣄⡀⠀⡀⢀⢀⣠⣀⢆⡒⡀⢢⣶⣶⣶⠖⣴⠤⣆⣲⢖⣆⣶⣦⣤⣐⠒⠀⠀⠠⠠⣤⢶⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠀⠂⠡⣿⣿⠦⣄⣒⣿⡁⢠⣍⡳⠈⢸⣼⣿⣽⣹⣿⡽⠉⢾⣷⣸⠙⢞⣝⡿⠲⣒⣀⠔⠋⢀⠃⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⢋⣦⡀⠀⠋⠁⠀⠀⠥⠀⠀⠁⢀⡀⡸⣿⣼⣳⢴⡻⡣⣄⡌⣿⣏⣶⠾⢓⠾⠶⠁⣁⣤⡤⠁⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠨⠿⣷⠀⠀⢀⠀⠀⠀⠄⠀⣴⡟⠻⣿⡊⡦⢮⢁⡅⠀⠁⠈⠁⠀⠀⣀⣤⣤⣶⣿⣿⠟⠁⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠁⠀⠀⢀⣀⣉⣉⡭⡻⢇⠀⢀⢠⣀⣤⣤⣶⣾⣾⣷⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠐⣦⣶⣚⠻⢿⣿⣿⣷⣗⣤⠊⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠟⣺⡟⡾⣯⣛⣿⣿⣿⣚⣛⣛⣿⡿⣛⠿⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠛⠛⠓⠒⠋⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
    \033[0m 
    """
        )
    
    def art():
        f = codecs.open("art", "r", encoding="utf-8")
        art = f.read()
        f.close()
        print("\033[2J\033[0;0H",end="")
        print(art)
        print(
    """
    \033[38;5;148m\033[11;10H ██████   █████  ██████  ███████ 
    \033[38;5;149m\033[12;10H ██   ██ ██   ██ ██   ██ ██      
    \033[38;5;150m\033[13;10H ██   ██ ███████ ██████  █████   
    \033[38;5;151m\033[14;10H ██   ██ ██   ██ ██   ██ ██      
    \033[38;5;152m\033[15;10H ██████  ██   ██ ██   ██ ███████
    \033[38;5;223m\033[16;16H Dice As REssources \033[0m\033[25;0H"""
        )
        return None
    
    def line():
        print("\033[38;5;240m------------------------------------------------\033[0m",end="")
        return None
    
    def ask(symbol):
        out = input("\033[38;5;217m"+symbol+">\033[0m")
        return out
    
    if __name__=="__main__":
    
        from types import SimpleNamespace
        ##INITVAR
        S = SimpleNamespace()
        S.PHIdicepool = []
        S.PSIdicepool = []
        S.PDiceTray = dice.DiceTray() #PHI DiceTray
        S.pDiceTray = dice.DiceTray() #pSI DiceTray
        S.Latency = LatencyQueue()
        S.PHIqueue = [SpecialDice(2,"Ψ"),SpecialDice(6,"Ψ")]
        S.PSIqueue = [SpecialDice(2,"Ψ"),SpecialDice(6,"Ψ")] 
        S.thro = ["dx"] 
        S.name = ""
        
        S.PDiceTray.add(SpecialDice(2,"Ψ"))
    
        art()
    
        ## get init param :
        print(
    """
    Please give your (sur)name"""
        )
        S.name=ask("name?")
        if S.name == "": S.name = "Ninten"
        print(
    """
    Please give your PHI dice pool
    formatting is expected to be such as :
    d4,d4,d6,d4,d8 (no spaces at the start !)"""
        )
        uinput = ask("Φ?")
        if uinput=="":uinput="d4,d4,d4,d6,d6,d6"
        argsdice = uinput.split(",")
        S.PHIdicepool = [] 
        for e in argsdice:
            dval = int(e[1:])
            S.PHIdicepool.append(SpecialDice(dval,"Φ"))
        S.PHIdicepool.sort()
    
        print(
    """
    Please give your PSI dice pool
    (same format)"""
        )
        uinput=ask("Ψ?")
        if uinput=="":uinput="d4,d4,d4,d6,d8"
        argsdice = uinput.split(",")
        S.PSIdicepool = [] 
        for e in argsdice:
            dval = int(e[1:])
            S.PSIdicepool.append(SpecialDice(dval,"Ψ"))
        S.PSIdicepool.sort()
    
        def stupidPrint(mlist):
            out = ""
            for e in mlist:
                out += str(e)+" "
            return out
        
        def printDiceTray():
            print(" ROL  [ \033[38;5;214m"+stupidPrint(S.PDiceTray)+"\033[38;5;159m"+stupidPrint(S.pDiceTray)+"\033[0m] ")
    
        def printallstat(ShowDiceTray=False):
            print("\033[38;5;214m PHI \033[38;5;10m [ "+stupidPrint(S.PHIdicepool)+"]\033[0m "
            ,end="")
            if not S.PHIqueue: print("") #list is empty
            else:
                print("\033[38;5;64m < "+str(S.PHIqueue[0])+"\033[38;5;242m "+stupidPrint(S.PHIqueue[1:])+"<     \033[0m " )   
            print("\033[38;5;214m PSI \033[38;5;159m [ "+stupidPrint(S.PSIdicepool)+"]\033[0m "
            ,end="")
            if not S.PSIqueue: print("") 
            else:  
                print("\033[38;5;67m < "+str(S.PSIqueue[0])+"\033[38;5;242m "+stupidPrint(S.PSIqueue[1:])+"<     \033[0m " )
            if S.Latency.oneQueue or S.Latency.twoQueue: # not empty
                print("\033[38;5;202 LAT \033[38;5;242m 1[ "+stupidPrint(S.Latency.oneQueue)+"] 2[ "+stupidPrint(S.Latency.twoQueue)+"]")
            
            if ShowDiceTray:
                printDiceTray()
    
            if S.thro:
                print("\033[38;5;242m DEL  [ "+stupidPrint(S.thro)+"]\033[0m")
        line() 
        print("\nWelcome "+S.name+" !")
        while True:
            printallstat(True)
            print(
    """
    Please type your command. Type \033[1m help \033[0m
    To see available command or \033[1m help <command> \033[0m
    To get an explanation of a command"""
            )
            ask("command?")