<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN"   "http://www.web3d.org/specifications/x3d-3.0.dtd">
<X3D profile='Immersiveversion='3.0xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation=' http://www.web3d.org/specifications/x3d-3.0.xsd '>
<head>
<meta name='chesscontent='Chess8Levels.x3d'/>
<meta name='descriptioncontent='Multi-layered Chess Board in 3 dimensions.'/>
<meta name='creatorcontent='John W. Carls'/>
<meta name='createdcontent='August 9, 2002'/>
<meta name='modifiedcontent='October 10, 2002'/>
<meta name='versioncontent='0.3'/>
<meta name='warningcontent='functionality incomplete for full game play'/>
<meta name='identifiercontent=' http://www.web3d.org/x3d/content/examples/Basic/StudentProjects/Chess8Levels.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent='../license.html'/>
</head>
<!--

Index for DEF nodes: Aqua, aquapawn, BackgroundCyan-ish, BlueBishop1, BLUEBISHOP1CLOCK, BlueBishop1PathInterpolator, BlueBishop1PlaneSensor, BlueBishop1TouchSensor, BlueBishop2, BLUEBISHOP2CLOCK, BlueBishop2PathInterpolator, BlueBishop2PlaneSensor, BlueBishop2TouchSensor, BlueBolt, BlueCastle1, BLUECASTLE1CLOCK, BlueCastle1PathInterpolator, BlueCastle1PlaneSensor, BlueCastle1TouchSensor, BlueCastle2, BLUECASTLE2CLOCK, BlueCastle2PathInterpolator, BlueCastle2PlaneSensor, BlueCastle2TouchSensor, BlueKing, BLUEKINGCLOCK, BlueKingPathInterpolator, BlueKingPlaneSensor, BlueKingTouchSensor, BlueKnight1, BLUEKNIGHT1CLOCK, BlueKnight1PathInterpolator, BlueKnight1PlaneSensor, BlueKnight1TouchSensor, BlueKnight2, BLUEKNIGHT2CLOCK, BlueKnight2PathInterpolator, BlueKnight2PlaneSensor, BlueKnight2TouchSensor, BlueLeft, BluePawn1, BLUEPAWN1CLOCK, BluePawn1PathInterpolator, BluePawn1PlaneSensor, BluePawn1TouchSensor, BluePawn2, BLUEPAWN2CLOCK, BluePawn2PathInterpolator, BluePawn2PlaneSensor, BluePawn2TouchSensor, BluePawn3, BLUEPAWN3CLOCK, BluePawn3PathInterpolator, BluePawn3PlaneSensor, BluePawn3TouchSensor, BluePawn4, BLUEPAWN4CLOCK, BluePawn4PathInterpolator, BluePawn4PlaneSensor, BluePawn4TouchSensor, BluePawn5, BLUEPAWN5CLOCK, BluePawn5PathInterpolator, BluePawn5PlaneSensor, BluePawn5TouchSensor, BluePawn6, BLUEPAWN6CLOCK, BluePawn6PathInterpolator, BluePawn6PlaneSensor, BluePawn6TouchSensor, BluePawn7, BLUEPAWN7CLOCK, BluePawn7PathInterpolator, BluePawn7PlaneSensor, BluePawn7TouchSensor, BluePawn8, BLUEPAWN8CLOCK, BluePawn8PathInterpolator, BluePawn8PlaneSensor, BluePawn8TouchSensor, bluepiecebase, bluepiecepost, BlueQueen, BLUEQUEENCLOCK, BlueQueenPathInterpolator, BlueQueenPlaneSensor, BlueQueenTouchSensor, BlueSide, BlueSquare, board, BottomAngle1, BottomAngle2, BottomAngle3, BottomAngle4, BottomCorner1, BottomCorner2, BottomCorner3, BottomCorner4, chesspiecebase, Corner1, Corner2, Corner3, Corner4, GreenSquare, Red, RedBishop1, REDBISHOP1CLOCK, RedBishop1PathInterpolator, RedBishop1PlaneSensor, RedBishop1TouchSensor, RedBishop2, REDBISHOP2CLOCK, RedBishop2PathInterpolator, RedBishop2PlaneSensor, RedBishop2TouchSensor, RedBolt, RedCastle1, REDCASTLE1CLOCK, RedCastle1PathInterpolator, RedCastle1PlaneSensor, RedCastle1TouchSensor, RedCastle2, REDCASTLE2CLOCK, RedCastle2PathInterpolator, RedCastle2PlaneSensor, RedCastle2TouchSensor, RedKing, REDKINGCLOCK, RedKingPathInterpolator, RedKingPlaneSensor, RedKingTouchSensor, RedKnight1, REDKNIGHT1CLOCK, RedKnight1PathInterpolator, RedKnight1PlaneSensor, RedKnight1TouchSensor, RedKnight2, REDKNIGHT2CLOCK, RedKnight2PathInterpolator, RedKnight2PlaneSensor, RedKnight2TouchSensor, RedLeft, redpawn, RedPawn1, REDPAWN1CLOCK, RedPawn1PathInterpolator, RedPawn1PlaneSensor, RedPawn1TouchSensor, RedPawn2, REDPAWN2CLOCK, RedPawn2PathInterpolator, RedPawn2PlaneSensor, RedPawn2TouchSensor, RedPawn3, REDPAWN3CLOCK, RedPawn3PathInterpolator, RedPawn3PlaneSensor, RedPawn3TouchSensor, RedPawn4, REDPAWN4CLOCK, RedPawn4PathInterpolator, RedPawn4PlaneSensor, RedPawn4TouchSensor, RedPawn5, REDPAWN5CLOCK, RedPawn5PathInterpolator, RedPawn5PlaneSensor, RedPawn5TouchSensor, RedPawn6, REDPAWN6CLOCK, RedPawn6PathInterpolator, RedPawn6PlaneSensor, RedPawn6TouchSensor, RedPawn7, REDPAWN7CLOCK, RedPawn7PathInterpolator, RedPawn7PlaneSensor, RedPawn7TouchSensor, RedPawn8, REDPAWN8CLOCK, RedPawn8PathInterpolator, RedPawn8PlaneSensor, RedPawn8TouchSensor, redpiecebase, redpiecepost, RedQueen, REDQUEENCLOCK, RedQueenPathInterpolator, RedQueenPlaneSensor, RedQueenTouchSensor, RedSide, Row1, Row2, TopAngle1, TopAngle2, TopAngle3, TopAngle4, TopCorner1, TopCorner2, TopCorner3, TopCorner4, X_Plane
Index for Viewpoint images: RedSide, BlueSide, BlueLeft, RedLeft, Corner1, Corner2, Corner3, Corner4, TopAngle1, TopAngle2, TopAngle3, TopAngle4, TopCorner1, TopCorner2, TopCorner3, TopCorner4, BottomAngle1, BottomAngle2, BottomAngle3, BottomAngle4, BottomCorner1, BottomCorner2, BottomCorner3, BottomCorner4
-->
<Scene>
<!-- Multi-layered chess board construction. -->
<Group DEF='board'>
<Transform DEF='X_Plane'>
<Group DEF='Row1'>
<Transform>
<Shape DEF='GreenSquare'>
<Box size='1 0.01 1'/>
<Appearance>
<Material diffuseColor='.25 1 .25transparency='.125'/>
</Appearance>
</Shape>
</Transform>
<Transform translation='1 0 0'>
<Shape DEF='BlueSquare'>
<Box size='1 0.01 1'/>
<Appearance>
<Material diffuseColor='.25 .25 1transparency='.125'/>
</Appearance>
</Shape>
</Transform>
<Transform translation='2 0 0'>
<Shape USE='GreenSquare'/>
</Transform>
<Transform translation='3 0 0'>
<Shape USE='BlueSquare'/>
</Transform>
<Transform translation='-1 0 0'>
<Shape USE='BlueSquare'/>
</Transform>
<Transform translation='-2 0 0'>
<Shape USE='GreenSquare'/>
</Transform>
<Transform translation='-3 0 0'>
<Shape USE='BlueSquare'/>
</Transform>
<Transform translation='-4 0 0'>
<Shape USE='GreenSquare'/>
</Transform>
</Group>
<Transform translation='0 0 -1'>
<Group DEF='Row2'>
<Transform>
<Shape USE='BlueSquare'/>
</Transform>
<Transform translation='1 0 0'>
<Shape USE='GreenSquare'/>
</Transform>
<Transform translation='2 0 0'>
<Shape USE='BlueSquare'/>
</Transform>
<Transform translation='3 0 0'>
<Shape USE='GreenSquare'/>
</Transform>
<Transform translation='-1 0 0'>
<Shape USE='GreenSquare'/>
</Transform>
<Transform translation='-2 0 0'>
<Shape USE='BlueSquare'/>
</Transform>
<Transform translation='-3 0 0'>
<Shape USE='GreenSquare'/>
</Transform>
<Transform translation='-4 0 0'>
<Shape USE='BlueSquare'/>
</Transform>
</Group>
</Transform>
<Transform translation='0 0 -2'>
<Group USE='Row1'/>
</Transform>
<Transform translation='0 0 -3'>
<Group USE='Row2'/>
</Transform>
<Transform translation='0 0 -4'>
<Group USE='Row1'/>
</Transform>
<Transform translation='0 0 1'>
<Group USE='Row2'/>
</Transform>
<Transform translation='0 0 2'>
<Group USE='Row1'/>
</Transform>
<Transform translation='0 0 3'>
<Group USE='Row2'/>
</Transform>
</Transform>
<Transform translation='0 -4 0'>
<Transform USE='X_Plane'/>
</Transform>
<Transform rotation='0 1 0 1.57translation='0 -3 -1'>
<Transform USE='X_Plane'/>
</Transform>
<Transform translation='0 -2 0'>
<Transform USE='X_Plane'/>
</Transform>
<Transform rotation='0 1 0 1.57translation='0 -1 -1'>
<Transform USE='X_Plane'/>
</Transform>
<Transform rotation='0 1 0 1.57translation='0 1 -1'>
<Transform USE='X_Plane'/>
</Transform>
<Transform translation='0 2 0'>
<Transform USE='X_Plane'/>
</Transform>
<Transform rotation='0 1 0 1.57translation='0 3 -1'>
<Transform USE='X_Plane'/>
</Transform>
<Transform translation='0 4 0'>
<Transform USE='X_Plane'/>
</Transform>
</Group>
<!-- RedPawn1 ROUTEs:  [from RedPawn1PathInterpolator.value_changed to set_rotation ] [from RedPawn1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn1translation='-4 0 -3'>
<Group DEF='redpawn'>
<Transform translation='0 .415 0'>
<Transform>
<Shape>
<Sphere radius='.1875'/>
<Appearance DEF='Red'>
<Material diffuseColor='1 .25 .25'/>
</Appearance>
</Shape>
</Transform>
</Transform>
<Group DEF='redpiecebase'>
<Transform DEF='chesspiecebasetranslation='0 0.04 0'>
<Shape>
<Cylinder height='.0625radius='.1875'/>
</Shape>
</Transform>
<Transform DEF='redpieceposttranslation='0 .165 0'>
<Shape>
<Cylinder height='.25radius='.0825'/>
<Appearance USE='Red'/>
</Shape>
</Transform>
</Group>
</Group>
<!-- RedPawn1TouchSensor ROUTE:  [from isOver to REDPAWN1CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn1TouchSensor'/>
<!-- REDPAWN1CLOCK ROUTEs:  [from RedPawn1TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN1CLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedPawn1PathInterpolator ROUTEs:  [from REDPAWN1CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn1.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedPawn1PlaneSensor ROUTE:  [from translation_changed to RedPawn1.set_translation ] -->
<PlaneSensor DEF='RedPawn1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-4 1 -2'/>
<Group>
<ROUTE fromNode='RedPawn1TouchSensorfromField='isOvertoNode='REDPAWN1CLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDPAWN1CLOCKfromField='fraction_changedtoNode='RedPawn1PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedPawn1PathInterpolatorfromField='value_changedtoNode='RedPawn1toField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedPawn1PlaneSensorfromField='translation_changedtoNode='RedPawn1toField='set_translation'/>
</Group>
</Transform>
<!-- RedPawn2 ROUTEs:  [from RedPawn2PathInterpolator.value_changed to set_rotation ] [from RedPawn2PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn2translation='-3 0 -3'>
<Group USE='redpawn'/>
<!-- RedPawn2TouchSensor ROUTE:  [from isOver to REDPAWN2CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn2TouchSensor'/>
<!-- REDPAWN2CLOCK ROUTEs:  [from RedPawn2TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn2PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN2CLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedPawn2PathInterpolator ROUTEs:  [from REDPAWN2CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn2.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn2PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedPawn2PlaneSensor ROUTE:  [from translation_changed to RedPawn2.set_translation ] -->
<PlaneSensor DEF='RedPawn2PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-3 -1 -2'/>
<Group>
<ROUTE fromNode='RedPawn2TouchSensorfromField='isOvertoNode='REDPAWN2CLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDPAWN2CLOCKfromField='fraction_changedtoNode='RedPawn2PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedPawn2PathInterpolatorfromField='value_changedtoNode='RedPawn2toField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedPawn2PlaneSensorfromField='translation_changedtoNode='RedPawn2toField='set_translation'/>
</Group>
</Transform>
<!-- RedPawn3 ROUTEs:  [from RedPawn3PathInterpolator.value_changed to set_rotation ] [from RedPawn3PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn3translation='-2 0 -3'>
<Group USE='redpawn'/>
<!-- RedPawn3TouchSensor ROUTE:  [from isOver to REDPAWN3CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn3TouchSensor'/>
<!-- REDPAWN3CLOCK ROUTEs:  [from RedPawn3TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn3PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN3CLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedPawn3PathInterpolator ROUTEs:  [from REDPAWN3CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn3.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn3PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedPawn3PlaneSensor ROUTE:  [from translation_changed to RedPawn3.set_translation ] -->
<PlaneSensor DEF='RedPawn3PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-2 1 -2'/>
<Group>
<ROUTE fromNode='RedPawn3TouchSensorfromField='isOvertoNode='REDPAWN3CLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDPAWN3CLOCKfromField='fraction_changedtoNode='RedPawn3PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedPawn3PathInterpolatorfromField='value_changedtoNode='RedPawn3toField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedPawn3PlaneSensorfromField='translation_changedtoNode='RedPawn3toField='set_translation'/>
</Group>
</Transform>
<!-- RedPawn4 ROUTEs:  [from RedPawn4PathInterpolator.value_changed to set_rotation ] [from RedPawn4PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn4translation='-1 0 -3'>
<Group USE='redpawn'/>
<!-- RedPawn4TouchSensor ROUTE:  [from isOver to REDPAWN4CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn4TouchSensor'/>
<!-- REDPAWN4CLOCK ROUTEs:  [from RedPawn4TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn4PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN4CLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedPawn4PathInterpolator ROUTEs:  [from REDPAWN4CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn4.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn4PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedPawn4PlaneSensor ROUTE:  [from translation_changed to RedPawn4.set_translation ] -->
<PlaneSensor DEF='RedPawn4PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-1 2 -2'/>
<Group>
<ROUTE fromNode='RedPawn4TouchSensorfromField='isOvertoNode='REDPAWN4CLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDPAWN4CLOCKfromField='fraction_changedtoNode='RedPawn4PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedPawn4PathInterpolatorfromField='value_changedtoNode='RedPawn4toField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedPawn4PlaneSensorfromField='translation_changedtoNode='RedPawn4toField='set_translation'/>
</Group>
</Transform>
<!-- RedPawn5 ROUTEs:  [from RedPawn5PathInterpolator.value_changed to set_rotation ] [from RedPawn5PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn5translation='0 0 -3'>
<Group USE='redpawn'/>
<!-- RedPawn5TouchSensor ROUTE:  [from isOver to REDPAWN5CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn5TouchSensor'/>
<!-- REDPAWN5CLOCK ROUTEs:  [from RedPawn5TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn5PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN5CLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedPawn5PathInterpolator ROUTEs:  [from REDPAWN5CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn5.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn5PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedPawn5PlaneSensor ROUTE:  [from translation_changed to RedPawn5.set_translation ] -->
<PlaneSensor DEF='RedPawn5PlaneSensormaxPosition='3 4minPosition='-4 -4offset='0 -2 -2'/>
<Group>
<ROUTE fromNode='RedPawn5TouchSensorfromField='isOvertoNode='REDPAWN5CLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDPAWN5CLOCKfromField='fraction_changedtoNode='RedPawn5PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedPawn5PathInterpolatorfromField='value_changedtoNode='RedPawn5toField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedPawn5PlaneSensorfromField='translation_changedtoNode='RedPawn5toField='set_translation'/>
</Group>
</Transform>
<!-- RedPawn6 ROUTEs:  [from RedPawn6PathInterpolator.value_changed to set_rotation ] [from RedPawn6PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn6translation='1 0 -3'>
<Group USE='redpawn'/>
<!-- RedPawn6TouchSensor ROUTE:  [from isOver to REDPAWN6CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn6TouchSensor'/>
<!-- REDPAWN6CLOCK ROUTEs:  [from RedPawn6TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn6PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN6CLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedPawn6PathInterpolator ROUTEs:  [from REDPAWN6CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn6.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn6PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedPawn6PlaneSensor ROUTE:  [from translation_changed to RedPawn6.set_translation ] -->
<PlaneSensor DEF='RedPawn6PlaneSensormaxPosition='3 4minPosition='-4 -4offset='1 1 -1'/>
<Group>
<ROUTE fromNode='RedPawn6TouchSensorfromField='isOvertoNode='REDPAWN6CLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDPAWN6CLOCKfromField='fraction_changedtoNode='RedPawn6PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedPawn6PathInterpolatorfromField='value_changedtoNode='RedPawn6toField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedPawn6PlaneSensorfromField='translation_changedtoNode='RedPawn6toField='set_translation'/>
</Group>
</Transform>
<!-- RedPawn7 ROUTEs:  [from RedPawn7PathInterpolator.value_changed to set_rotation ] [from RedPawn7PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn7translation='2 0 -3'>
<Group USE='redpawn'/>
<!-- RedPawn7TouchSensor ROUTE:  [from isOver to REDPAWN7CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn7TouchSensor'/>
<!-- REDPAWN7CLOCK ROUTEs:  [from RedPawn7TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn7PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN7CLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedPawn7PathInterpolator ROUTEs:  [from REDPAWN7CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn7.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn7PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedPawn7PlaneSensor ROUTE:  [from translation_changed to RedPawn7.set_translation ] -->
<PlaneSensor DEF='RedPawn7PlaneSensormaxPosition='3 4minPosition='-4 -4offset='2 1 -1'/>
<Group>
<ROUTE fromNode='RedPawn7TouchSensorfromField='isOvertoNode='REDPAWN7CLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDPAWN7CLOCKfromField='fraction_changedtoNode='RedPawn7PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedPawn7PathInterpolatorfromField='value_changedtoNode='RedPawn7toField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedPawn7PlaneSensorfromField='translation_changedtoNode='RedPawn7toField='set_translation'/>
</Group>
</Transform>
<!-- RedPawn8 ROUTEs:  [from RedPawn8PathInterpolator.value_changed to set_rotation ] [from RedPawn8PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn8translation='3 0 -3'>
<Group USE='redpawn'/>
<!-- RedPawn8TouchSensor ROUTE:  [from isOver to REDPAWN8CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn8TouchSensor'/>
<!-- REDPAWN8CLOCK ROUTEs:  [from RedPawn8TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn8PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN8CLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedPawn8PathInterpolator ROUTEs:  [from REDPAWN8CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn8.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn8PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedPawn8PlaneSensor ROUTE:  [from translation_changed to RedPawn8.set_translation ] -->
<PlaneSensor DEF='RedPawn8PlaneSensormaxPosition='3 4minPosition='-4 -4offset='3 0 -2'/>
<Group>
<ROUTE fromNode='RedPawn8TouchSensorfromField='isOvertoNode='REDPAWN8CLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDPAWN8CLOCKfromField='fraction_changedtoNode='RedPawn8PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedPawn8PathInterpolatorfromField='value_changedtoNode='RedPawn8toField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedPawn8PlaneSensorfromField='translation_changedtoNode='RedPawn8toField='set_translation'/>
</Group>
</Transform>
<!-- RedCastle1 ROUTEs:  [from RedCastle1PathInterpolator.value_changed to set_rotation ] [from RedCastle1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedCastle1translation='-4 0 -4'>
<Group>
<Group USE='redpiecebase'/>
<Group>
<Transform translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE='Red'/>
</Shape>
</Transform>
<Transform rotation='0 1 0 0.52translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE='Red'/>
</Shape>
</Transform>
<Transform rotation='0 1 0 1.04translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE='Red'/>
</Shape>
</Transform>
</Group>
</Group>
<!-- RedCastle1TouchSensor ROUTE:  [from isOver to REDCASTLE1CLOCK.set_enabled ] -->
<TouchSensor DEF='RedCastle1TouchSensor'/>
<!-- REDCASTLE1CLOCK ROUTEs:  [from RedCastle1TouchSensor.isOver to set_enabled ] [from fraction_changed to RedCastle1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDCASTLE1CLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedCastle1PathInterpolator ROUTEs:  [from REDCASTLE1CLOCK.fraction_changed to set_fraction ] [from value_changed to RedCastle1.set_rotation ] -->
<OrientationInterpolator DEF='RedCastle1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedCastle1PlaneSensor ROUTE:  [from translation_changed to RedCastle1.set_translation ] -->
<PlaneSensor DEF='RedCastle1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-4 3 -4'/>
<Group>
<ROUTE fromNode='RedCastle1TouchSensorfromField='isOvertoNode='REDCASTLE1CLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDCASTLE1CLOCKfromField='fraction_changedtoNode='RedCastle1PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedCastle1PathInterpolatorfromField='value_changedtoNode='RedCastle1toField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedCastle1PlaneSensorfromField='translation_changedtoNode='RedCastle1toField='set_translation'/>
</Group>
</Transform>
<!-- RedKnight1 ROUTEs:  [from RedKnight1PathInterpolator.value_changed to set_rotation ] [from RedKnight1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedKnight1translation='-3 0 -4'>
<Group>
<Group USE='redpiecebase'/>
<Transform translation='0 0.45 0'>
<Shape>
<Cylinder height='0.45radius='0.125'/>
<Appearance USE='Red'/>
</Shape>
</Transform>
<Transform rotation='1 0 0 5.27translation='0 0.55 0.075'>
<Shape>
<Cone bottomRadius='0.1height='0.4'/>
<Appearance USE='Red'/>
</Shape>
</Transform>
</Group>
<!-- RedKnight1TouchSensor ROUTE:  [from isOver to REDKNIGHT1CLOCK.set_enabled ] -->
<TouchSensor DEF='RedKnight1TouchSensor'/>
<!-- REDKNIGHT1CLOCK ROUTEs:  [from RedKnight1TouchSensor.isOver to set_enabled ] [from fraction_changed to RedKnight1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDKNIGHT1CLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedKnight1PathInterpolator ROUTEs:  [from REDKNIGHT1CLOCK.fraction_changed to set_fraction ] [from value_changed to RedKnight1.set_rotation ] -->
<OrientationInterpolator DEF='RedKnight1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedKnight1PlaneSensor ROUTE:  [from translation_changed to RedKnight1.set_translation ] -->
<PlaneSensor DEF='RedKnight1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-2 0 -2'/>
<Group>
<ROUTE fromNode='RedKnight1TouchSensorfromField='isOvertoNode='REDKNIGHT1CLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDKNIGHT1CLOCKfromField='fraction_changedtoNode='RedKnight1PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedKnight1PathInterpolatorfromField='value_changedtoNode='RedKnight1toField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedKnight1PlaneSensorfromField='translation_changedtoNode='RedKnight1toField='set_translation'/>
</Group>
</Transform>
<!-- RedBishop1 ROUTEs:  [from RedBishop1PathInterpolator.value_changed to set_rotation ] [from RedBishop1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedBishop1translation='-2 0 -4'>
<Group>
<Group USE='redpiecebase'/>
<Transform translation='0 0.45 0'>
<Shape>
<Cone bottomRadius='.15height='.5'/>
<Appearance USE='Red'/>
</Shape>
</Transform>
</Group>
<!-- RedBishop1TouchSensor ROUTE:  [from isOver to REDBISHOP1CLOCK.set_enabled ] -->
<TouchSensor DEF='RedBishop1TouchSensor'/>
<!-- REDBISHOP1CLOCK ROUTEs:  [from RedBishop1TouchSensor.isOver to set_enabled ] [from fraction_changed to RedBishop1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDBISHOP1CLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedBishop1PathInterpolator ROUTEs:  [from REDBISHOP1CLOCK.fraction_changed to set_fraction ] [from value_changed to RedBishop1.set_rotation ] -->
<OrientationInterpolator DEF='RedBishop1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedBishop1PlaneSensor ROUTE:  [from translation_changed to RedBishop1.set_translation ] -->
<PlaneSensor DEF='RedBishop1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='0 -4 -2'/>
<Group>
<ROUTE fromNode='RedBishop1TouchSensorfromField='isOvertoNode='REDBISHOP1CLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDBISHOP1CLOCKfromField='fraction_changedtoNode='RedBishop1PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedBishop1PathInterpolatorfromField='value_changedtoNode='RedBishop1toField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedBishop1PlaneSensorfromField='translation_changedtoNode='RedBishop1toField='set_translation'/>
</Group>
</Transform>
<!-- RedKing ROUTEs:  [from RedKingPathInterpolator.value_changed to set_rotation ] [from RedKingPlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedKingtranslation='-1 0 -4'>
<Group>
<Group USE='redpiecebase'/>
<Transform translation='0 0.4 0'>
<Shape>
<Cone bottomRadius='.10height='.25'/>
<Appearance USE='Red'/>
</Shape>
</Transform>
<Transform scale='.035 .035 .035translation='0 0.4 0'>
<Shape DEF='RedBolt'>
<IndexedFaceSet convex='falsecoordIndex='0 1 2 3 4 5 6 -1 0 12 11 10 9 8 7 -1 0 7 1 -1 1 7 8 2 -1 2 8 9 3 -1 3 9 10 4 -1 4 10 11 5 -1 5 11 12 6 -1 6 12 0'>
<Coordinate point='0.0 0.0 0.0 5.5 5.0 0.88 4.0 5.5 0.968 7.0 8.0 1.408 4.0 9.0 1.584 1.0 5.0 0.88 2.5 4.5 0.792 5.5 5.0 -0.88 4.0 5.5 -0.968 7.0 8.0 -1.408 4.0 9.0 -1.584 1.0 5.0 -0.88 2.5 4.5 -0.792'/>
</IndexedFaceSet>
<Appearance USE='Red'/>
</Shape>
<Transform rotation='0 1 0 45'>
<Shape USE='RedBolt'/>
</Transform>
<Transform rotation='0 1 0 90'>
<Shape USE='RedBolt'/>
</Transform>
<Transform rotation='0 1 0 135'>
<Shape USE='RedBolt'/>
</Transform>
<Transform rotation='0 1 0 180'>
<Shape USE='RedBolt'/>
</Transform>
<Transform rotation='0 1 0 225'>
<Shape USE='RedBolt'/>
</Transform>
</Transform>
<Transform translation='0 .8 0'>
<Group>
<Shape>
<Box size='.25 .02 .02'/>
<Appearance USE='Red'/>
</Shape>
<Shape>
<Box size='.02 .25 .02'/>
<Appearance USE='Red'/>
</Shape>
<Shape>
<Box size='.02 .02 .25'/>
<Appearance USE='Red'/>
</Shape>
</Group>
</Transform>
</Group>
<!-- RedKingTouchSensor ROUTE:  [from isOver to REDKINGCLOCK.set_enabled ] -->
<TouchSensor DEF='RedKingTouchSensor'/>
<!-- REDKINGCLOCK ROUTEs:  [from RedKingTouchSensor.isOver to set_enabled ] [from fraction_changed to RedKingPathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDKINGCLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedKingPathInterpolator ROUTEs:  [from REDKINGCLOCK.fraction_changed to set_fraction ] [from value_changed to RedKing.set_rotation ] -->
<OrientationInterpolator DEF='RedKingPathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedKingPlaneSensor ROUTE:  [from translation_changed to RedKing.set_translation ] -->
<PlaneSensor DEF='RedKingPlaneSensormaxPosition='3 4minPosition='-4 -4offset='-1 1 -4'/>
<Group>
<ROUTE fromNode='RedKingTouchSensorfromField='isOvertoNode='REDKINGCLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDKINGCLOCKfromField='fraction_changedtoNode='RedKingPathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedKingPathInterpolatorfromField='value_changedtoNode='RedKingtoField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedKingPlaneSensorfromField='translation_changedtoNode='RedKingtoField='set_translation'/>
</Group>
</Transform>
<!-- RedQueen ROUTEs:  [from RedQueenPathInterpolator.value_changed to set_rotation ] [from RedQueenPlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedQueentranslation='0 0 -4'>
<Group>
<Group USE='redpiecebase'/>
<Transform translation='0 0.4 0'>
<Shape>
<Cone bottomRadius='.10height='.25'/>
<Appearance USE='Red'/>
</Shape>
</Transform>
<Transform scale='.035 .035 .035translation='0 0.4 0'>
<Shape USE='RedBolt'/>
<Transform rotation='0 1 0 45'>
<Shape USE='RedBolt'/>
</Transform>
<Transform rotation='0 1 0 90'>
<Shape USE='RedBolt'/>
</Transform>
<Transform rotation='0 1 0 135'>
<Shape USE='RedBolt'/>
</Transform>
<Transform rotation='0 1 0 180'>
<Shape USE='RedBolt'/>
</Transform>
<Transform rotation='0 1 0 225'>
<Shape USE='RedBolt'/>
</Transform>
</Transform>
</Group>
<!-- RedQueenTouchSensor ROUTE:  [from isOver to REDQUEENCLOCK.set_enabled ] -->
<TouchSensor DEF='RedQueenTouchSensor'/>
<!-- REDQUEENCLOCK ROUTEs:  [from RedQueenTouchSensor.isOver to set_enabled ] [from fraction_changed to RedQueenPathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDQUEENCLOCKcycleInterval='4enabled='falseloop='true'/>
<!-- RedQueenPathInterpolator ROUTEs:  [from REDQUEENCLOCK.fraction_changed to set_fraction ] [from value_changed to RedQueen.set_rotation ] -->
<OrientationInterpolator DEF='RedQueenPathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- RedQueenPlaneSensor ROUTE:  [from translation_changed to RedQueen.set_translation ] -->
<PlaneSensor DEF='RedQueenPlaneSensormaxPosition='3 4minPosition='-4 -4offset='0 3 3'/>
<Group>
<ROUTE fromNode='RedQueenTouchSensorfromField='isOvertoNode='REDQUEENCLOCKtoField='set_enabled'/>
<ROUTE fromNode='REDQUEENCLOCKfromField='fraction_changedtoNode='RedQueenPathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RedQueenPathInterpolatorfromField='value_changedtoNode='RedQueentoField='set_rotation'/>
</Group>
<Group>
<ROUTE fromNode='RedQueenPlaneSensorfromField='translation_changedtoNode='RedQueentoField='set_translation'/>
</Group>
</Transform>
<!-- RedBishop2 ROUTEs:  [from RedBishop2PathInterpolator.value_changed to set_rotation ] [from RedBishop2PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedBishop2translation='1 0 -4'>
<Group>
<Group USE='redpiecebase'/>
<Transform translation='0 0.45 0'>
<Shape>
<Cone bottomRadius='.15height='.5'/>
<Appearance>
<Material diffuseColor='1 .25 .25'/>
</Appearance>
</Shape>
</Transform>
</Group>
<!-- RedBishop2TouchSensor ROUTE:  [from isOver to REDBISHOP2CLOCK.set_enabled ] -->
<TouchSensor DEF='RedBishop2TouchSensor'/>
<!-- REDBISHOP2CLOCK ROUTEs:  [from RedBishop2TouchSensor.isOver to set_enabled ] [from fraction_changed to RedBishop2PathInterpolator.