(game "Cheng Fang Cheng Long"
)
//------------------------------------------------------------------------------
(option "Variant" args:{ }
{
(item "Cheng Fang Cheng Long (Ludii 1)" <
(players 2)
(equipment {
(board
(square 5)
use:Vertex)
(piece "Marker" Each
(move Step
(to if:
(is Empty
(to)
)
)
(then
(if
(>
(count Sites in:
(forEach
(sites Around
(last To)
)
if:
(if
(is Empty
(site)
)
(or
(and {
(is In
(last To)
(sites {
(ahead
(site)
N )
(ahead
(site)
S )
(ahead
(site)
W )
(ahead
(site)
E )
}
)
)
(is Mover
(who at:
(ahead
(site)
N )
)
)
(is Mover
(who at:
(ahead
(site)
S )
)
)
(is Mover
(who at:
(ahead
(site)
W )
)
)
(is Mover
(who at:
(ahead
(site)
E )
)
)
}
)
(and {
(is In
(last To)
(sites {
(ahead
(site)
NE )
(ahead
(site)
SE )
(ahead
(site)
SW )
(ahead
(site)
NW )
}
)
)
(is Mover
(who at:
(ahead
(site)
NE )
)
)
(is Mover
(who at:
(ahead
(site)
SE )
)
)
(is Mover
(who at:
(ahead
(site)
SW )
)
)
(is Mover
(who at:
(ahead
(site)
NW )
)
)
}
)
)
)
)
)
0 )
(and
(set Value Mover
(count Sites in:
(forEach
(sites Around
(last To)
)
if:
(if
(is Empty
(site)
)
(or
(and {
(is In
(last To)
(sites {
(ahead
(site )
N )
(ahead
(site )
S )
(ahead
(site )
W )
(ahead
(site )
E )
}
)
)
(is Mover
(who at:
(ahead
(site)
N )
)
)
(is Mover
(who at:
(ahead
(site)
S )
)
)
(is Mover
(who at:
(ahead
(site)
W )
)
)
(is Mover
(who at:
(ahead
(site)
E )
)
)
}
)
(and {
(is In
(last To)
(sites {
(ahead
(site )
NE )
(ahead
(site )
SE )
(ahead
(site )
SW )
(ahead
(site )
NW )
}
)
)
(is Mover
(who at:
(ahead
(site)
NE )
)
)
(is Mover
(who at:
(ahead
(site)
SE )
)
)
(is Mover
(who at:
(ahead
(site)
SW )
)
)
(is Mover
(who at:
(ahead
(site)
NW )
)
)
}
)
)
)
)
)
)
(moveAgain)
)
)
)
)
)
(hand Each)
}
)
(rules
(start
(place "Marker" "Hand" count:24)
)
phases:{
(phase "FirstPlacement" P1
(play
(move
(from
(handSite Mover)
)
(to
(sites Centre)
)
)
)
(nextPhase "Placement")
)
(phase "Placement"
(play
(move
(from
(handSite Mover)
)
(to
(sites Empty)
)
)
)
(nextPhase Mover
(all Sites
(sites Hand Mover)
if:
(= 0
(count Cell at:
(site)
)
)
)
"Playing" )
)
(phase "Playing"
(play
(if
(is Prev Mover)
(move Remove
(sites Occupied by:Next)
(then
(if
(>
(value Player Mover)
1)
(and
(moveAgain)
(set Value Mover
(-
(value Player Mover)
1)
)
)
(set Value Mover 0)
)
)
)
(forEach Piece)
)
)
)
}
(end
(if
(no Pieces Next)
(result Next Loss)
)
)
)
> "The Cheng Fang Cheng Long (Ludii 1) ruleset.")
(item "Cheng Fang Cheng Long (Ludii 2)" <
(players 2)
(equipment {
(board
(square 5)
use:Vertex)
(piece "Marker" Each
(move Step
(to if:
(is Empty
(to)
)
)
(then
(if
(or
(is Line 3 All)
(is Pattern { F R F R F R F }
)
)
(moveAgain)
)
)
)
)
(hand Each)
}
)
(rules
(start
(place "Marker" "Hand" count:24)
)
phases:{
(phase "FirstPlacement" P1
(play
(move
(from
(handSite Mover)
)
(to
(sites Centre)
)
)
)
(nextPhase "Placement")
)
(phase "Placement"
(play
(move
(from
(handSite Mover)
)
(to
(sites Empty)
)
)
)
(nextPhase Mover
(all Sites
(sites Hand Mover)
if:
(= 0
(count Cell at:
(site)
)
)
)
"Playing" )
)
(phase "Playing"
(play
(if
(is Prev Mover)
(move Remove
(sites Occupied by:Next)
(then
(if
(>
(value Player Mover)
1)
(and
(moveAgain)
(set Value Mover
(-
(value Player Mover)
1)
)
)
(set Value Mover 0)
)
)
)
(forEach Piece)
)
)
)
}
(end
(if
(no Pieces Next)
(result Next Loss)
)
)
)
> "The Cheng Fang Cheng Long (Ludii 2) ruleset.")
(item "Cheng Fang Cheng Long (Ludii 3)" <
(players 2)
(equipment {
(board
(square 5)
use:Vertex)
(piece "Marker" Each
(move Step
(to if:
(is Empty
(to)
)
)
(then
(if
(>
(count Sites in:
(forEach
(sites Around
(last To)
)
if:
(if
(is Empty
(site)
)
(or
(and {
(is In
(last To)
(sites {
(ahead
(site)
N )
(ahead
(site)
S )
(ahead
(site)
W )
(ahead
(site)
E )
}
)
)
(is Mover
(who at:
(ahead
(site)
N )
)
)
(is Mover
(who at:
(ahead
(site)
S )
)
)
(is Mover
(who at:
(ahead
(site)
W )
)
)
(is Mover
(who at:
(ahead
(site)
E )
)
)
}
)
(and {
(is In
(last To)
(sites {
(ahead
(site)
NE )
(ahead
(site)
SE )
(ahead
(site)
SW )
(ahead
(site)
NW )
}
)
)
(is Mover
(who at:
(ahead
(site)
NE )
)
)
(is Mover
(who at:
(ahead
(site)
SE )
)
)
(is Mover
(who at:
(ahead
(site)
SW )
)
)
(is Mover
(who at:
(ahead
(site)
NW )
)
)
}
)
)
)
)
)
0 )
(and
(set Value Mover
(count Sites in:
(forEach
(sites Around
(last To)
)
if:
(if
(is Empty
(site)
)
(or
(and {
(is In
(last To)
(sites {
(ahead
(site )
N )
(ahead
(site )
S )
(ahead
(site )
W )
(ahead
(site )
E )
}
)
)
(is Mover
(who at:
(ahead
(site)
N )
)
)
(is Mover
(who at:
(ahead
(site)
S )
)
)
(is Mover
(who at:
(ahead
(site)
W )
)
)
(is Mover
(who at:
(ahead
(site)
E )
)
)
}
)
(and {
(is In
(last To)
(sites {
(ahead
(site )
NE )
(ahead
(site )
SE )
(ahead
(site )
SW )
(ahead
(site )
NW )
}
)
)
(is Mover
(who at:
(ahead
(site)
NE )
)
)
(is Mover
(who at:
(ahead
(site)
SE )
)
)
(is Mover
(who at:
(ahead
(site)
SW )
)
)
(is Mover
(who at:
(ahead
(site)
NW )
)
)
}
)
)
)
)
)
)
(moveAgain)
)
)
)
)
)
(hand Each)
}
)
(rules
(start
(place "Marker" "Hand" count:40)
)
phases:{
(phase "Placement"
(play
(if
(is Prev Mover)
(move Remove
(forEach
(sites Occupied by:Next container:"Board")
if:
(and
(not
(is Line 3 All through:
(site)
)
)
(not
(is Pattern { F R F R F R F }
from:
(site)
)
)
)
)
)
(move
(from
(handSite Mover)
)
(to
(sites Empty)
)
(then
(if
(or
(is Line 3 All)
(is Pattern { F R F R F R F }
)
)
(moveAgain)
)
)
)
)
)
(nextPhase Mover
(all Sites
(sites Hand Mover)
if:
(= 0
(count Cell at:
(site)
)
)
)
"Movement" )
)
(phase "Movement"
(play
(if
(is Prev Mover)
(move Remove
(forEach
(sites Occupied by:Next container:"Board")
if:
(and
(not
(is Line 3 All through:
(site)
)
)
(not
(is Pattern { F R F R F R F }
from:
(site)
)
)
)
)
)
(forEach Piece)
)
)
)
}
(end
(if
(no Pieces Next)
(result Next Loss)
)
)
)
> "The Cheng Fang Cheng Long (Ludii 3) ruleset.")
(item "Cheng Fang Cheng Long (Ludii 4)" <
(players 2)
(equipment {
(board
(square 5)
use:Vertex)
(piece "Marker" Each
(move Step Orthogonal
(to if:
(is Empty
(to)
)
)
(then
(custodial
(from
(last To)
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between)
)
)
(!=
(centrePoint)
(between)
)
)
(apply
(and
(remove
(between)
)
(if
(or {
(can Move
(custodial
(from
(ahead
(last To)
N )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To)
E )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To)
W )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To)
S )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
}
)
(moveAgain)
(if
(no Moves Next)
(and
(set Pending)
(moveAgain)
)
)
)
)
)
)
(to if:
(is Friend
(who at:
(to)
)
)
)
)
)
)
)
(hand Each)
}
)
(rules
(start
(place "Marker" "Hand" count:24)
)
phases:{
(phase "FirstPlacement" P1
(play
(move
(from
(handSite Mover)
)
(to
(sites Centre)
)
)
)
(nextPhase "Placement")
)
(phase "Placement"
(play
(move
(from
(handSite Mover)
)
(to
(sites Empty)
)
)
)
(nextPhase Mover
(all Sites
(sites Hand Mover)
if:
(= 0
(count Cell at:
(site)
)
)
)
"Playing" )
)
(phase "Playing"
(play
(if
(is Prev Mover)
(move Remove
(sites Occupied by:Next)
(then
(if
(>
(value Player Mover)
1)
(and
(moveAgain)
(set Value Mover
(-
(value Player Mover)
1)
)
)
(set Value Mover 0)
)
)
)
(forEach Piece)
)
)
)
}
(end
(if
(no Pieces Next)
(result Next Loss)
)
)
)
> "The Cheng Fang Cheng Long (Ludii 4) ruleset.")
(item "Cheng Fang Cheng Long (Ludii 5)" <
(players 2)
(equipment {
(board
(square 5)
use:Vertex)
(piece "Marker" Each
(move Step
(to if:
(is Empty
(to)
)
)
(then
(if
(>
(count Sites in:
(forEach
(sites Around
(last To)
)
if:
(if
(is Empty
(site)
)
(or
(and {
(is In
(last To)
(sites {
(ahead
(site)
N )
(ahead
(site)
S )
(ahead
(site)
W )
(ahead
(site)
E )
}
)
)
(is Mover
(who at:
(ahead
(site)
N )
)
)
(is Mover
(who at:
(ahead
(site)
S )
)
)
(is Mover
(who at:
(ahead
(site)
W )
)
)
(is Mover
(who at:
(ahead
(site)
E )
)
)
}
)
(and {
(is In
(last To)
(sites {
(ahead
(site)
NE )
(ahead
(site)
SE )
(ahead
(site)
SW )
(ahead
(site)
NW )
}
)
)
(is Mover
(who at:
(ahead
(site)
NE )
)
)
(is Mover
(who at:
(ahead
(site)
SE )
)
)
(is Mover
(who at:
(ahead
(site)
SW )
)
)
(is Mover
(who at:
(ahead
(site)
NW )
)
)
}
)
)
)
)
)
0 )
(and
(set Value Mover
(count Sites in:
(forEach
(sites Around
(last To)
)
if:
(if
(is Empty
(site)
)
(or
(and {
(is In
(last To)
(sites {
(ahead
(site )
N )
(ahead
(site )
S )
(ahead
(site )
W )
(ahead
(site )
E )
}
)
)
(is Mover
(who at:
(ahead
(site)
N )
)
)
(is Mover
(who at:
(ahead
(site)
S )
)
)
(is Mover
(who at:
(ahead
(site)
W )
)
)
(is Mover
(who at:
(ahead
(site)
E )
)
)
}
)
(and {
(is In
(last To)
(sites {
(ahead
(site )
NE )
(ahead
(site )
SE )
(ahead
(site )
SW )
(ahead
(site )
NW )
}
)
)
(is Mover
(who at:
(ahead
(site)
NE )
)
)
(is Mover
(who at:
(ahead
(site)
SE )
)
)
(is Mover
(who at:
(ahead
(site)
SW )
)
)
(is Mover
(who at:
(ahead
(site)
NW )
)
)
}
)
)
)
)
)
)
(moveAgain)
)
)
)
)
)
(hand Each)
}
)
(rules
(start
(place "Marker" "Hand" count:12)
)
phases:{
(phase "Placement"
(play
(if
(=
(count Moves)
24)
(forEach Piece)
(move
(from
(handSite Mover)
)
(to
(difference
(sites Empty)
(centrePoint)
)
)
(then
(if
(or
(=
(count Moves)
24)
(not
(is Prev Mover)
)
)
(moveAgain)
)
)
)
)
)
(nextPhase
(=
(count Moves)
25)
"Movement")
)
(phase "Movement"
(play
(if
(is Prev Mover)
(move Step
(from
(last To)
)
Orthogonal
(to if:
(and
(is Empty
(to)
)
(or {
(and
(is Enemy
(who at:
(ahead
(to)
W)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
W)
W )
)
)
)
(and
(is Enemy
(who at:
(ahead
(to)
E)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
E)
E )
)
)
)
(and
(is Enemy
(who at:
(ahead
(to)
N)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
N)
N )
)
)
)
(and
(is Enemy
(who at:
(ahead
(to)
S)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
S)
S )
)
)
)
}
)
)
)
(then
(custodial
(from
(last To)
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between)
)
)
(!=
(centrePoint)
(between)
)
)
(apply
(and
(remove
(between)
)
(if
(or {
(can Move
(custodial
(from
(ahead
(last To )
N )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To )
E )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To )
W )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To )
S )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
}
)
(moveAgain)
(if
(no Moves Next)
(and
(set Pending)
(moveAgain)
)
)
)
)
)
)
(to if:
(is Friend
(who at:
(to)
)
)
)
)
)
)
(do
(forEach Piece)
ifAfterwards:
(not
(no Moves Next)
)
)
)
)
)
}
(end
(if
(no Pieces Next)
(result Next Loss)
)
)
)
> "The Cheng Fang Cheng Long (Ludii 5) ruleset.")
(item "Cheng Fang Cheng Long (Ludii 6)" <
(players 2)
(equipment {
(board
(square 5)
use:Vertex)
(piece "Marker" Each
(move Step
(to if:
(is Empty
(to)
)
)
(then
(if
(or
(is Line 3 All)
(is Pattern { F R F R F R F }
)
)
(moveAgain)
)
)
)
)
(hand Each)
}
)
(rules
(start
(place "Marker" "Hand" count:40)
)
phases:{
(phase "Placement"
(play
(if
(is Prev Mover)
(move Remove
(forEach
(sites Occupied by:Next container:"Board")
if:
(and
(not
(is Line 3 All through:
(site)
)
)
(not
(is Pattern { F R F R F R F }
from:
(site)
)
)
)
)
)
(move
(from
(handSite Mover)
)
(to
(sites Empty)
)
(then
(if
(or
(is Line 3 All)
(is Pattern { F R F R F R F }
)
)
(moveAgain)
)
)
)
)
)
(nextPhase Mover
(all Sites
(sites Hand Mover)
if:
(= 0
(count Cell at:
(site)
)
)
)
"Movement" )
)
(phase "Movement"
(play
(if
(is Prev Mover)
(move Remove
(forEach
(sites Occupied by:Next container:"Board")
if:
(and
(not
(is Line 3 All through:
(site)
)
)
(not
(is Pattern { F R F R F R F }
from:
(site)
)
)
)
)
)
(forEach Piece)
)
)
)
}
(end
(if
(no Pieces Next)
(result Next Loss)
)
)
)
> "The Cheng Fang Cheng Long (Ludii 6) ruleset.")
(item "Cheng Fang Cheng Long (Ludii 7)" <
(players 2)
(equipment {
(board
(square 5)
use:Vertex)
(piece "Marker" Each
(move Step
(to if:
(is Empty
(to)
)
)
(then
(if
(or
(is Line 3 All)
(is Pattern { F R F R F R F }
)
)
(moveAgain)
)
)
)
)
(hand Each)
}
)
(rules
(start
(place "Marker" "Hand" count:12)
)
phases:{
(phase "Placement"
(play
(if
(=
(count Moves)
24)
(forEach Piece)
(move
(from
(handSite Mover)
)
(to
(difference
(sites Empty)
(centrePoint)
)
)
(then
(if
(or
(=
(count Moves)
24)
(not
(is Prev Mover)
)
)
(moveAgain)
)
)
)
)
)
(nextPhase
(=
(count Moves)
25)
"Movement")
)
(phase "Movement"
(play
(if
(is Prev Mover)
(move Step
(from
(last To)
)
Orthogonal
(to if:
(and
(is Empty
(to)
)
(or {
(and
(is Enemy
(who at:
(ahead
(to)
W)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
W)
W )
)
)
)
(and
(is Enemy
(who at:
(ahead
(to)
E)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
E)
E )
)
)
)
(and
(is Enemy
(who at:
(ahead
(to)
N)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
N)
N )
)
)
)
(and
(is Enemy
(who at:
(ahead
(to)
S)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
S)
S )
)
)
)
}
)
)
)
(then
(custodial
(from
(last To)
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between)
)
)
(!=
(centrePoint)
(between)
)
)
(apply
(and
(remove
(between)
)
(if
(or {
(can Move
(custodial
(from
(ahead
(last To )
N )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To )
E )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To )
W )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To )
S )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
}
)
(moveAgain)
(if
(no Moves Next)
(and
(set Pending)
(moveAgain)
)
)
)
)
)
)
(to if:
(is Friend
(who at:
(to)
)
)
)
)
)
)
(do
(forEach Piece)
ifAfterwards:
(not
(no Moves Next)
)
)
)
)
)
}
(end
(if
(no Pieces Next)
(result Next Loss)
)
)
)
> "The Cheng Fang Cheng Long (Ludii 7) ruleset.")
(item "Cheng Fang Cheng Long (Ludii 8)" <
(players 2)
(equipment {
(board
(square 5)
use:Vertex)
(piece "Marker" Each
(move Step Orthogonal
(to if:
(is Empty
(to)
)
)
(then
(custodial
(from
(last To)
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between)
)
)
(!=
(centrePoint)
(between)
)
)
(apply
(and
(remove
(between)
)
(if
(or {
(can Move
(custodial
(from
(ahead
(last To)
N )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To)
E )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To)
W )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To)
S )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
}
)
(moveAgain)
(if
(no Moves Next)
(and
(set Pending)
(moveAgain)
)
)
)
)
)
)
(to if:
(is Friend
(who at:
(to)
)
)
)
)
)
)
)
(hand Each)
}
)
(rules
(start
(place "Marker" "Hand" count:40)
)
phases:{
(phase "Placement"
(play
(if
(is Prev Mover)
(move Remove
(forEach
(sites Occupied by:Next container:"Board")
if:
(and
(not
(is Line 3 All through:
(site)
)
)
(not
(is Pattern { F R F R F R F }
from:
(site)
)
)
)
)
)
(move
(from
(handSite Mover)
)
(to
(sites Empty)
)
(then
(if
(or
(is Line 3 All)
(is Pattern { F R F R F R F }
)
)
(moveAgain)
)
)
)
)
)
(nextPhase Mover
(all Sites
(sites Hand Mover)
if:
(= 0
(count Cell at:
(site)
)
)
)
"Movement" )
)
(phase "Movement"
(play
(if
(is Prev Mover)
(move Remove
(forEach
(sites Occupied by:Next container:"Board")
if:
(and
(not
(is Line 3 All through:
(site)
)
)
(not
(is Pattern { F R F R F R F }
from:
(site)
)
)
)
)
)
(forEach Piece)
)
)
)
}
(end
(if
(no Pieces Next)
(result Next Loss)
)
)
)
> "The Cheng Fang Cheng Long (Ludii 8) ruleset.")
(item "Cheng Fang Cheng Long (Ludii 9)" <
(players 2)
(equipment {
(board
(square 5)
use:Vertex)
(piece "Marker" Each
(move Step
(to if:
(is Empty
(to)
)
)
(then
(if
(or
(is Line 3 All)
(is Pattern { F R F R F R F }
)
)
(moveAgain)
)
)
)
)
(hand Each)
}
)
(rules
(start
(place "Marker" "Hand" count:6)
)
phases:{
(phase "Placement"
(play
(if
(is Prev Mover)
(move Remove
(forEach
(sites Occupied by:Enemy container:"Board")
if:
(not
(is Line 3 Orthogonal through:
(site)
)
)
)
)
(move
(from
(handSite Mover)
)
(to
(sites Empty)
)
(then
(if
(is Line 3 Orthogonal exact:True)
(moveAgain)
)
)
)
)
)
(nextPhase Mover
(all Sites
(sites Hand Mover)
if:
(= 0
(count Cell at:
(site)
)
)
)
"Movement" )
)
(phase "Movement"
(play
(if
(is Prev Mover)
(move Remove
(forEach
(sites Occupied by:Enemy container:"Board")
if:
(not
(is Line 3 Orthogonal through:
(site)
)
)
)
)
(forEach Piece)
)
)
)
}
(end
(if
(no Pieces Next)
(result Next Loss)
)
)
)
> "The Cheng Fang Cheng Long (Ludii 9) ruleset.")
(item "Cheng Fang Cheng Long (Ludii 10)" <
(players 2)
(equipment {
(board
(square 5)
use:Vertex)
(piece "Marker" Each
(move Step Orthogonal
(to if:
(is Empty
(to)
)
)
(then
(custodial
(from
(last To)
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between)
)
)
(!=
(centrePoint)
(between)
)
)
(apply
(and
(remove
(between)
)
(if
(or {
(can Move
(custodial
(from
(ahead
(last To)
N )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To)
E )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To)
W )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To)
S )
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
}
)
(moveAgain)
(if
(no Moves Next)
(and
(set Pending)
(moveAgain)
)
)
)
)
)
)
(to if:
(is Friend
(who at:
(to)
)
)
)
)
)
)
)
(hand Each)
}
)
(rules
(start
(place "Marker" "Hand" count:12)
)
phases:{
(phase "Placement"
(play
(if
(=
(count Moves)
24)
(forEach Piece)
(move
(from
(handSite Mover)
)
(to
(difference
(sites Empty)
(centrePoint)
)
)
(then
(if
(or
(=
(count Moves)
24)
(not
(is Prev Mover)
)
)
(moveAgain)
)
)
)
)
)
(nextPhase
(=
(count Moves)
25)
"Movement")
)
(phase "Movement"
(play
(if
(is Prev Mover)
(move Step
(from
(last To)
)
Orthogonal
(to if:
(and
(is Empty
(to)
)
(or {
(and
(is Enemy
(who at:
(ahead
(to)
W)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
W)
W )
)
)
)
(and
(is Enemy
(who at:
(ahead
(to)
E)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
E)
E )
)
)
)
(and
(is Enemy
(who at:
(ahead
(to)
N)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
N)
N )
)
)
)
(and
(is Enemy
(who at:
(ahead
(to)
S)
)
)
(is Friend
(who at:
(ahead
(ahead
(to)
S)
S )
)
)
)
}
)
)
)
(then
(custodial
(from
(last To)
)
Orthogonal
(between
(max 1)
if:
(and
(is Enemy
(who at:
(between)
)
)
(!=
(centrePoint)
(between)
)
)
(apply
(and
(remove
(between)
)
(if
(or {
(can Move
(custodial
(from
(ahead
(last To )
N )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To )
E )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To )
W )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
(can Move
(custodial
(from
(ahead
(last To )
S )
)
Orthogonal
(between
(max 1 )
if:
(and
(is Enemy
(who at:
(between )
)
)
(!=
(centrePoint )
(between )
)
)
)
(to if:
(is Friend
(who at:
(to )
)
)
)
)
)
}
)
(moveAgain)
(if
(no Moves Next)
(and
(set Pending)
(moveAgain)
)
)
)
)
)
)
(to if:
(is Friend
(who at:
(to)
)
)
)
)
)
)
(do
(forEach Piece)
ifAfterwards:
(not
(no Moves Next)
)
)
)
)
)
}
(end
(if
(no Pieces Next)
(result Next Loss)
)
)
)
> "The Cheng Fang Cheng Long (Ludii 10) ruleset.")
(item "Incomplete"
<
(players 2)
(equipment {
(board
(square 5)
use:Vertex
)
(piece "Marker" Each [#])
(hand Each)
})
(rules [#])
>
"The incomplete ruleset."
)
})
//------------------------------------------------------------------------------
(rulesets {
(ruleset "Ruleset/Cheng Fang Cheng Long (Ludii 1) (Reconstructed)" {
"Variant/Cheng Fang Cheng Long (Ludii 1)"
})
(ruleset "Ruleset/Cheng Fang Cheng Long (Ludii 2) (Reconstructed)" {
"Variant/Cheng Fang Cheng Long (Ludii 2)"
})
(ruleset "Ruleset/Cheng Fang Cheng Long (Ludii 3) (Reconstructed)" {
"Variant/Cheng Fang Cheng Long (Ludii 3)"
})
(ruleset "Ruleset/Cheng Fang Cheng Long (Ludii 4) (Reconstructed)" {
"Variant/Cheng Fang Cheng Long (Ludii 4)"
})
(ruleset "Ruleset/Cheng Fang Cheng Long (Ludii 5) (Reconstructed)" {
"Variant/Cheng Fang Cheng Long (Ludii 5)"
})
(ruleset "Ruleset/Cheng Fang Cheng Long (Ludii 6) (Reconstructed)" {
"Variant/Cheng Fang Cheng Long (Ludii 6)"
})
(ruleset "Ruleset/Cheng Fang Cheng Long (Ludii 7) (Reconstructed)" {
"Variant/Cheng Fang Cheng Long (Ludii 7)"
})
(ruleset "Ruleset/Cheng Fang Cheng Long (Ludii 8) (Reconstructed)" {
"Variant/Cheng Fang Cheng Long (Ludii 8)"
})
(ruleset "Ruleset/Cheng Fang Cheng Long (Ludii 9) (Reconstructed)" {
"Variant/Cheng Fang Cheng Long (Ludii 9)"
})
(ruleset "Ruleset/Cheng Fang Cheng Long (Ludii 10) (Reconstructed)" {
"Variant/Cheng Fang Cheng Long (Ludii 10)"
})
(ruleset "Ruleset/Historical Information (Incomplete)" {
"Variant/Incomplete"
})
})
//------------------------------------------------------------------------------
(metadata
(info
{
(description "Cheng Fang Cheng Long is a game played in Chine in the twentieth century. Though its rules were not completely described, it is likely to be similar to the game Fang played by the Uighur people.")
(aliases {"Five-Fang"})
(useFor "Ruleset/Historical Information (Incomplete)" (rules "5x5 intersecting lines. Forming squares on the board with a player's pieces is considered beneficial. "))
(useFor "Ruleset/Historical Information (Incomplete)" (source "DLP evidence."))
(useFor "Ruleset/Historical Information (Incomplete)" (id "1136"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 1) (Reconstructed)" (rules "The game Cheng Fang Cheng Long is played by two players on a 5x5 rectangle board with square tiling.
All players play with Markers.
Rules for Pieces:
Markers step adjacent then if the number of sites in if empty then the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction north, the Vertex 1 steps ahead of current site in the direction south, the Vertex 1 steps ahead of current site in the direction west, the Vertex 1 steps ahead of current site in the direction east], Player at the Vertex 1 steps ahead of current site in the direction north is the mover, Player at the Vertex 1 steps ahead of current site in the direction south is the mover, Player at the Vertex 1 steps ahead of current site in the direction west is the mover and Player at the Vertex 1 steps ahead of current site in the direction east is the mover or the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction ne, the Vertex 1 steps ahead of current site in the direction se, the Vertex 1 steps ahead of current site in the direction sw, the Vertex 1 steps ahead of current site in the direction nw], Player at the Vertex 1 steps ahead of current site in the direction ne is the mover, Player at the Vertex 1 steps ahead of current site in the direction se is the mover, Player at the Vertex 1 steps ahead of current site in the direction sw is the mover and Player at the Vertex 1 steps ahead of current site in the direction nw is the mover the number of sites within 1 spaces of the to location of the last move includeOrigin: false is greater than 0, set the value of Player the moving player to the number of sites in if empty then the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction north, the Vertex 1 steps ahead of current site in the direction south, the Vertex 1 steps ahead of current site in the direction west, the Vertex 1 steps ahead of current site in the direction east], Player at the Vertex 1 steps ahead of current site in the direction north is the mover, Player at the Vertex 1 steps ahead of current site in the direction south is the mover, Player at the Vertex 1 steps ahead of current site in the direction west is the mover and Player at the Vertex 1 steps ahead of current site in the direction east is the mover or the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction ne, the Vertex 1 steps ahead of current site in the direction se, the Vertex 1 steps ahead of current site in the direction sw, the Vertex 1 steps ahead of current site in the direction nw], Player at the Vertex 1 steps ahead of current site in the direction ne is the mover, Player at the Vertex 1 steps ahead of current site in the direction se is the mover, Player at the Vertex 1 steps ahead of current site in the direction sw is the mover and Player at the Vertex 1 steps ahead of current site in the direction nw is the mover the number of sites within 1 spaces of the to location of the last move includeOrigin: false and move again.
Players take turns moving.
Rules:
From vertex in Player the moving player's hand site 0 to vertex in the centre sites of the board moveRule: true from vertex in Player the moving player's hand site 0 to vertex in the set of empty vertexs moveRule: true if in the same turn, remove pieces at sites occupied by any component owned by Next then if the value of Player the moving player is greater than 1, move again and set the value of Player the moving player to the value of Player the moving player minus 1, else set the value of Player the moving player to 0, else move one of your pieces.
Aim:
If there are no pieces owned by Player the next player, the next player loses.
"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 1) (Reconstructed)" (id "3269"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 2) (Reconstructed)" (rules "The game Cheng Fang Cheng Long is played by two players on a 5x5 rectangle board with square tiling.
All players play with Markers.
Rules for Pieces:
Markers step adjacent then if a player places 3 of their pieces in an all direction line or the walk [F,R,F,R,F,R,F] from vertex the to location of the last move goes through any sites, move again.
Players take turns moving.
Rules:
From vertex in Player the moving player's hand site 0 to vertex in the centre sites of the board moveRule: true from vertex in Player the moving player's hand site 0 to vertex in the set of empty vertexs moveRule: true if in the same turn, remove pieces at sites occupied by any component owned by Next then if the value of Player the moving player is greater than 1, move again and set the value of Player the moving player to the value of Player the moving player minus 1, else set the value of Player the moving player to 0, else move one of your pieces.
Aim:
If there are no pieces owned by Player the next player, the next player loses.
"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 2) (Reconstructed)" (id "3270"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 3) (Reconstructed)" (rules "The game Cheng Fang Cheng Long is played by two players on a 5x5 rectangle board with square tiling.
All players play with Markers.
Rules for Pieces:
Markers step adjacent then if the number of sites in if empty then the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction north, the Vertex 1 steps ahead of current site in the direction south, the Vertex 1 steps ahead of current site in the direction west, the Vertex 1 steps ahead of current site in the direction east], Player at the Vertex 1 steps ahead of current site in the direction north is the mover, Player at the Vertex 1 steps ahead of current site in the direction south is the mover, Player at the Vertex 1 steps ahead of current site in the direction west is the mover and Player at the Vertex 1 steps ahead of current site in the direction east is the mover or the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction ne, the Vertex 1 steps ahead of current site in the direction se, the Vertex 1 steps ahead of current site in the direction sw, the Vertex 1 steps ahead of current site in the direction nw], Player at the Vertex 1 steps ahead of current site in the direction ne is the mover, Player at the Vertex 1 steps ahead of current site in the direction se is the mover, Player at the Vertex 1 steps ahead of current site in the direction sw is the mover and Player at the Vertex 1 steps ahead of current site in the direction nw is the mover the number of sites within 1 spaces of the to location of the last move includeOrigin: false is greater than 0, set the value of Player the moving player to the number of sites in if empty then the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction north, the Vertex 1 steps ahead of current site in the direction south, the Vertex 1 steps ahead of current site in the direction west, the Vertex 1 steps ahead of current site in the direction east], Player at the Vertex 1 steps ahead of current site in the direction north is the mover, Player at the Vertex 1 steps ahead of current site in the direction south is the mover, Player at the Vertex 1 steps ahead of current site in the direction west is the mover and Player at the Vertex 1 steps ahead of current site in the direction east is the mover or the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction ne, the Vertex 1 steps ahead of current site in the direction se, the Vertex 1 steps ahead of current site in the direction sw, the Vertex 1 steps ahead of current site in the direction nw], Player at the Vertex 1 steps ahead of current site in the direction ne is the mover, Player at the Vertex 1 steps ahead of current site in the direction se is the mover, Player at the Vertex 1 steps ahead of current site in the direction sw is the mover and Player at the Vertex 1 steps ahead of current site in the direction nw is the mover the number of sites within 1 spaces of the to location of the last move includeOrigin: false and move again.
Players take turns moving.
Rules:
If in the same turn, remove pieces at not a player places 3 of their pieces in an all direction line and not the walk [F,R,F,R,F,R,F] from vertex current site goes through any sites sites occupied by any component owned by Next in Board, else from vertex in Player the moving player's hand site 0 to vertex in the set of empty vertexs moveRule: true then if a player places 3 of their pieces in an all direction line or the walk [F,R,F,R,F,R,F] from vertex the to location of the last move goes through any sites, move again if in the same turn, remove pieces at not a player places 3 of their pieces in an all direction line and not the walk [F,R,F,R,F,R,F] from vertex current site goes through any sites sites occupied by any component owned by Next in Board, else move one of your pieces.
Aim:
If there are no pieces owned by Player the next player, the next player loses.
"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 3) (Reconstructed)" (id "3271"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 4) (Reconstructed)" (rules "The game Cheng Fang Cheng Long is played by two players on a 5x5 rectangle board with square tiling.
All players play with Markers.
Rules for Pieces:
Markers step orthogonal then for all flanked pieces on Vertexes starting from the to location of the last move with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between and if can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction north with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction east with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction west with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between or can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction south with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, move again, else if the next player cannot move, set pending and move again.
Players take turns moving.
Rules:
From vertex in Player the moving player's hand site 0 to vertex in the centre sites of the board moveRule: true from vertex in Player the moving player's hand site 0 to vertex in the set of empty vertexs moveRule: true if in the same turn, remove pieces at sites occupied by any component owned by Next then if the value of Player the moving player is greater than 1, move again and set the value of Player the moving player to the value of Player the moving player minus 1, else set the value of Player the moving player to 0, else move one of your pieces.
Aim:
If there are no pieces owned by Player the next player, the next player loses.
"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 4) (Reconstructed)" (id "3272"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 5) (Reconstructed)" (rules "The game Cheng Fang Cheng Long is played by two players on a 5x5 rectangle board with square tiling.
All players play with Markers.
Rules for Pieces:
Markers step adjacent then if the number of sites in if empty then the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction north, the Vertex 1 steps ahead of current site in the direction south, the Vertex 1 steps ahead of current site in the direction west, the Vertex 1 steps ahead of current site in the direction east], Player at the Vertex 1 steps ahead of current site in the direction north is the mover, Player at the Vertex 1 steps ahead of current site in the direction south is the mover, Player at the Vertex 1 steps ahead of current site in the direction west is the mover and Player at the Vertex 1 steps ahead of current site in the direction east is the mover or the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction ne, the Vertex 1 steps ahead of current site in the direction se, the Vertex 1 steps ahead of current site in the direction sw, the Vertex 1 steps ahead of current site in the direction nw], Player at the Vertex 1 steps ahead of current site in the direction ne is the mover, Player at the Vertex 1 steps ahead of current site in the direction se is the mover, Player at the Vertex 1 steps ahead of current site in the direction sw is the mover and Player at the Vertex 1 steps ahead of current site in the direction nw is the mover the number of sites within 1 spaces of the to location of the last move includeOrigin: false is greater than 0, set the value of Player the moving player to the number of sites in if empty then the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction north, the Vertex 1 steps ahead of current site in the direction south, the Vertex 1 steps ahead of current site in the direction west, the Vertex 1 steps ahead of current site in the direction east], Player at the Vertex 1 steps ahead of current site in the direction north is the mover, Player at the Vertex 1 steps ahead of current site in the direction south is the mover, Player at the Vertex 1 steps ahead of current site in the direction west is the mover and Player at the Vertex 1 steps ahead of current site in the direction east is the mover or the to location of the last move is in sites [ the Vertex 1 steps ahead of current site in the direction ne, the Vertex 1 steps ahead of current site in the direction se, the Vertex 1 steps ahead of current site in the direction sw, the Vertex 1 steps ahead of current site in the direction nw], Player at the Vertex 1 steps ahead of current site in the direction ne is the mover, Player at the Vertex 1 steps ahead of current site in the direction se is the mover, Player at the Vertex 1 steps ahead of current site in the direction sw is the mover and Player at the Vertex 1 steps ahead of current site in the direction nw is the mover the number of sites within 1 spaces of the to location of the last move includeOrigin: false and move again.
Players take turns moving.
Rules:
If the number of moves is equal to 24, move one of your pieces, else from vertex in Player the moving player's hand site 0 to vertex in the difference between the set of empty vertexs and site the centre point of the board moveRule: true then if the number of moves is equal to 24 or not in the same turn, move again if in the same turn, step orthogonal then for all flanked pieces on Vertexes starting from the to location of the last move with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between and if can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction north with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction east with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction west with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between or can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction south with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, move again, else if the next player cannot move, set pending and move again, else move one of your pieces.
Aim:
If there are no pieces owned by Player the next player, the next player loses.
"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 5) (Reconstructed)" (id "3273"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 6) (Reconstructed)" (rules "The game Cheng Fang Cheng Long is played by two players on a 5x5 rectangle board with square tiling.
All players play with Markers.
Rules for Pieces:
Markers step adjacent then if a player places 3 of their pieces in an all direction line or the walk [F,R,F,R,F,R,F] from vertex the to location of the last move goes through any sites, move again.
Players take turns moving.
Rules:
If in the same turn, remove pieces at not a player places 3 of their pieces in an all direction line and not the walk [F,R,F,R,F,R,F] from vertex current site goes through any sites sites occupied by any component owned by Next in Board, else from vertex in Player the moving player's hand site 0 to vertex in the set of empty vertexs moveRule: true then if a player places 3 of their pieces in an all direction line or the walk [F,R,F,R,F,R,F] from vertex the to location of the last move goes through any sites, move again if in the same turn, remove pieces at not a player places 3 of their pieces in an all direction line and not the walk [F,R,F,R,F,R,F] from vertex current site goes through any sites sites occupied by any component owned by Next in Board, else move one of your pieces.
Aim:
If there are no pieces owned by Player the next player, the next player loses.
"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 6) (Reconstructed)" (id "3274"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 7) (Reconstructed)" (rules "The game Cheng Fang Cheng Long is played by two players on a 5x5 rectangle board with square tiling.
All players play with Markers.
Rules for Pieces:
Markers step adjacent then if a player places 3 of their pieces in an all direction line or the walk [F,R,F,R,F,R,F] from vertex the to location of the last move goes through any sites, move again.
Players take turns moving.
Rules:
If the number of moves is equal to 24, move one of your pieces, else from vertex in Player the moving player's hand site 0 to vertex in the difference between the set of empty vertexs and site the centre point of the board moveRule: true then if the number of moves is equal to 24 or not in the same turn, move again if in the same turn, step orthogonal then for all flanked pieces on Vertexes starting from the to location of the last move with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between and if can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction north with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction east with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction west with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between or can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction south with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, move again, else if the next player cannot move, set pending and move again, else move one of your pieces.
Aim:
If there are no pieces owned by Player the next player, the next player loses.
"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 7) (Reconstructed)" (id "3275"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 8) (Reconstructed)" (rules "The game Cheng Fang Cheng Long is played by two players on a 5x5 rectangle board with square tiling.
All players play with Markers.
Rules for Pieces:
Markers step orthogonal then for all flanked pieces on Vertexes starting from the to location of the last move with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between and if can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction north with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction east with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction west with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between or can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction south with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, move again, else if the next player cannot move, set pending and move again.
Players take turns moving.
Rules:
If in the same turn, remove pieces at not a player places 3 of their pieces in an all direction line and not the walk [F,R,F,R,F,R,F] from vertex current site goes through any sites sites occupied by any component owned by Next in Board, else from vertex in Player the moving player's hand site 0 to vertex in the set of empty vertexs moveRule: true then if a player places 3 of their pieces in an all direction line or the walk [F,R,F,R,F,R,F] from vertex the to location of the last move goes through any sites, move again if in the same turn, remove pieces at not a player places 3 of their pieces in an all direction line and not the walk [F,R,F,R,F,R,F] from vertex current site goes through any sites sites occupied by any component owned by Next in Board, else move one of your pieces.
Aim:
If there are no pieces owned by Player the next player, the next player loses.
"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 8) (Reconstructed)" (id "3276"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 9) (Reconstructed)" (rules "The game Cheng Fang Cheng Long is played by two players on a 5x5 rectangle board with square tiling.
All players play with Markers.
Rules for Pieces:
Markers step adjacent then if a player places 3 of their pieces in an all direction line or the walk [F,R,F,R,F,R,F] from vertex the to location of the last move goes through any sites, move again.
Players take turns moving.
Rules:
If in the same turn, remove pieces at not a player places 3 of their pieces in an orthogonal direction line sites occupied by any component owned by Enemy in Board, else from vertex in Player the moving player's hand site 0 to vertex in the set of empty vertexs moveRule: true then if a player places 3 of their pieces in an orthogonal direction line, move again if in the same turn, remove pieces at not a player places 3 of their pieces in an orthogonal direction line sites occupied by any component owned by Enemy in Board, else move one of your pieces.
Aim:
If there are no pieces owned by Player the next player, the next player loses.
"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 9) (Reconstructed)" (id "3277"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 10) (Reconstructed)" (rules "The game Cheng Fang Cheng Long is played by two players on a 5x5 rectangle board with square tiling.
All players play with Markers.
Rules for Pieces:
Markers step orthogonal then for all flanked pieces on Vertexes starting from the to location of the last move with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between and if can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction north with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction east with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction west with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between or can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction south with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, move again, else if the next player cannot move, set pending and move again.
Players take turns moving.
Rules:
If the number of moves is equal to 24, move one of your pieces, else from vertex in Player the moving player's hand site 0 to vertex in the difference between the set of empty vertexs and site the centre point of the board moveRule: true then if the number of moves is equal to 24 or not in the same turn, move again if in the same turn, step orthogonal then for all flanked pieces on Vertexes starting from the to location of the last move with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between and if can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction north with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction east with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction west with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between or can move for all flanked pieces on Vertexes starting from the Vertex 1 steps ahead of the to location of the last move in the direction south with Orthogonal direction with a limit of 1 pieces if the target is there is an enemy Player at between and the centre point of the board is not equal to between if the friend is is a friendremove pieces at between, move again, else if the next player cannot move, set pending and move again, else move one of your pieces.
Aim:
If there are no pieces owned by Player the next player, the next player loses.
"))
(useFor "Ruleset/Cheng Fang Cheng Long (Ludii 10) (Reconstructed)" (id "3278"))
(version "1.3.11")
(classification "board/war/reconstruction/done")
(credit "Eric Piette")
(origin "This game was played in China, from around 1997 to 1999.")
}
)
(graphics {
(show Edges Diagonal Hidden)
})
)