logo

the mgf







mgf for Modern Courier Chess

Explanation

<game> the start and end tags
    <title> the game title
    <sides> details of the players
        <num> the number of players
        <name> the name of a player. This tag will be repeated for each player
    <board> details of the playing area
       <rank> the number of rows
       <rindex> the index or reference for each row
       <file> the number of columns
       <findex> the index or reference for each column
       <direction> details of the connections betweeen board cells; used in the description of piece moves
           <for> the name of a player to whom the directions apply
          <idx> a direction in the form label=row change:column change
       <edge> board orientation -  1 if the players sit opposite an edge of the  board, 0 if the players face a corner
       <cell> details of the indivdual cells
          <shape> the number of sides to a cell
          <size> length of a side in pixels
       <start> details of the starting position
          <setup> for each player
             <owner> the name of a player
                 <put> Piece placement in the form piece-name:cell-reference;cell-reference;...
   <piece> details of a piece
       <lbl> the full name of the piece and a short reference e.g. Knight,N
      <status> any initial condition relevant to the piece in the form name:value
      <moves> legal moves for the piece                                    
           <steps> movement description using magpie-notation
 
back

Code

<?xml version="1.0" ?>
<game>
<title>Modern Courier Chess</title>
<sides>
<num>2</num>
<name>White</name>
<name>Blue</name>
</sides>
<board>
<rank>8</rank>
<rindex>1,2,3,4,5,6,7,8</rindex>
<file>12</file>
<findex>a,b,c,d,e,f,g,h,i,j,k,l</findex>
<direction>
<for>White</for>
<idx>n=1:0</idx>
<idx>e=0:1</idx>
<idx>w=0:-1</idx>
<idx>s=-1:0</idx>
</direction>
<direction>
<for>Blue</for>
<idx>s=1:0</idx>
<idx>w=0:1</idx>
<idx>e=0:-1</idx>
<idx>n=-1:0</idx>
</direction>
<edge>1</edge>
<cell>
<shape>4</shape>
<size>42</size>
</cell>
<start>
<setup>
<owner>White</owner>
<put>Ferz:e1,h1</put>
<put>Bishop:d1,i1</put>
<put>Courier:c1,j1</put>
<put>Knight:b1,k1</put>
<put>Rook:a1,l1</put>
<put>King:g1</put>
<put>Queen:f1</put>
<put>Pawn:a2,b2,c2,d2,e2,f2,g2,h2,i2,j2,k2,l2</put>
</setup>
<setup>
<owner>Blue</owner>
<put>Ferz:e8,h8</put>
<put>Bishop:d8,i8</put>
<put>Courier:c8,j8</put>
<put>Knight:b8,k8</put>
<put>Rook:a8,l8</put>
<put>King:g8</put>
<put>Queen:f8</put>
<put>Pawn:a7,b7,c7,d7,e7,f7,g7,h7,i7,j7,k7,l7</put>
</setup>
</start>
</board>
<piece>
<lbl>Pawn,P</lbl>
<status>unmoved:true</status>
<moves>
<steps>(unmoved:true)=n=0+:n=0-={unmoved:false}</steps>
<steps>n=0-={unmoved:false}</steps>
<steps>n.e;n.w=1#={unmoved:false}</steps>
</moves>
</piece>
<piece>
<lbl>Knight,N</lbl>
<moves>
<steps>n.n.e;n.n.w;e.e.n;e.e.s;s.s.e;s.s.w;w.w.n;w.w.s=0-;1#</steps>
</moves>
</piece>
<piece>
<lbl>Bishop,B</lbl>
<moves>
<steps>n.e;n.w;s.e;s.w=1#;0+:*0</steps>
</moves>
</piece>
<piece>
<lbl>Rook,R</lbl>
<moves>
<steps>n;w;s;e=1#;=0+:*0</steps>
</moves>
</piece>
<piece>
<lbl>Queen,Q</lbl>
<moves>
<steps>n;w;s;e=1#;=0+:*0</steps>
<steps>n.e;n.w;s.e;s.w=1#;0+:*0</steps>
</moves>
</piece>
<piece>
<lbl>Ferz,F</lbl>
<status>unmoved:true</status>
<moves>
<steps>(unmoved:true)=n.e.n.e;n.w.n.w;s.e.s.e;s.w.s.w=0-;1#={unmoved:false}</steps>
<steps>n.e;n.w;s.e;s.w=1#;0-={unmoved:false}</steps>
</moves>
</piece>
<piece>
<lbl>Courier,C</lbl>
<moves>
<steps>n.e.n.e;n.w.n.w;s.e.s.e;s.w.s.w=0-;1#</steps>
</moves>
</piece>
<piece>
<lbl>King,K</lbl>
<status>unmoved:true</status>
<moves>
<steps>(unmoved:true)=n.e.n.e;n.w.n.w;s.e.s.e;s.w.s.w=0!-;1!#={unmoved:false}</steps>
<steps>n.n;w.w;s.s;e.e=0!-;1!#={unmoved:false}</steps>
<steps>n.e;n.w;s.e;s.w=1!#;0!-={unmoved:false}</steps>
</moves>
</piece>
</game>


back