Skip to content

Commit f7821a7

Browse files
Print name of selected item in inventory
1 parent 0478ceb commit f7821a7

File tree

5 files changed

+78
-4
lines changed

5 files changed

+78
-4
lines changed

.github/makecode/blocks.png

23.9 KB
Loading

.github/makecode/blocksdiff.png

-1.48 KB
Loading

inventory.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,12 @@ namespace Inventory {
603603
new_image.fill(this._inv_background_color);
604604
new_image.drawRect(0, 0, width, height, this._inv_outline_color);
605605
new_image.print(this.text, 2, 2, this._inv_text_color);
606+
if (this.selected < this.items.length && this.selected != -1) {
607+
let text: string = this.items[this.selected].name;
608+
let text_length_px: number = text.length * 6;
609+
let label_x: number = width - 2 - text_length_px;
610+
new_image.print(text, label_x, 2, this._inv_text_color);
611+
}
606612
new_image.drawLine(2, 11, width - 3, 11, this._inv_outline_color);
607613
for (let index = 0; index < this.max_items; index++) {
608614
if (index > this.max_items - 1) {

main.blocks

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ b d 3 2 d 5 5 5 d d d 4 4 . . .
4949
b 5 5 5 5 d d 4 4 4 4 . . . . .
5050
4 d d d 4 4 4 . . . . . . . . .
5151
4 4 4 4 . . . . . . . . . . . .
52-
`</field><data>{"commentRefs":[],"fieldData":{"img":"VE3?jVwcq-dT_3BffU?T"}}</data></shadow></value></block></value></block></value><value name="max_items"><shadow type="math_number" id=";{XJv*oFCG(A8lgxD[xN"><field name="NUM">3</field></shadow></value></block></value><next><block type="Sprite_blockCombine_set" id="U2Z201f5R!=x(ZhOTlHB"><field name="property">Sprite.left@set</field><value name="mySprite"><block type="variables_get" id="E[{41[wBC#oLj%`.VRIq"><field name="VAR" id="%8P,Y?##mLxxx6@=UhAU">toolbar</field></block></value><value name="value"><shadow type="math_number" id="ivw[Wt)/oP%xQr]G9=0;"><field name="NUM">4</field></shadow></value><next><block type="Sprite_blockCombine_set" id="l(j#*`pDE`X%rK]e[3|L"><field name="property">Sprite.bottom@set</field><value name="mySprite"><block type="variables_get" id="|mwBV1q81)Tx{lqf7OQM"><field name="VAR" id="%8P,Y?##mLxxx6@=UhAU">toolbar</field></block></value><value name="value"><block type="math_arithmetic" id=":~#5-/8Dby@q}6+%~0_!"><field name="OP">MINUS</field><value name="A"><shadow type="math_number"><field name="NUM">0</field></shadow><block type="scenescreenheight" id="NUC!|c:qc8|Ah_H-PZR`"/></value><value name="B"><shadow type="math_number" id="X+k0!HwYSIwoCw:t6_bi"><field name="NUM">4</field></shadow></value></block></value><next><block type="variables_set" id="Kq-=*):0s#6OWv~z=koQ"><field name="VAR" id="O5Ms-MSjX1ckdlYxmHl3">inv_contents</field><value name="VALUE"><shadow type="math_number" id=";01CIAdyET|r1C%Mz~DA" disabled="true"><field name="NUM">0</field></shadow><block type="lists_create_with" id="p(B0J%*p~XC:SElB4hYX"><mutation items="0"/></block></value><next><block type="controls_repeat_ext" id="j1l_O;JtRmp2sE}VFEbj"><value name="TIMES"><shadow type="math_whole_number" id="!nS4jz/3)M/(.l#|J!1!"><field name="NUM">30</field></shadow></value><statement name="DO"><block type="array_push" id="MylATnWYLGSva.ri@4aP"><value name="list"><block type="variables_get" id="NEGf/75}%fl3V/?EH?o?"><field name="VAR" id="O5Ms-MSjX1ckdlYxmHl3">inv_contents</field></block></value><value name="value"><block type="Inventory_create_item" id="xg$Ml=),@C?-/5]xsXiq"><mutation xmlns="http://www.w3.org/1999/xhtml" _expanded="0" _input_init="false"></mutation><value name="name"><shadow type="text" id="7K3=hJ}UsuWS@CslxuWc"><field name="TEXT">Apple</field></shadow></value><value name="image"><shadow type="screen_image_picker" id="1ypAW:UuJ0y60RuD~]k0"><field name="img">img`
52+
`</field><data>{"commentRefs":[],"fieldData":{"img":"VE3?jVwcq-dT_3BffU?T"}}</data></shadow></value></block></value></block></value><value name="max_items"><shadow type="math_number" id=";{XJv*oFCG(A8lgxD[xN"><field name="NUM">3</field></shadow></value></block></value><next><block type="Sprite_blockCombine_set" id="U2Z201f5R!=x(ZhOTlHB"><field name="property">Sprite.left@set</field><value name="mySprite"><block type="variables_get" id="E[{41[wBC#oLj%`.VRIq"><field name="VAR" id="%8P,Y?##mLxxx6@=UhAU">toolbar</field></block></value><value name="value"><shadow type="math_number" id="ivw[Wt)/oP%xQr]G9=0;"><field name="NUM">4</field></shadow></value><next><block type="Sprite_blockCombine_set" id="l(j#*`pDE`X%rK]e[3|L"><field name="property">Sprite.bottom@set</field><value name="mySprite"><block type="variables_get" id="|mwBV1q81)Tx{lqf7OQM"><field name="VAR" id="%8P,Y?##mLxxx6@=UhAU">toolbar</field></block></value><value name="value"><block type="math_arithmetic" id=":~#5-/8Dby@q}6+%~0_!"><field name="OP">MINUS</field><value name="A"><shadow type="math_number"><field name="NUM">0</field></shadow><block type="scenescreenheight" id="NUC!|c:qc8|Ah_H-PZR`"/></value><value name="B"><shadow type="math_number" id="X+k0!HwYSIwoCw:t6_bi"><field name="NUM">4</field></shadow></value></block></value><next><block type="variables_set" id="Kq-=*):0s#6OWv~z=koQ"><field name="VAR" id="O5Ms-MSjX1ckdlYxmHl3">inv_contents</field><value name="VALUE"><shadow type="math_number" id=";01CIAdyET|r1C%Mz~DA" disabled="true"><field name="NUM">0</field></shadow><block type="lists_create_with" id="p(B0J%*p~XC:SElB4hYX"><mutation items="0"/></block></value><next><block type="controls_repeat_ext" id="j1l_O;JtRmp2sE}VFEbj"><value name="TIMES"><shadow type="math_whole_number" id="!nS4jz/3)M/(.l#|J!1!"><field name="NUM">30</field></shadow></value><statement name="DO"><block type="array_push" id="MylATnWYLGSva.ri@4aP"><value name="list"><block type="variables_get" id="NEGf/75}%fl3V/?EH?o?"><field name="VAR" id="O5Ms-MSjX1ckdlYxmHl3">inv_contents</field></block></value><value name="value"><block type="array_pickRandom" id="e(}7k@9fZ)DI9wLkP8dV"><value name="list"><block type="lists_create_with" id="izS.5TpGn:Rmjq-_~Flg"><mutation items="3"/><value name="ADD0"><block type="Inventory_create_item" id="xg$Ml=),@C?-/5]xsXiq"><mutation xmlns="http://www.w3.org/1999/xhtml" _expanded="0" _input_init="false"></mutation><value name="name"><shadow type="text" id="7K3=hJ}UsuWS@CslxuWc"><field name="TEXT">Apple</field></shadow></value><value name="image"><shadow type="screen_image_picker" id="1ypAW:UuJ0y60RuD~]k0"><field name="img">img`
5353
. . . . . . . e c 7 . . . . . .
5454
. . . . e e e c 7 7 e e . . . .
5555
. . c e e e e c 7 e 2 2 e e . .
@@ -66,4 +66,38 @@ c e e 2 2 2 2 2 2 2 2 2 2 4 2 e
6666
. . 2 e e 2 2 2 2 2 4 4 2 e . .
6767
. . . 2 2 e e 4 4 4 2 e e . . .
6868
. . . . . 2 2 e e e e . . . . .
69-
`</field><data>{"commentRefs":[],"fieldData":{"img":"1ypAW:UuJ0y60RuD~]k0"}}</data></shadow></value></block></value></block></statement><next><block type="variables_set" id="6*fnw9@VSz6[m|bfgvep"><field name="VAR" id="{5=8(#8[mpRK`SUegF[~">inventory</field><value name="VALUE"><shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"><field name="NUM">0</field></shadow><block type="Inventory_create_inventory" id="e!}NYYxw5}]SAk:)rY(;"><value name="items"><block type="variables_get" id="LQEB#dO[e-;9pM0$_1Z9"><field name="VAR" id="O5Ms-MSjX1ckdlYxmHl3">inv_contents</field></block></value><value name="max_items"><shadow type="math_number" id="u#PGL%1M6q%k,(UL}}wm"><field name="NUM">32</field></shadow></value></block></value><next><block type="Sprite_blockCombine_set" id="1b[P,lbS@A`ddAx@3-No"><field name="property">Sprite.top@set</field><value name="mySprite"><block type="variables_get" id="#Y;O5:@lisQq#8*z.SA#"><field name="VAR" id="{5=8(#8[mpRK`SUegF[~">inventory</field></block></value><value name="value"><shadow type="math_number" id="{D9zZZIi@-mfdtD}#+UX"><field name="NUM">4</field></shadow></value><next><block type="Sprite_blockCombine_set" id=";QnO;`_85r}zr={!EbzJ"><field name="property">Sprite.left@set</field><value name="mySprite"><block type="variables_get" id=";EsAn;RYMrU=KO7jOJuf"><field name="VAR" id="{5=8(#8[mpRK`SUegF[~">inventory</field></block></value><value name="value"><shadow type="math_number" id="IoY1s#NPn/:~H0KGR4t3"><field name="NUM">4</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>
69+
`</field><data>{"commentRefs":[],"fieldData":{"img":"1ypAW:UuJ0y60RuD~]k0"}}</data></shadow></value></block></value><value name="ADD1"><block type="Inventory_create_item" id="f,9Fg0(|_w:drDy1/-4O"><mutation xmlns="http://www.w3.org/1999/xhtml" _expanded="0" _input_init="false"></mutation><value name="name"><shadow type="text" id="1jmUaI^e(wyEa]3IUx{G"><field name="TEXT">Burger</field></shadow></value><value name="image"><shadow type="screen_image_picker" id="I!CG:2hs4v!;yumjkCW@"><field name="img">img`
70+
. . . . c c c b b b b b . . . .
71+
. . c c b 4 4 4 4 4 4 b b b . .
72+
. c c 4 4 4 4 4 5 4 4 4 4 b c .
73+
. e 4 4 4 4 4 4 4 4 4 5 4 4 e .
74+
e b 4 5 4 4 5 4 4 4 4 4 4 4 b c
75+
e b 4 4 4 4 4 4 4 4 4 4 5 4 4 e
76+
e b b 4 4 4 4 4 4 4 4 4 4 4 b e
77+
. e b 4 4 4 4 4 5 4 4 4 4 b e .
78+
8 7 e e b 4 4 4 4 4 4 b e e 6 8
79+
8 7 2 e e e e e e e e e e 2 7 8
80+
e 6 6 2 2 2 2 2 2 2 2 2 2 6 c e
81+
e c 6 7 6 6 7 7 7 6 6 7 6 c c e
82+
e b e 8 8 c c 8 8 c c c 8 e b e
83+
e e b e c c e e e e e c e b e e
84+
. e e b b 4 4 4 4 4 4 4 4 e e .
85+
. . . c c c c c e e e e e . . .
86+
`</field><data>{"commentRefs":[],"fieldData":{"img":"z[_o.mv8Hr9EMcI.M^ud"}}</data></shadow></value></block></value><value name="ADD2"><block type="Inventory_create_item" id="6=Ax|I!oPW!eB?};UDX#"><mutation xmlns="http://www.w3.org/1999/xhtml" _expanded="0" _input_init="false"></mutation><value name="name"><shadow type="text" id="_?kMdb]80DCXoRd4XOOs"><field name="TEXT">Pizza</field></shadow></value><value name="image"><shadow type="screen_image_picker" id="2A4Y2DW!3uS`e}.z.(TX"><field name="img">img`
87+
. . . . . . b b b b . . . . . .
88+
. . . . . . b 4 4 4 b . . . . .
89+
. . . . . . b b 4 4 4 b . . . .
90+
. . . . . b 4 b b b 4 4 b . . .
91+
. . . . b d 5 5 5 4 b 4 4 b . .
92+
. . . . b 3 2 3 5 5 4 e 4 4 b .
93+
. . . b d 2 2 2 5 7 5 4 e 4 4 e
94+
. . . b 5 3 2 3 5 5 5 5 e e e e
95+
. . b d 7 5 5 5 3 2 3 5 5 e e e
96+
. . b 5 5 5 5 5 2 2 2 5 5 d e e
97+
. b 3 2 3 5 7 5 3 2 3 5 d d e 4
98+
. b 2 2 2 5 5 5 5 5 5 d d e 4 .
99+
b d 3 2 d 5 5 5 d d d 4 4 . . .
100+
b 5 5 5 5 d d 4 4 4 4 . . . . .
101+
4 d d d 4 4 4 . . . . . . . . .
102+
4 4 4 4 . . . . . . . . . . . .
103+
`</field><data>{"commentRefs":[],"fieldData":{"img":"VE3?jVwcq-dT_3BffU?T"}}</data></shadow></value></block></value></block></value></block></value></block></statement><next><block type="variables_set" id="6*fnw9@VSz6[m|bfgvep"><field name="VAR" id="{5=8(#8[mpRK`SUegF[~">inventory</field><value name="VALUE"><shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"><field name="NUM">0</field></shadow><block type="Inventory_create_inventory" id="e!}NYYxw5}]SAk:)rY(;"><value name="items"><block type="variables_get" id="LQEB#dO[e-;9pM0$_1Z9"><field name="VAR" id="O5Ms-MSjX1ckdlYxmHl3">inv_contents</field></block></value><value name="max_items"><shadow type="math_number" id="u#PGL%1M6q%k,(UL}}wm"><field name="NUM">32</field></shadow></value></block></value><next><block type="Sprite_blockCombine_set" id="1b[P,lbS@A`ddAx@3-No"><field name="property">Sprite.top@set</field><value name="mySprite"><block type="variables_get" id="#Y;O5:@lisQq#8*z.SA#"><field name="VAR" id="{5=8(#8[mpRK`SUegF[~">inventory</field></block></value><value name="value"><shadow type="math_number" id="{D9zZZIi@-mfdtD}#+UX"><field name="NUM">4</field></shadow></value><next><block type="Sprite_blockCombine_set" id=";QnO;`_85r}zr={!EbzJ"><field name="property">Sprite.left@set</field><value name="mySprite"><block type="variables_get" id=";EsAn;RYMrU=KO7jOJuf"><field name="VAR" id="{5=8(#8[mpRK`SUegF[~">inventory</field></block></value><value name="value"><shadow type="math_number" id="IoY1s#NPn/:~H0KGR4t3"><field name="NUM">4</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>

main.ts

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ toolbar.left = 4
5656
toolbar.bottom = scene.screenHeight() - 4
5757
let inv_contents: Inventory.Item[] = []
5858
for (let index = 0; index < 30; index++) {
59-
inv_contents.push(Inventory.create_item("Apple", img`
59+
inv_contents.push([Inventory.create_item("Apple", img`
6060
. . . . . . . e c 7 . . . . . .
6161
. . . . e e e c 7 7 e e . . . .
6262
. . c e e e e c 7 e 2 2 e e . .
@@ -73,7 +73,41 @@ for (let index = 0; index < 30; index++) {
7373
. . 2 e e 2 2 2 2 2 4 4 2 e . .
7474
. . . 2 2 e e 4 4 4 2 e e . . .
7575
. . . . . 2 2 e e e e . . . . .
76-
`))
76+
`), Inventory.create_item("Burger", img`
77+
. . . . c c c b b b b b . . . .
78+
. . c c b 4 4 4 4 4 4 b b b . .
79+
. c c 4 4 4 4 4 5 4 4 4 4 b c .
80+
. e 4 4 4 4 4 4 4 4 4 5 4 4 e .
81+
e b 4 5 4 4 5 4 4 4 4 4 4 4 b c
82+
e b 4 4 4 4 4 4 4 4 4 4 5 4 4 e
83+
e b b 4 4 4 4 4 4 4 4 4 4 4 b e
84+
. e b 4 4 4 4 4 5 4 4 4 4 b e .
85+
8 7 e e b 4 4 4 4 4 4 b e e 6 8
86+
8 7 2 e e e e e e e e e e 2 7 8
87+
e 6 6 2 2 2 2 2 2 2 2 2 2 6 c e
88+
e c 6 7 6 6 7 7 7 6 6 7 6 c c e
89+
e b e 8 8 c c 8 8 c c c 8 e b e
90+
e e b e c c e e e e e c e b e e
91+
. e e b b 4 4 4 4 4 4 4 4 e e .
92+
. . . c c c c c e e e e e . . .
93+
`), Inventory.create_item("Pizza", img`
94+
. . . . . . b b b b . . . . . .
95+
. . . . . . b 4 4 4 b . . . . .
96+
. . . . . . b b 4 4 4 b . . . .
97+
. . . . . b 4 b b b 4 4 b . . .
98+
. . . . b d 5 5 5 4 b 4 4 b . .
99+
. . . . b 3 2 3 5 5 4 e 4 4 b .
100+
. . . b d 2 2 2 5 7 5 4 e 4 4 e
101+
. . . b 5 3 2 3 5 5 5 5 e e e e
102+
. . b d 7 5 5 5 3 2 3 5 5 e e e
103+
. . b 5 5 5 5 5 2 2 2 5 5 d e e
104+
. b 3 2 3 5 7 5 3 2 3 5 d d e 4
105+
. b 2 2 2 5 5 5 5 5 5 d d e 4 .
106+
b d 3 2 d 5 5 5 d d d 4 4 . . .
107+
b 5 5 5 5 d d 4 4 4 4 . . . . .
108+
4 d d d 4 4 4 . . . . . . . . .
109+
4 4 4 4 . . . . . . . . . . . .
110+
`)]._pickRandom())
77111
}
78112
let inventory = Inventory.create_inventory(inv_contents, 32)
79113
inventory.top = 4

0 commit comments

Comments
 (0)