![]() 图1.猜字游戏运行过程中 |
| <DmRule cond="this._GuessText.Length < 3" name="More than 2 letters" haltAfterThen="true" priority="1000"> <ThenStmts> <DmCdStmt xsi:type="Assignment" left="this._IsCorrect" right="false" /> <DmCdStmt xsi:type="Assignment" left="this._ErrorText" right=""Word must have at least 3 letters"" /> </ThenStmts> </DmRule> |
| <DmRule cond="!this._Game.HasLetters(this._GuessText)" name="Has correct letters" haltAfterThen="true" priority="990"> <ThenStmts> <DmCdStmt xsi:type="Assignment" left="this._IsCorrect" right="false" /> <DmCdStmt xsi:type="Assignment" left="this._ErrorText" right=""Letters not in scrambled word"" /> </ThenStmts> </DmRule> |
| <DmRule cond="this._Game.GuessesMade.Contains(this._GuessText)" name="Already guessed" haltAfterThen="true" priority="980"> <ThenStmts> <DmCdStmt xsi:type="Assignment" left="this._IsCorrect" right="false" /> <DmCdStmt xsi:type="Assignment" left="this._ErrorText" right=""You've already guessed that word"" /> </ThenStmts> </DmRule> |
| <DmRule cond="DictUtil.IsWordInList(this._GuessText)" name="Is in dictionary" haltAfterElse="true" priority="970"> <ThenStmts> <DmCdStmt xsi:type="Assignment" left="this._IsCorrect" right="true" /> </ThenStmts> <ElseStmts> <DmCdStmt xsi:type="Assignment" left="this._IsCorrect" right="false" /> <DmCdStmt xsi:type="Assignment" left="this._ErrorText" right=""Word is not in dictionary"" /> </ElseStmts> </DmRule> |
| <DmRule cond="this._GuessText == this._Game.OriginalWord" name="Guessed original word"> <ThenStmts> <DmCdStmt xsi:type="ExprStmt" expr="this._Game.Complete()"/> <DmCdStmt xsi:type="Assignment" left="this._Score" right="40"/> </ThenStmts> <ElseStmts/> </DmRule> <DmRule cond="this._GuessText != this._Game.OriginalWord && this._GuessText.Length == 6" name="Guessed six-letter word"> <ThenStmts> <DmCdStmt xsi:type="ExprStmt" expr="this._Game.Complete()"/> <DmCdStmt xsi:type="Assignment" left="this._Score" right="25"/> </ThenStmts> <ElseStmts/> </DmRule> <DmRule cond="this._GuessText.Length == 3" name="Score 3-letter"> <ThenStmts> <DmCdStmt xsi:type="Assignment" left="this._Score" right="10"/> </ThenStmts> <ElseStmts/> </DmRule> <DmRule cond="this._GuessText.Length == 4" name="Score 4-letter"> <ThenStmts> <DmCdStmt xsi:type="Assignment" left="this._Score" right="15"/> </ThenStmts> <ElseStmts/> </DmRule> <DmRule cond="this._GuessText.Length == 5" name="Score 5-letter"> <ThenStmts> <DmCdStmt xsi:type="Assignment" left="this._Score" right="20"/> </ThenStmts> <ElseStmts/> </DmRule> |