@@ -1697,90 +1697,90 @@ function setupWidgetBlocks(activity) {
16971697 }
16981698
16991699
1700- /**
1700+ /**
17011701 * Represents a block for controlling LEGO brick parameters and visualization.
17021702 * @extends StackClampBlock
17031703 */
1704- class LegoBricksBlock extends StackClampBlock {
1705- constructor ( ) {
1706- super ( "legobricks" ) ;
1707- this . setPalette ( "widgets" , activity ) ;
1708- this . parameter = true ;
1709- this . beginnerBlock ( true ) ;
1710-
1711- this . setHelpString ( [
1712- _ ( "The LEGO Bricks block opens a widget for designing virtual LEGO creations." ) ,
1713- "documentation" ,
1714- null ,
1715- "legobricks"
1716- ] ) ;
1717-
1718- //.TRANS: LEGO bricks designer
1719- this . formBlock ( { name : _ ( "LEGO Bricks" ) , canCollapse : true } ) ;
1720- this . makeMacro ( ( x , y ) => [
1721- [ 0 , "legobricks" , x , y , [ null , 1 , 18 ] ] ,
1722- [ 1 , "pitch" , 0 , 0 , [ 0 , 2 , 3 , 4 ] ] ,
1723- [ 2 , [ "solfege" , { value : "do" } ] , 0 , 0 , [ 1 ] ] ,
1724- [ 3 , [ "number" , { value : 4 } ] , 0 , 0 , [ 1 ] ] ,
1725- [ 4 , "pitch" , 0 , 0 , [ 1 , 5 , 6 , 7 ] ] ,
1726- [ 5 , [ "solfege" , { value : "re" } ] , 0 , 0 , [ 4 ] ] ,
1727- [ 6 , [ "number" , { value : 4 } ] , 0 , 0 , [ 4 ] ] ,
1728- [ 7 , "pitch" , 0 , 0 , [ 4 , 8 , 9 , 10 ] ] ,
1729- [ 8 , [ "solfege" , { value : "mi" } ] , 0 , 0 , [ 7 ] ] ,
1730- [ 9 , [ "number" , { value : 4 } ] , 0 , 0 , [ 7 ] ] ,
1731- [ 10 , "pitch" , 0 , 0 , [ 7 , 11 , 12 , 13 ] ] ,
1732- [ 11 , [ "solfege" , { value : "fa" } ] , 0 , 0 , [ 10 ] ] ,
1733- [ 12 , [ "number" , { value : 4 } ] , 0 , 0 , [ 10 ] ] ,
1734- [ 13 , "pitch" , 0 , 0 , [ 10 , 14 , 15 , 16 ] ] ,
1735- [ 14 , [ "solfege" , { value : "sol" } ] , 0 , 0 , [ 13 ] ] ,
1736- [ 15 , [ "number" , { value : 4 } ] , 0 , 0 , [ 13 ] ] ,
1737- [ 16 , "playdrum" , 0 , 0 , [ 13 , 17 , null ] ] ,
1738- [ 17 , [ "drumname" , { value : "kick drum" } ] , 0 , 0 , [ 16 ] ] ,
1739- [ 18 , "hiddennoflow" , 0 , 0 , [ 0 , null ] ]
1740- ] ) ;
1741- }
1704+ class LegoBricksBlock extends StackClampBlock {
1705+ constructor ( ) {
1706+ super ( "legobricks" ) ;
1707+ this . setPalette ( "widgets" , activity ) ;
1708+ this . parameter = true ;
1709+ this . beginnerBlock ( true ) ;
17421710
1743- /**
1711+ this . setHelpString ( [
1712+ _ ( "The LEGO Bricks block opens a widget for designing virtual LEGO creations." ) ,
1713+ "documentation" ,
1714+ null ,
1715+ "legobricks"
1716+ ] ) ;
1717+
1718+ //.TRANS: LEGO bricks designer
1719+ this . formBlock ( { name : _ ( "LEGO Bricks" ) , canCollapse : true } ) ;
1720+ this . makeMacro ( ( x , y ) => [
1721+ [ 0 , "legobricks" , x , y , [ null , 1 , 18 ] ] ,
1722+ [ 1 , "pitch" , 0 , 0 , [ 0 , 2 , 3 , 4 ] ] ,
1723+ [ 2 , [ "solfege" , { value : "do" } ] , 0 , 0 , [ 1 ] ] ,
1724+ [ 3 , [ "number" , { value : 4 } ] , 0 , 0 , [ 1 ] ] ,
1725+ [ 4 , "pitch" , 0 , 0 , [ 1 , 5 , 6 , 7 ] ] ,
1726+ [ 5 , [ "solfege" , { value : "re" } ] , 0 , 0 , [ 4 ] ] ,
1727+ [ 6 , [ "number" , { value : 4 } ] , 0 , 0 , [ 4 ] ] ,
1728+ [ 7 , "pitch" , 0 , 0 , [ 4 , 8 , 9 , 10 ] ] ,
1729+ [ 8 , [ "solfege" , { value : "mi" } ] , 0 , 0 , [ 7 ] ] ,
1730+ [ 9 , [ "number" , { value : 4 } ] , 0 , 0 , [ 7 ] ] ,
1731+ [ 10 , "pitch" , 0 , 0 , [ 7 , 11 , 12 , 13 ] ] ,
1732+ [ 11 , [ "solfege" , { value : "fa" } ] , 0 , 0 , [ 10 ] ] ,
1733+ [ 12 , [ "number" , { value : 4 } ] , 0 , 0 , [ 10 ] ] ,
1734+ [ 13 , "pitch" , 0 , 0 , [ 10 , 14 , 15 , 16 ] ] ,
1735+ [ 14 , [ "solfege" , { value : "sol" } ] , 0 , 0 , [ 13 ] ] ,
1736+ [ 15 , [ "number" , { value : 4 } ] , 0 , 0 , [ 13 ] ] ,
1737+ [ 16 , "playdrum" , 0 , 0 , [ 13 , 17 , null ] ] ,
1738+ [ 17 , [ "drumname" , { value : "kick drum" } ] , 0 , 0 , [ 16 ] ] ,
1739+ [ 18 , "hiddennoflow" , 0 , 0 , [ 0 , null ] ]
1740+ ] ) ;
1741+ }
1742+
1743+ /**
17441744 * Handles the flow of data for the LEGO bricks block.
17451745 * @param {any[] } args - The arguments passed to the block.
17461746 * @param {object } logo - The logo object.
17471747 * @param {object } turtle - The turtle object.
17481748 * @param {object } blk - The block object.
17491749 * @returns {number[] } - The output values.
17501750 */
1751- flow ( args , logo , turtle , blk ) {
1752- logo . inLegoWidget = true ;
1751+ flow ( args , logo , turtle , blk ) {
1752+ logo . inLegoWidget = true ;
17531753
1754- if ( logo . legoWidget === null ) {
1755- logo . legoWidget = new LegoWidget ( ) ;
1756- }
1757- logo . legoWidget . blockNo = blk ;
1754+ if ( logo . legoWidget === null ) {
1755+ logo . legoWidget = new LegoWidget ( ) ;
1756+ }
1757+ logo . legoWidget . blockNo = blk ;
17581758
1759- logo . legoWidget . rowLabels = [ ] ;
1760- logo . legoWidget . rowArgs = [ ] ;
1761- logo . legoWidget . clearBlocks ( ) ;
1759+ logo . legoWidget . rowLabels = [ ] ;
1760+ logo . legoWidget . rowArgs = [ ] ;
1761+ logo . legoWidget . clearBlocks ( ) ;
17621762
1763- const listenerName = "_legobricks_" + turtle ;
1764- logo . setDispatchBlock ( blk , turtle , listenerName ) ;
1763+ const listenerName = "_legobricks_" + turtle ;
1764+ logo . setDispatchBlock ( blk , turtle , listenerName ) ;
17651765
1766- const __listener = ( ) => {
1767- if ( logo . legoWidget . rowLabels . length === 0 ) {
1768- activity . errorMsg (
1769- _ ( "You must have at least one pitch block in the LEGO bricks widget." ) ,
1770- blk
1771- ) ;
1772- } else {
1773- logo . legoWidget . blockNo = blk ;
1774- logo . legoWidget . init ( activity ) ;
1775- }
1776- logo . inLegoWidget = false ;
1777- } ;
1766+ const __listener = ( ) => {
1767+ if ( logo . legoWidget . rowLabels . length === 0 ) {
1768+ activity . errorMsg (
1769+ _ ( "You must have at least one pitch block in the LEGO bricks widget." ) ,
1770+ blk
1771+ ) ;
1772+ } else {
1773+ logo . legoWidget . blockNo = blk ;
1774+ logo . legoWidget . init ( activity ) ;
1775+ }
1776+ logo . inLegoWidget = false ;
1777+ } ;
17781778
1779- logo . setTurtleListener ( turtle , listenerName , __listener ) ;
1779+ logo . setTurtleListener ( turtle , listenerName , __listener ) ;
17801780
1781- if ( args . length === 1 ) return [ args [ 0 ] , 1 ] ;
1781+ if ( args . length === 1 ) return [ args [ 0 ] , 1 ] ;
1782+ }
17821783 }
1783- }
17841784
17851785
17861786 class AIDebugger extends StackClampBlock {
0 commit comments