'From etoys3.0 of 24 February 2008 [latest update: #1922] on 16 March 2008 at 4:39:56 am'! "Change Set: KedamaTilesRefactoring-yo Date: 16 March 2008 Author: Yoshiki Ohshima Clean up a bit around Kedama tiles."! !CategoryViewer methodsFor: 'support' stamp: 'yo 3/16/2008 04:33'! booleanPhraseForBounceOnOfType: retrieverType retrieverOp: retrieverOp player: aPlayer "Answer a boolean-valued phrase derived from a retriever (e.g. 'car's heading'); this is in order to assure that tiles laid down in a TEST area will indeed produce a boolean result" | outerPhrase getterPhrase receiverTile rel finalTile | rel _ (Vocabulary vocabularyForType: retrieverType) comparatorForSampleBoolean. outerPhrase _ PhraseTileMorph new setOperator: rel type: #Boolean rcvrType: retrieverType argType: retrieverType. getterPhrase _ PhraseTileMorph new setBounceOnOperator: retrieverOp type: retrieverType rcvrType: #Player argType: nil. getterPhrase submorphs second setSlotRefOperator: retrieverOp. getterPhrase submorphs first changeTableLayout. receiverTile _ aPlayer tileToRefer bePossessive. "self halt." receiverTile position: getterPhrase firstSubmorph position. getterPhrase firstSubmorph addMorph: receiverTile. outerPhrase firstSubmorph addMorph: getterPhrase. finalTile _ ScriptingSystem tileForArgType: retrieverType. "comes with arrows" outerPhrase submorphs last addMorph: finalTile. outerPhrase submorphs second submorphs last setBalloonText: (ScriptingSystem helpStringForOperator: rel). ^ outerPhrase! ! !CategoryViewer methodsFor: 'support' stamp: 'yo 3/16/2008 04:34'! booleanPhraseForGetAngleToOfType: retrieverType retrieverOp: retrieverOp player: aPlayer "Answer a boolean-valued phrase derived from a retriever (e.g. 'car's heading'); this is in order to assure that tiles laid down in a TEST area will indeed produce a boolean result" | outerPhrase getterPhrase receiverTile rel finalTile | rel _ (Vocabulary vocabularyForType: retrieverType) comparatorForSampleBoolean. outerPhrase _ PhraseTileMorph new setOperator: rel type: #Boolean rcvrType: retrieverType argType: retrieverType. getterPhrase _ PhraseTileMorph new setAngleToOperator: retrieverOp type: retrieverType rcvrType: #Player argType: nil. getterPhrase submorphs second setSlotRefOperator: retrieverOp. getterPhrase submorphs second setArgumentDefaultTo: scriptedPlayer. getterPhrase submorphs first changeTableLayout. receiverTile _ aPlayer tileToRefer bePossessive. receiverTile position: getterPhrase firstSubmorph position. getterPhrase firstSubmorph addMorph: receiverTile. outerPhrase firstSubmorph addMorph: getterPhrase. finalTile _ ScriptingSystem tileForArgType: retrieverType. "comes with arrows" outerPhrase submorphs last addMorph: finalTile. outerPhrase submorphs second submorphs last setBalloonText: (ScriptingSystem helpStringForOperator: rel). ^ outerPhrase! ! !CategoryViewer methodsFor: 'support' stamp: 'yo 3/16/2008 04:34'! booleanPhraseForGetColorComponentOfType: retrieverType componentName: componentName retrieverOp: retrieverOp player: aPlayer "Answer a boolean-valued phrase derived from a retriever (e.g. 'car's heading'); this is in order to assure that tiles laid down in a TEST area will indeed produce a boolean result" | outerPhrase getterPhrase receiverTile rel finalTile | rel _ (Vocabulary vocabularyForType: retrieverType) comparatorForSampleBoolean. outerPhrase _ PhraseTileMorph new setOperator: rel type: #Boolean rcvrType: retrieverType argType: retrieverType. getterPhrase _ PhraseTileMorph new setGetColorComponentOperator: retrieverOp componentName: componentName type: retrieverType rcvrType: #Player argType: nil. getterPhrase submorphs second setSlotRefOperator: retrieverOp. getterPhrase submorphs second setPatchDefaultTo: (scriptedPlayer defaultPatchPlayer). getterPhrase submorphs first changeTableLayout. receiverTile _ aPlayer tileToRefer bePossessive. "self halt." receiverTile position: getterPhrase firstSubmorph position. getterPhrase firstSubmorph addMorph: receiverTile. outerPhrase firstSubmorph addMorph: getterPhrase. finalTile _ ScriptingSystem tileForArgType: retrieverType. "comes with arrows" outerPhrase submorphs last addMorph: finalTile. outerPhrase submorphs second submorphs last setBalloonText: (ScriptingSystem helpStringForOperator: rel). ^ outerPhrase! ! !CategoryViewer methodsFor: 'support' stamp: 'yo 3/16/2008 04:34'! booleanPhraseForGetDistanceToOfType: retrieverType retrieverOp: retrieverOp player: aPlayer "Answer a boolean-valued phrase derived from a retriever (e.g. 'car's heading'); this is in order to assure that tiles laid down in a TEST area will indeed produce a boolean result" | outerPhrase getterPhrase receiverTile rel finalTile | rel _ (Vocabulary vocabularyForType: retrieverType) comparatorForSampleBoolean. outerPhrase _ PhraseTileMorph new setOperator: rel type: #Boolean rcvrType: retrieverType argType: retrieverType. getterPhrase _ PhraseTileMorph new setDistanceToOperator: retrieverOp type: retrieverType rcvrType: #Player argType: nil. getterPhrase submorphs second setSlotRefOperator: retrieverOp. getterPhrase submorphs second setArgumentDefaultTo: scriptedPlayer. getterPhrase submorphs first changeTableLayout. receiverTile _ aPlayer tileToRefer bePossessive. "self halt." receiverTile position: getterPhrase firstSubmorph position. getterPhrase firstSubmorph addMorph: receiverTile. outerPhrase firstSubmorph addMorph: getterPhrase. finalTile _ ScriptingSystem tileForArgType: retrieverType. "comes with arrows" outerPhrase submorphs last addMorph: finalTile. outerPhrase submorphs second submorphs last setBalloonText: (ScriptingSystem helpStringForOperator: rel). ^ outerPhrase! ! !CategoryViewer methodsFor: 'support' stamp: 'yo 3/16/2008 04:30'! booleanPhraseForGetPatchValueOfType: retrieverType retrieverOp: retrieverOp player: aPlayer "Answer a boolean-valued phrase derived from a retriever (e.g. 'car's heading'); this is in order to assure that tiles laid down in a TEST area will indeed produce a boolean result" | outerPhrase getterPhrase receiverTile rel finalTile | rel _ (Vocabulary vocabularyForType: retrieverType) comparatorForSampleBoolean. outerPhrase _ PhraseTileMorph new setOperator: rel type: #Boolean rcvrType: retrieverType argType: retrieverType. getterPhrase _ PhraseTileMorph new setGetPixelOperator: retrieverOp type: retrieverType rcvrType: #Player argType: nil. getterPhrase submorphs second setSlotRefOperator: retrieverOp. getterPhrase submorphs second setArgumentDefaultTo: (scriptedPlayer defaultPatchPlayer). getterPhrase submorphs first changeTableLayout. receiverTile _ aPlayer tileToRefer bePossessive. "self halt." receiverTile position: getterPhrase firstSubmorph position. getterPhrase firstSubmorph addMorph: receiverTile. outerPhrase firstSubmorph addMorph: getterPhrase. finalTile _ ScriptingSystem tileForArgType: retrieverType. "comes with arrows" outerPhrase submorphs last addMorph: finalTile. outerPhrase submorphs second submorphs last setBalloonText: (ScriptingSystem helpStringForOperator: rel). ^ outerPhrase! ! !CategoryViewer methodsFor: 'support' stamp: 'yo 3/16/2008 04:34'! booleanPhraseForGetTurtleOfOfType: retrieverType retrieverOp: retrieverOp player: aPlayer "Answer a boolean-valued phrase derived from a retriever (e.g. 'car's heading'); this is in order to assure that tiles laid down in a TEST area will indeed produce a boolean result" | outerPhrase getterPhrase receiverTile rel finalTile | rel _ (Vocabulary vocabularyForType: retrieverType) comparatorForSampleBoolean. outerPhrase _ PhraseTileMorph new setOperator: rel type: #Boolean rcvrType: retrieverType argType: retrieverType. getterPhrase _ PhraseTileMorph new setTurtleOfOperator: retrieverOp type: retrieverType rcvrType: #Player argType: nil. getterPhrase submorphs second setSlotRefOperator: retrieverOp. getterPhrase submorphs first changeTableLayout. receiverTile _ aPlayer tileToRefer bePossessive. "self halt." receiverTile position: getterPhrase firstSubmorph position. getterPhrase firstSubmorph addMorph: receiverTile. outerPhrase firstSubmorph addMorph: getterPhrase. finalTile _ ScriptingSystem tileForArgType: retrieverType. "comes with arrows" outerPhrase submorphs last addMorph: finalTile. outerPhrase submorphs second submorphs last setBalloonText: (ScriptingSystem helpStringForOperator: rel). ^ outerPhrase! ! !CategoryViewer methodsFor: 'support' stamp: 'yo 3/16/2008 04:34'! booleanPhraseForGetUpHillOfType: retrieverType retrieverOp: retrieverOp player: aPlayer "Answer a boolean-valued phrase derived from a retriever (e.g. 'car's heading'); this is in order to assure that tiles laid down in a TEST area will indeed produce a boolean result" | outerPhrase getterPhrase receiverTile rel finalTile | rel _ (Vocabulary vocabularyForType: retrieverType) comparatorForSampleBoolean. outerPhrase _ PhraseTileMorph new setOperator: rel type: #Boolean rcvrType: retrieverType argType: retrieverType. getterPhrase _ PhraseTileMorph new setUpHillOperator: retrieverOp type: retrieverType rcvrType: #Player argType: nil. getterPhrase submorphs second setSlotRefOperator: retrieverOp. getterPhrase submorphs second setArgumentDefaultTo: (scriptedPlayer defaultPatchPlayer). getterPhrase submorphs first changeTableLayout. receiverTile _ aPlayer tileToRefer bePossessive. "self halt." receiverTile position: getterPhrase firstSubmorph position. getterPhrase firstSubmorph addMorph: receiverTile. outerPhrase firstSubmorph addMorph: getterPhrase. finalTile _ ScriptingSystem tileForArgType: retrieverType. "comes with arrows" outerPhrase submorphs last addMorph: finalTile. outerPhrase submorphs second submorphs last setBalloonText: (ScriptingSystem helpStringForOperator: rel). ^ outerPhrase! ! !PhraseTileMorph methodsFor: 'initialization' stamp: 'yo 3/16/2008 04:33'! setAngleToOperator: opSymbol type: opType rcvrType: rcvrType argType: argType "Set the operator, type, receiver type, and argument type for the phrase" | aTileMorph | resultType _ opType. opType ifNotNil: [self color: (ScriptingSystem colorForType: opType)]. self removeAllMorphs. self addMorph: (TilePadMorph new setType: rcvrType). aTileMorph _ TileCommandWithArgumentMorph newKedamaAngleToTile. aTileMorph adoptVocabulary: self currentVocabulary. self addMorphBack: ((aTileMorph setOperator: opSymbol asString) typeColor: color). ! ! !PhraseTileMorph methodsFor: 'initialization' stamp: 'yo 3/16/2008 04:33'! setBounceOnOperator: opSymbol type: opType rcvrType: rcvrType argType: argType "Set the operator, type, receiver type, and argument type for the phrase" | aTileMorph | resultType _ opType. opType ifNotNil: [self color: (ScriptingSystem colorForType: opType)]. self removeAllMorphs. self addMorph: (TilePadMorph new setType: rcvrType). aTileMorph _ TileCommandWithArgumentMorph newKedamaBounceOnTile. aTileMorph adoptVocabulary: self currentVocabulary. self addMorphBack: ((aTileMorph setOperator: opSymbol asString) typeColor: color). ! ! !PhraseTileMorph methodsFor: 'initialization' stamp: 'yo 3/16/2008 04:34'! setDistanceToOperator: opSymbol type: opType rcvrType: rcvrType argType: argType "Set the operator, type, receiver type, and argument type for the phrase" | aTileMorph | resultType _ opType. opType ifNotNil: [self color: (ScriptingSystem colorForType: opType)]. self removeAllMorphs. self addMorph: (TilePadMorph new setType: rcvrType). aTileMorph _ TileCommandWithArgumentMorph newKedamaDistanceToTile. aTileMorph adoptVocabulary: self currentVocabulary. self addMorphBack: ((aTileMorph setOperator: opSymbol asString) typeColor: color). ! ! !PhraseTileMorph methodsFor: 'initialization' stamp: 'yo 3/16/2008 04:34'! setGetColorComponentOperator: opSymbol componentName: componentName type: opType rcvrType: rcvrType argType: argType "Set the operator, type, receiver type, and argument type for the phrase" | aTileMorph | resultType _ opType. opType ifNotNil: [self color: (ScriptingSystem colorForType: opType)]. self removeAllMorphs. self addMorph: (TilePadMorph new setType: rcvrType). aTileMorph _ KedamaGetColorComponentTile new adoptVocabulary: self currentVocabulary. aTileMorph componentName: componentName. self addMorphBack: ((aTileMorph setOperator: opSymbol asString) typeColor: color). ! ! !PhraseTileMorph methodsFor: 'initialization' stamp: 'yo 3/16/2008 04:30'! setGetPixelOperator: opSymbol type: opType rcvrType: rcvrType argType: argType "Set the operator, type, receiver type, and argument type for the phrase" | aTileMorph | resultType _ opType. opType ifNotNil: [self color: (ScriptingSystem colorForType: opType)]. self removeAllMorphs. self addMorph: (TilePadMorph new setType: rcvrType). aTileMorph _ TileCommandWithArgumentMorph newKedamaGetPatchValueTile. aTileMorph adoptVocabulary: self currentVocabulary. self addMorphBack: ((aTileMorph setOperator: opSymbol asString) typeColor: color). ! ! !PhraseTileMorph methodsFor: 'initialization' stamp: 'yo 3/16/2008 04:34'! setTurtleOfOperator: opSymbol type: opType rcvrType: rcvrType argType: argType "Set the operator, type, receiver type, and argument type for the phrase" | aTileMorph | resultType _ opType. opType ifNotNil: [self color: (ScriptingSystem colorForType: opType)]. self removeAllMorphs. self addMorph: (TilePadMorph new setType: rcvrType). aTileMorph _ TileCommandWithArgumentMorph newKedamaGetTurtleOfTile. aTileMorph adoptVocabulary: self currentVocabulary. self addMorphBack: ((aTileMorph setOperator: opSymbol asString) typeColor: color). ! ! !PhraseTileMorph methodsFor: 'initialization' stamp: 'yo 3/16/2008 04:34'! setUpHillOperator: opSymbol type: opType rcvrType: rcvrType argType: argType "Set the operator, type, receiver type, and argument type for the phrase" | aTileMorph | resultType _ opType. opType ifNotNil: [self color: (ScriptingSystem colorForType: opType)]. self removeAllMorphs. self addMorph: (TilePadMorph new setType: rcvrType). aTileMorph _ TileCommandWithArgumentMorph newKedamaGetUpHillTile. aTileMorph adoptVocabulary: self currentVocabulary. self addMorphBack: ((aTileMorph setOperator: opSymbol asString) typeColor: color). ! !