conway.java.drl

来自「drools 一个开放源码的规则引擎」· DRL 代码 · 共 48 行

DRL
48
字号
<?xml version="1.0"?>

<rule-set name="conway"
    xmlns="http://drools.org/rules"
    xmlns:java="http://drools.org/semantics/java"
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
    xs:schemaLocation="http://drools.org/rules rules.xsd
                       http://drools.org/semantics/java java.xsd">

    <import>org.drools.examples.conway.Cell</import>
    <import>org.drools.examples.conway.CellState</import>

    <rule name="Kill The Lonely">
        <parameter identifier="cell">
            <class>Cell</class>
        </parameter>

        <java:condition>cell.getCellState() == CellState.LIVE</java:condition>
        <java:condition>cell.getNumberOfLiveNeighbors() &lt; 2</java:condition>
        <java:consequence>
          cell.queueNextCellState(CellState.DEAD);
        </java:consequence>
    </rule>

    <rule name="Kill The Overcrowded">
        <parameter identifier="cell">
            <class>Cell</class>
        </parameter>

        <java:condition>cell.getCellState() == CellState.LIVE</java:condition>
        <java:condition>cell.getNumberOfLiveNeighbors() &gt; 3</java:condition>
        <java:consequence>
          cell.queueNextCellState(CellState.DEAD);
        </java:consequence>
    </rule>

    <rule name="Give Birth">
        <parameter identifier="cell">
            <class>Cell</class>
        </parameter>

        <java:condition>cell.getCellState() == CellState.DEAD</java:condition>
        <java:condition>cell.getNumberOfLiveNeighbors() == 3</java:condition>
        <java:consequence>
          cell.queueNextCellState(CellState.LIVE);
        </java:consequence>
    </rule>
</rule-set>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?