Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)
Posts
6
Comments
47
Joined
4 days ago

  • How do you comfortably set up different run targets with args for different scripts when developing a large project? I think the problem with one tool for all means you get basic support with plugins, not specialised support for one.

  • It sounds beautiful! It'd be really nice if there were transparent rubber keypads available that could be put over phone screens. Then you could fashion an old phone as a keyboard with infinite layers. A simple flutter app to set up the shortcuts and make them configurable and badda boom!

  • Exactly! The old books cover the terminal commands really well and almost everything will still apply. If you read it cover to cover, you're going to end up knowing more commands than most daily users of Linux and it'd help you with any networking / IT courses you intend to study.

  • Why not have one class that has a level for each trait, which are scored 0-100, 0-10 etc. so... self.luck = 7.3 self.anger = 4.0 and so on. And then there's one method that determines the action. That's going to be so much easier to maintain, extend, and work with.

     python
        
    class CharacterTraits:
      def __init__(self, luck, anger, magic, ...):
        self.luck = luck
        self.anger = anger
        # and so on
    
        # maybe keep a list of previous actions which could inform the next action state
        self.history = []
    
      def get_action(self):
        # do whatever to decide action
        action = ...
    
        # then add it to history
        self.history.append(action)
    
        return action
    
      

    and then the calling code determines what's output to the screen. So, internally, the class is just responsible for one thing - hte business logic. Maybe another class Game could be responsible for outputting the strings, taking user input etc. If the UI were to change at a later date, the CharacterTraits class stays the same, but only the Game class would need to be modified. Instead of - as I understand it - all the classes currently would have to be updated (a maintenance nightmare!)

    I only had a really quick look down the code so I may be missing the point entirely, but that's the direction I would go down.

    EDIT: the get_action method could take in some args, like opponent_traits or some kind of situation, maybe even add additional methods like is_lucky to return a bool as to whether a situation that requires luck has been successful or not. Another method could be has_won_fight(opponent_traits) and the method compares strength, luck, magic whatever, to the opponent to decide whether the character has won. And so on. By keeping it simple like this, it's a lot easier to work with!

  • Edit: The post asked about how I feel about the size. My opinion is that I wish it had 1 (ideally 2) more vertical sets of keys because that would allow me to use my thumb for button pressing too. But overall I’m happy and I think it’s my only real problem with it.

    Check aliexpress. You're going to find things that excite you including a kb that's very similar

    EDIT: I thought I'd go searching, some ideas:

  • They currently have the parent class “Action” for their common attributes and methods. Does that cover what you are suggesting?

    I didn't see, but if they want a trait that has a completely set of different methods? I'm not a big fan of interface-esque classes unless the API is absolutely solid. In this case it would not be.

  • I've only glanced down your code and am not familiar with your previous efforts. Combine insulting and stirred-up to one class. "CharacterTraits" or so. This then makes it easier to add more traits like happiness, warmongering, intelligence, luck etc.