Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6609547
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T19:43:51+00:00 2026-05-25T19:43:51+00:00

As it is right now I have a Board object which contains an 8×8

  • 0

As it is right now I have a Board object which contains an 8×8 2 dimensional array (the grid, as I call it) and pieces are represented with ints 1/2, and I use a bitwise operation to mark a piece as king.

I also have a Checkers object which handles the rendering of the board and the user’s clicks on the canvas, etc. The Checkers object has a Draw method which simply iterates over the grid on the Board object to create a graphical representation of the board. As such, with each call to Draw(), the board is redrawn and the pieces positions are recalculated.

Now I want to add animations. One way I have been able to achieve this is to keep track of the most recent move (source and destination X Y coordinates), and then run the Draw() routine at a set interval, and have the Draw() routine check to see if the coordinates of the piece it’s about to draw are the same as the coordinates recorded in the previous move’s destination variable, and adjusts the position of the piece accordingly.

While this works, I find it to be a tad messy.

An alternative model I experimented with was to use objects for the pieces instead of integers, and then I could record the pixel X Y coordinates on the piece, and update them after each move (or in an animation loop). This I also found messy, and didn’t like the way my board object was now tied into the rendering logic.

Can anyone with experience in this area suggest a better way of doing things?

It’s worth noting that I use the same Board class on the server side (NodeJS), so ideally i’d like to keep the Board class identical on both the client and server to ensure that moves made and validated by the client will never be rejected by the server.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T19:43:52+00:00Added an answer on May 25, 2026 at 7:43 pm

    I would suggest that for each from you first draw all the pieces that aren’t moving, then draw the moving piece along some interpolated line from it’s start to end position (given by time).

    To be honest, for something with this level of graphical complexity, I would stick with HTML/CSS/jQuery, using position: absolute images to represent the pieces. Then you could use jQuery’s animate function to show the last piece moving from it’s start to end position really easily (and with parameters like swing or linear to get the behaviour you want).
    e.g.:

    // Assumes pieces are objects with id and position properties
    // and for each piece there is an image with id: piece.id
    
    $('#'+piece.id).animate({
        left:  piece.position.x * board_scale,
        top:   piece.position.y * board_scale
    });
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have object called Foo. Right now it implements IFoo which has a lot
Right now I have this SQL query which is valid but always times out:
Right now I have def min(array,starting,ending) minimum = starting for i in starting+1 ..ending
I right now have a comet page, that if i call session_start at the
Good day! I right now have a function the drags an element from a
Right now I have double numba = 5212.6312 String.Format({0:C}, Convert.ToInt32(numba) ) This will give
Right now I have something like this in NHibernate: Expression.Like(property, value, MatchMode.Anywhere) and that
Right now we have AD/Exchange to manage all of our users logins/e-mail on-site at
Right now I have been trying to use Launchpad's API to write a small
Right now i have a line of code, in vb, that calls a text

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.