From b01ce7b44877aef0128a8f7ae781651333f5b215 Mon Sep 17 00:00:00 2001 From: Secret-chest <74449186+Secret-chest@users.noreply.github.com> Date: Wed, 23 Nov 2022 18:44:24 +0200 Subject: [PATCH] Add "if ... then else ..." block support (#51) --- assets/project.json | 2 +- block.py | 1 + config.py | 2 +- main.py | 2 +- projects/ChangeColourWithElse.sb3 | Bin 0 -> 41835 bytes scratch.py | 43 +++++++++++++++++++++++++++++- 6 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 projects/ChangeColourWithElse.sb3 diff --git a/assets/project.json b/assets/project.json index 829597d..3f8329b 100644 --- a/assets/project.json +++ b/assets/project.json @@ -1 +1 @@ -{"targets":[{"isStage":true,"name":"Stage","variables":{"`jEk@4|i[#Fk?(8x)AV.-my variable":["variabila mea",0]},"lists":{},"broadcasts":{},"blocks":{},"comments":{},"currentCostume":0,"costumes":[{"name":"decor1","dataFormat":"svg","assetId":"cd21514d0531fdffb22204e0ec5ed84a","md5ext":"cd21514d0531fdffb22204e0ec5ed84a.svg","rotationCenterX":240,"rotationCenterY":180}],"sounds":[{"name":"pop","assetId":"83a9787d4cb6f3b7632b4ddfebf74367","dataFormat":"wav","format":"","rate":44100,"sampleCount":1032,"md5ext":"83a9787d4cb6f3b7632b4ddfebf74367.wav"}],"volume":100,"layerOrder":0,"tempo":60,"videoTransparency":50,"videoState":"on","textToSpeechLanguage":"ro"},{"isStage":false,"name":"Personaj1","variables":{},"lists":{},"broadcasts":{},"blocks":{"i0sF-x|[yQ-#%j@rU%f,":{"opcode":"event_whenflagclicked","next":")u+B7H(M9g25%Em.w=5;","parent":null,"inputs":{},"fields":{},"shadow":false,"topLevel":true,"x":360,"y":168},")u+B7H(M9g25%Em.w=5;":{"opcode":"control_forever","next":null,"parent":"i0sF-x|[yQ-#%j@rU%f,","inputs":{"SUBSTACK":[2,"/B0dn4qYH?K,.K9rc;A`"]},"fields":{},"shadow":false,"topLevel":false},"/B0dn4qYH?K,.K9rc;A`":{"opcode":"control_if","next":"|LMd9D?RO[2$-2d9tSaH","parent":")u+B7H(M9g25%Em.w=5;","inputs":{"CONDITION":[2,"#Uk8A~y8%JVMqn}NHx[`"],"SUBSTACK":[2,"oh,d/q]c)nT*MAUu,[S@"]},"fields":{},"shadow":false,"topLevel":false},"#Uk8A~y8%JVMqn}NHx[`":{"opcode":"sensing_keypressed","next":null,"parent":"/B0dn4qYH?K,.K9rc;A`","inputs":{"KEY_OPTION":[1,"DNHO5a8nfKM+34^x:43}"]},"fields":{},"shadow":false,"topLevel":false},"DNHO5a8nfKM+34^x:43}":{"opcode":"sensing_keyoptions","next":null,"parent":"#Uk8A~y8%JVMqn}NHx[`","inputs":{},"fields":{"KEY_OPTION":["space",null]},"shadow":true,"topLevel":false},"oh,d/q]c)nT*MAUu,[S@":{"opcode":"looks_switchcostumeto","next":null,"parent":"/B0dn4qYH?K,.K9rc;A`","inputs":{"COSTUME":[1,"R^t{wX)}j(l,vXrOTX(g"]},"fields":{},"shadow":false,"topLevel":false},"R^t{wX)}j(l,vXrOTX(g":{"opcode":"looks_costume","next":null,"parent":"oh,d/q]c)nT*MAUu,[S@","inputs":{},"fields":{"COSTUME":["costum2",null]},"shadow":true,"topLevel":false},"|LMd9D?RO[2$-2d9tSaH":{"opcode":"control_if","next":null,"parent":"/B0dn4qYH?K,.K9rc;A`","inputs":{"CONDITION":[2,"46_hm$E}C?N}KA=/3@`u"],"SUBSTACK":[2,"[+(oxNIM5(qM,kq~)/=K"]},"fields":{},"shadow":false,"topLevel":false},"w!`lxu[+VTbb!a@:2IFM":{"opcode":"sensing_keypressed","next":null,"parent":"46_hm$E}C?N}KA=/3@`u","inputs":{"KEY_OPTION":[1,"@`Y@ky)Etn+{XJ-{4Vsb"]},"fields":{},"shadow":false,"topLevel":false},"@`Y@ky)Etn+{XJ-{4Vsb":{"opcode":"sensing_keyoptions","next":null,"parent":"w!`lxu[+VTbb!a@:2IFM","inputs":{},"fields":{"KEY_OPTION":["space",null]},"shadow":true,"topLevel":false},"[+(oxNIM5(qM,kq~)/=K":{"opcode":"looks_switchcostumeto","next":null,"parent":"|LMd9D?RO[2$-2d9tSaH","inputs":{"COSTUME":[1,"laZz,h-Z/Z?46wV,!;C*"]},"fields":{},"shadow":false,"topLevel":false},"laZz,h-Z/Z?46wV,!;C*":{"opcode":"looks_costume","next":null,"parent":"[+(oxNIM5(qM,kq~)/=K","inputs":{},"fields":{"COSTUME":["costum1",null]},"shadow":true,"topLevel":false},"46_hm$E}C?N}KA=/3@`u":{"opcode":"operator_not","next":null,"parent":"|LMd9D?RO[2$-2d9tSaH","inputs":{"OPERAND":[2,"w!`lxu[+VTbb!a@:2IFM"]},"fields":{},"shadow":false,"topLevel":false}},"comments":{},"currentCostume":0,"costumes":[{"name":"costum1","bitmapResolution":1,"dataFormat":"svg","assetId":"5b8a85774c8c983b993b7d1549b46082","md5ext":"5b8a85774c8c983b993b7d1549b46082.svg","rotationCenterX":47.678985050489445,"rotationCenterY":49.499230353205405},{"name":"costum2","bitmapResolution":1,"dataFormat":"svg","assetId":"1bf03016126b8879eb6228066a9a28a2","md5ext":"1bf03016126b8879eb6228066a9a28a2.svg","rotationCenterX":47.67898252524472,"rotationCenterY":49.49923017660271}],"sounds":[{"name":"Miau","assetId":"83c36d806dc92327b9e7049a565c6bff","dataFormat":"wav","format":"","rate":44100,"sampleCount":37376,"md5ext":"83c36d806dc92327b9e7049a565c6bff.wav"}],"volume":100,"layerOrder":1,"visible":true,"x":0,"y":0,"size":100,"direction":90,"draggable":false,"rotationStyle":"all around"}],"monitors":[],"extensions":[],"meta":{"semver":"3.0.0","vm":"1.2.52","agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"}} \ No newline at end of file +{"targets":[{"isStage":true,"name":"Stage","variables":{"`jEk@4|i[#Fk?(8x)AV.-my variable":["variabila mea",0]},"lists":{},"broadcasts":{},"blocks":{},"comments":{},"currentCostume":0,"costumes":[{"name":"decor1","dataFormat":"svg","assetId":"cd21514d0531fdffb22204e0ec5ed84a","md5ext":"cd21514d0531fdffb22204e0ec5ed84a.svg","rotationCenterX":240,"rotationCenterY":180}],"sounds":[{"name":"pop","assetId":"83a9787d4cb6f3b7632b4ddfebf74367","dataFormat":"wav","format":"","rate":44100,"sampleCount":1032,"md5ext":"83a9787d4cb6f3b7632b4ddfebf74367.wav"}],"volume":100,"layerOrder":0,"tempo":60,"videoTransparency":50,"videoState":"on","textToSpeechLanguage":"ro"},{"isStage":false,"name":"Personaj1","variables":{},"lists":{},"broadcasts":{},"blocks":{"i0sF-x|[yQ-#%j@rU%f,":{"opcode":"event_whenflagclicked","next":")u+B7H(M9g25%Em.w=5;","parent":null,"inputs":{},"fields":{},"shadow":false,"topLevel":true,"x":360,"y":168},")u+B7H(M9g25%Em.w=5;":{"opcode":"control_forever","next":null,"parent":"i0sF-x|[yQ-#%j@rU%f,","inputs":{"SUBSTACK":[2,"|LMd9D?RO[2$-2d9tSaH"]},"fields":{},"shadow":false,"topLevel":false},"|LMd9D?RO[2$-2d9tSaH":{"opcode":"control_if_else","next":"a,Odr3Ov}z^5Jf(!Hu`y","parent":")u+B7H(M9g25%Em.w=5;","inputs":{"CONDITION":[2,"w!`lxu[+VTbb!a@:2IFM"],"SUBSTACK":[2,"[+(oxNIM5(qM,kq~)/=K"],"SUBSTACK2":[2,"8|07x?GC!6r+k@Gn?Ipk"]},"fields":{},"shadow":false,"topLevel":false},"w!`lxu[+VTbb!a@:2IFM":{"opcode":"sensing_keypressed","next":null,"parent":"|LMd9D?RO[2$-2d9tSaH","inputs":{"KEY_OPTION":[1,"@`Y@ky)Etn+{XJ-{4Vsb"]},"fields":{},"shadow":false,"topLevel":false},"@`Y@ky)Etn+{XJ-{4Vsb":{"opcode":"sensing_keyoptions","next":null,"parent":"w!`lxu[+VTbb!a@:2IFM","inputs":{},"fields":{"KEY_OPTION":["space",null]},"shadow":true,"topLevel":false},"[+(oxNIM5(qM,kq~)/=K":{"opcode":"looks_switchcostumeto","next":null,"parent":"|LMd9D?RO[2$-2d9tSaH","inputs":{"COSTUME":[1,"laZz,h-Z/Z?46wV,!;C*"]},"fields":{},"shadow":false,"topLevel":false},"laZz,h-Z/Z?46wV,!;C*":{"opcode":"looks_costume","next":null,"parent":"[+(oxNIM5(qM,kq~)/=K","inputs":{},"fields":{"COSTUME":["costum2",null]},"shadow":true,"topLevel":false},"8|07x?GC!6r+k@Gn?Ipk":{"opcode":"looks_switchcostumeto","next":null,"parent":"|LMd9D?RO[2$-2d9tSaH","inputs":{"COSTUME":[1,"AVNA2_i-lp8Nh=W*Fvdj"]},"fields":{},"shadow":false,"topLevel":false},"AVNA2_i-lp8Nh=W*Fvdj":{"opcode":"looks_costume","next":null,"parent":"8|07x?GC!6r+k@Gn?Ipk","inputs":{},"fields":{"COSTUME":["costum1",null]},"shadow":true,"topLevel":false},"a,Odr3Ov}z^5Jf(!Hu`y":{"opcode":"control_wait","next":null,"parent":"|LMd9D?RO[2$-2d9tSaH","inputs":{"DURATION":[1,[5,"1"]]},"fields":{},"shadow":false,"topLevel":false}},"comments":{},"currentCostume":0,"costumes":[{"name":"costum1","bitmapResolution":1,"dataFormat":"svg","assetId":"5b8a85774c8c983b993b7d1549b46082","md5ext":"5b8a85774c8c983b993b7d1549b46082.svg","rotationCenterX":47.678985050489445,"rotationCenterY":49.499230353205405},{"name":"costum2","bitmapResolution":1,"dataFormat":"svg","assetId":"1bf03016126b8879eb6228066a9a28a2","md5ext":"1bf03016126b8879eb6228066a9a28a2.svg","rotationCenterX":47.67898252524472,"rotationCenterY":49.49923017660271}],"sounds":[{"name":"Miau","assetId":"83c36d806dc92327b9e7049a565c6bff","dataFormat":"wav","format":"","rate":44100,"sampleCount":37376,"md5ext":"83c36d806dc92327b9e7049a565c6bff.wav"}],"volume":100,"layerOrder":1,"visible":true,"x":0,"y":0,"size":100,"direction":90,"draggable":false,"rotationStyle":"all around"}],"monitors":[],"extensions":[],"meta":{"semver":"3.0.0","vm":"1.2.52","agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"}} \ No newline at end of file diff --git a/block.py b/block.py index 73ff6a4..b94365f 100644 --- a/block.py +++ b/block.py @@ -37,6 +37,7 @@ def __init__(self): self.timeDelay = 0 # wait time from the wait block self.target = None # parent self.substack = set() # blocks inside + self.substack2 = set() # only for if then else self.script = set() # blocks below self.screenRefresh = False # do a screen refresh self.inEventLoop = False diff --git a/config.py b/config.py index 50dc3d0..b9577af 100644 --- a/config.py +++ b/config.py @@ -24,7 +24,7 @@ # Project file name # If in test mode, set the Scratch project file to load. -projectFileName: str = "projects/ChangeColour.sb3" +projectFileName: str = "projects/ChangeColourWithElse.sb3" # Download cache size # Number of recent downloaded projects stored. 0 means infinity. diff --git a/main.py b/main.py index 70673c4..95b3914 100644 --- a/main.py +++ b/main.py @@ -19,7 +19,7 @@ along with this program. If not, see . """ -__version__ = "v0.2.0" +__version__ = "v0.4.0" __author__ = "Secret-chest" import tkinter.simpledialog diff --git a/projects/ChangeColourWithElse.sb3 b/projects/ChangeColourWithElse.sb3 new file mode 100644 index 0000000000000000000000000000000000000000..e502930b3f0490cb6f4334b4df705156baf768eb GIT binary patch literal 41835 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 @zVtf}~2QQ8}k)EmZ(V2m-t}M$m{V8oN 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 B!gc@v literal 0 HcmV?d00001 diff --git a/scratch.py b/scratch.py index 5d47c4d..980934c 100644 --- a/scratch.py +++ b/scratch.py @@ -387,11 +387,52 @@ def execute(block, s, events=eventContainer.EventContainer()): block.blockRan = True return nextBlock block.blockRan = True - # TODO why does it hang??? else: block.blockRan = True return s.target.blocks[block.next] + elif opcode == "control_if_else": # if <> then {...} + if block.target.blocks[inputs["CONDITION"][1]].evaluateBlockValue(events): + # If there are blocks, get them + if inputs["SUBSTACK"][1]: + # No blocks will be flagged as ran inside a forever loop + for b in block.substack: + s.target.blocks[b].blockRan = False + nextBlock = s.target.blocks[inputs["SUBSTACK"][1]] + nb = s.target.blocks[inputs["SUBSTACK"][1]] + block.substack.add(nb.blockID) + while nb.next and nb.next not in block.substack: + nb.blockRan = False + nb.waiting = False + nb.timeDelay = 0 + nb.executionTime = 0 + nb = s.target.blocks[nb.next] + block.substack.add(nb.blockID) + nb.next = block.next + block.blockRan = True + return nextBlock + block.blockRan = True + else: + # If there are blocks, get them + if inputs["SUBSTACK2"][1]: + # No blocks will be flagged as ran inside a forever loop + for b in block.substack2: + s.target.blocks[b].blockRan = False + nextBlock = s.target.blocks[inputs["SUBSTACK2"][1]] + nb = s.target.blocks[inputs["SUBSTACK2"][1]] + block.substack2.add(nb.blockID) + while nb.next and nb.next not in block.substack2: + nb.blockRan = False + nb.waiting = False + nb.timeDelay = 0 + nb.executionTime = 0 + nb = s.target.blocks[nb.next] + block.substack2.add(nb.blockID) + nb.next = block.next + block.blockRan = True + return nextBlock + block.blockRan = True + elif opcode == "looks_switchcostumeto": # switch costume to [... v] nextBlock = block.getBlockInputValue("costume") return s.target.blocks[nextBlock]