jCheckers - Display a Checkers Game State/Animation (jGames)

Posted on by Kenny Cason
tags = [ checkers, jcheckers, jgames, jquery ]

jCheckers is one module within the jGames suite used to display Checkers game states, as well as animations.

Display Static Checkers State First include the following lines to your webpage

1
2
    <script type="text/javascript" src="js/jgames/jquery.jgames.js"></script>
    <link href="js/jgames/css/style.css" rel="stylesheet" type="text/css" />

Create an empty div tag and give it an ID, i.e. “checkers”. This is where the chess board will be rendered to.

1
<div id="checkers"></div>

Next, create the state of the chess board using Javascript. The below state represents every piece in the checkers game and renders the chess above left checkers board. (Note that currently “kings” are not supported, however they will be in later releases).

1
2
3
4
5
6
7
8
9
10
        var board_checkers = [
            ["r", " ", "r", " ", "r", " ", "r", " "],
            [" ", "r", " ", "r", " ", "r", " ", "r"],
            ["r", " ", "r", " ", "r", " ", "r", " "],
            [" ", " ", " ", " ", " ", " ", " ", " "],
            [" ", " ", " ", " ", " ", " ", " ", " "],
            [" ", "b", " ", "b", " ", "b", " ", "b"],
            ["b", " ", "b", " ", "b", " ", "b", " "],
            [" ", "b", " ", "b", " ", "b", " ", "b"]];
         $("#checkers").checkers(board_checkers);

Creating an Animation Creating an animation is very easy. You simply pass an array of states, and the time interval between states (in milliseconds) to the checkersAnimator() function. Below is the code to render the above right Checkers animation.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
        var board_checkers_anim =
        [
            [
                ["r", " ", "r", " ", "r", " ", "r", " "],
                [" ", "r", " ", "r", " ", "r", " ", "r"],
                ["r", " ", "r", " ", "r", " ", "r", " "],
                [" ", " ", " ", " ", " ", " ", " ", " "],
                [" ", " ", " ", " ", " ", " ", " ", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"],
                ["b", " ", "b", " ", "b", " ", "b", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"]
            ],
            [
                ["r", " ", "r", " ", "r", " ", "r", " "],
                [" ", "r", " ", "r", " ", "r", " ", "r"],
                ["r", " ", "r", " ", "r", " ", "r", " "],
                [" ", " ", " ", " ", " ", " ", " ", " "],
                ["b", " ", " ", " ", " ", " ", " ", " "],
                [" ", "", " ", "b", " ", "b", " ", "b"],
                ["b", " ", "b", " ", "b", " ", "b", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"]
            ],
            [
                ["r", " ", "r", " ", "r", " ", "r", " "],
                [" ", "r", " ", "r", " ", "r", " ", "r"],
                [" ", " ", "r", " ", "r", " ", "r", " "],
                [" ", "r", " ", " ", " ", " ", " ", " "],
                ["b", " ", " ", " ", " ", " ", " ", " "],
                [" ", "", " ", "b", " ", "b", " ", "b"],
                ["b", " ", "b", " ", "b", " ", "b", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"]
            ],
            [
                ["r", " ", "r", " ", "r", " ", "r", " "],
                [" ", "r", " ", "r", " ", "r", " ", "r"],
                [" ", " ", "r", " ", "r", " ", "r", " "],
                [" ", "r", " ", " ", " ", " ", " ", " "],
                ["b", " ", " ", " ", " ", " ", " ", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"],
                [" ", " ", "b", " ", "b", " ", "b", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"]
            ],
            [
                ["r", " ", "r", " ", "r", " ", "r", " "],
                [" ", "r", " ", "r", " ", "r", " ", "r"],
                [" ", " ", " ", " ", "r", " ", "r", " "],
                [" ", "r", " ", "r", " ", " ", " ", " "],
                ["b", " ", " ", " ", " ", " ", " ", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"],
                [" ", " ", "b", " ", "b", " ", "b", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"]
            ],
            [
                ["r", " ", "r", " ", "r", " ", "r", " "],
                [" ", "r", " ", "r", " ", "r", " ", "r"],
                [" ", " ", "b", " ", "r", " ", "r", " "],
                [" ", "", " ", "r", " ", " ", " ", " "],
                [" ", " ", " ", " ", " ", " ", " ", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"],
                [" ", " ", "b", " ", "b", " ", "b", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"]
            ],
            [
                ["r", " ", "r", " ", "r", " ", "r", " "],
                [" ", "r", " ", " ", " ", "r", " ", "r"],
                [" ", " ", " ", " ", "r", " ", "r", " "],
                [" ", "r", " ", "r", " ", " ", " ", " "],
                ["", " ", " ", " ", " ", " ", " ", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"],
                [" ", " ", "b", " ", "b", " ", "b", " "],
                [" ", "b", " ", "b", " ", "b", " ", "b"]
            ]
        ];
       $("#checkers_anim").checkers(board_checkers_anim);
comments powered by Disqus