• netizen@programming.dev
    link
    fedilink
    English
    arrow-up
    17
    ·
    1 day ago

    I remember having to program a trap for double-clicking buttons in an application.

    Then I had to implement a penalty for triple-clicking.

    Later, I converted it to a progressive incremental penalty.

    • FunnyCoder@programming.devOP
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      23 hours ago

      I’m actually surprised no one’s roasted my math in ShatterCanvas.xaml.cs yet—I’m basically faking the ‘gravity’ by just incrementing VelocityY every frame. It’s surprisingly lightweight for how many polygons are flying around.

        • FunnyCoder@programming.devOP
          link
          fedilink
          arrow-up
          2
          ·
          9 hours ago

          Phew! Glad I haven’t offended the ghost of Isaac Newton. I half-expected someone to tell me I needed a full-blown physics engine just to drop some glass polygons on the taskbar.

      • leburb@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        7
        ·
        19 hours ago

        What is acceleration other than increase in velocity over time? Nothing to roast!

        • FunnyCoder@programming.devOP
          link
          fedilink
          arrow-up
          1
          ·
          9 hours ago

          Haha, fair point! I guess I spent too much time looking at the code and thinking “this feels too simple to work”. But hey, if it hits the bottom of the screen and satisfies the VelocityY math, it’s a feature, not a bug. Glad to see another dev who appreciates the simple approach.

          • locuester@lemmy.zip
            link
            fedilink
            English
            arrow-up
            2
            ·
            8 hours ago

            I remember the first program I wrote where I implemented gravity. I too was amazed at the simplicity. But that simplicity is only in hindsight. You stumbled into physics when you thought you were just programming.

            • FunnyCoder@programming.devOP
              link
              fedilink
              arrow-up
              1
              ·
              7 hours ago

              That’s a beautiful way to put it. I definitely went from “how do I move a polygon” to “wait, why does this feel like it has weight?” in about 10 lines of code. It’s wild how much of the physical world is just hidden in a simple $v += g$ loop. Definitely an “ah hah!” moment I won’t forget. 〒▽〒

    • FunnyCoder@programming.devOP
      link
      fedilink
      arrow-up
      3
      arrow-down
      2
      ·
      23 hours ago

      Incremental penalties are the way! I see you’re also a student of the ‘Hostile UX’ school of design. Shaking the window is basically the ultimate progression of button spam—once you exceed the velocity threshold, the UI simply quits on you. ψ(`∇´)ψ