Creating a Shuffleboard game with Repeaters and Maths - possible?

Hey Folks,

I recently created a “Shuffleboard-quiz” game for my team’s festive virtual get together.

( By Shuffleboard, I mean the tabletop sliding-pucks version like this: https://www.mccluretables.com/images/product/large/115.jpg )

The premise is simple:

  • Turn based, 1 person from 1 team answers one question at a time
  • Each question has a 15 second timer to respond within
  • The more time that drains as you answer, the more power drains from your shot
  • Pucks only move vertically, and the board has four vertical columns to choose from for your shot.
  • Collisions can happen, but only along the y-axis, just to keep things simple.

Now, when I was experimenting I was hoping to do the collisions automatically within Axure. Have a puck (i.e. a Repeater item) contain a sort of ‘momentum’ value, and if its y position (accounting for height) meets another puck, then “some maths happens” and the momentum is transferred. And so on and so on.

Unfortunately with limited time and focus I couldn’t see how it was possible.

So I ended up just having a spreadsheet on the side for the collision calculations, just having one separate Dynamic Panel per puck (i.e no Repeaters) and manually moving the pucks accordingly.

Now the get-together is done, I can’t get the original idea out of my head - do we think it’s possible to program and animate the collisions within Axure Repeaters?

Let’s say we have:

  • A board with scoring zones 4, 3, 2, 1 descending vertically, where 4.9 is basically the top of the scoring zones and 1.0 is the bottom.
  • Each puck is “0.5” height of a zone
  • Puck A’s “top line” currently sits at 4.6
  • Puck B’s top line sits at 3.1
  • Puck C’s top line sits at 1.3
  • A new Puck D enters the same column with a momentum of 4.8
  • We should be able to see the fun unfold - I imagine A would be knocked off, while B and C move up accordingly and D stops around 1.5 (let’s say there’s a bit of leftover momentum after the first collision).

Is this possible, or just too much to handle with the various co-ordinate restraints inside and outside of Repeaters, Dynamic Panels and Pages?

Thanks for reading, appreciate any thoughts.

Will :slight_smile: