kopia lustrzana https://github.com/backface/turtlestitch
				
				
				
			
							rodzic
							
								
									bca3a9d733
								
							
						
					
					
						commit
						93144b59b2
					
				| 
						 | 
				
			
			@ -8,7 +8,7 @@
 | 
			
		|||
        <script type="text/javascript" src="src/symbols.js?version=2020-05-06"></script>
 | 
			
		||||
        <script type="text/javascript" src="src/widgets.js?version=2020-05-06"></script>
 | 
			
		||||
        <script type="text/javascript" src="src/blocks.js?version=2020-05-17"></script>
 | 
			
		||||
        <script type="text/javascript" src="src/threads.js?version=2020-05-20"></script>
 | 
			
		||||
        <script type="text/javascript" src="src/threads.js?version=2020-05-22"></script>
 | 
			
		||||
        <script type="text/javascript" src="src/objects.js?version=2020-05-18"></script>
 | 
			
		||||
        <script type="text/javascript" src="src/gui.js?version=2020-05-18"></script>
 | 
			
		||||
        <script type="text/javascript" src="src/paint.js?version=2020-05-17"></script>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -61,7 +61,7 @@ StageMorph, SpriteMorph, StagePrompterMorph, Note, modules, isString, copy, Map,
 | 
			
		|||
isNil, WatcherMorph, List, ListWatcherMorph, alert, console, TableMorph, Color,
 | 
			
		||||
TableFrameMorph, ColorSlotMorph, isSnapObject, newCanvas, Symbol, SVG_Costume*/
 | 
			
		||||
 | 
			
		||||
modules.threads = '2020-May-20';
 | 
			
		||||
modules.threads = '2020-May-22';
 | 
			
		||||
 | 
			
		||||
var ThreadManager;
 | 
			
		||||
var Process;
 | 
			
		||||
| 
						 | 
				
			
			@ -2108,6 +2108,55 @@ Process.prototype.reportIfElse = function (block) {
 | 
			
		|||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* experimental hyper version, under construction, commented out for now
 | 
			
		||||
 | 
			
		||||
Process.prototype.reportHyperIfElse = function (block) {
 | 
			
		||||
    var inputs = this.context.inputs;
 | 
			
		||||
 | 
			
		||||
    if (inputs.length < 1) {
 | 
			
		||||
        this.evaluateNextInput(block);
 | 
			
		||||
    } else if (inputs.length > 1) {
 | 
			
		||||
        if (this.flashContext()) {return; }
 | 
			
		||||
        if (inputs[0] instanceof List) {
 | 
			
		||||
            if (inputs.length < 3) {
 | 
			
		||||
                this.evaluateNextInput(block);
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            this.returnValueToParentContext(
 | 
			
		||||
                this.reportBaseIfElse(inputs[0], inputs[1], inputs[2])
 | 
			
		||||
            );
 | 
			
		||||
            this.popContext();
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        this.returnValueToParentContext(inputs.pop());
 | 
			
		||||
        this.popContext();
 | 
			
		||||
    } else {
 | 
			
		||||
        if (inputs[0] instanceof List) {
 | 
			
		||||
            this.evaluateNextInput(block);
 | 
			
		||||
        } else {
 | 
			
		||||
            this.assertType(inputs[0], ['Boolean']);
 | 
			
		||||
            if (inputs[0]) {
 | 
			
		||||
                this.evaluateNextInput(block);
 | 
			
		||||
            } else {
 | 
			
		||||
                inputs.push(null);
 | 
			
		||||
                this.evaluateNextInput(block);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
Process.prototype.reportBaseIfElse = function (conditions, tCase, fCase) {
 | 
			
		||||
    return conditions.map(test => {
 | 
			
		||||
        if (test instanceof List) {
 | 
			
		||||
            return this.reportHyperIfElse(test, tCase, fCase);
 | 
			
		||||
        } else {
 | 
			
		||||
            this.assertType(test, ['Boolean']);
 | 
			
		||||
            return test ? tCase : fCase;
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
// Process process related primitives
 | 
			
		||||
 | 
			
		||||
Process.prototype.doStop = function () {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue