pxt-arcade 2.0.53 → 2.0.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/built/common-sim.d.ts +12 -2
- package/built/common-sim.js +45 -4
- package/built/sim.js +45 -4
- package/built/target-strings.json +1 -1
- package/built/target.js +1 -1
- package/built/target.json +1 -1
- package/built/targetlight.js +1 -1
- package/built/targetlight.json +1 -1
- package/package.json +3 -3
package/built/common-sim.d.ts
CHANGED
|
@@ -341,15 +341,25 @@ declare namespace pxsim.browserEvents {
|
|
|
341
341
|
ArrowRight = 39,
|
|
342
342
|
PageDown = 34,
|
|
343
343
|
End = 35,
|
|
344
|
-
Home = 36
|
|
344
|
+
Home = 36,
|
|
345
|
+
LeftShift = 1016,
|
|
346
|
+
RightShift = 1017,
|
|
347
|
+
LeftControl = 1018,
|
|
348
|
+
RightControl = 1019,
|
|
349
|
+
Backspace = 8,
|
|
350
|
+
Delete = 46
|
|
345
351
|
}
|
|
346
352
|
function onKeyboardEvent(event: KeyboardEvent, pressed: boolean): void;
|
|
347
|
-
function getValueForKey(event: KeyboardEvent): 0 | Key;
|
|
353
|
+
function getValueForKey(event: KeyboardEvent): 0 | Key.Zero | Key.One | Key.Two | Key.Three | Key.Four | Key.Five | Key.Six | Key.Seven | Key.Eight | Key.Nine | Key.BackTick | Key.Hyphen | Key.Equals | Key.Q | Key.W | Key.E | Key.R | Key.T | Key.Y | Key.U | Key.I | Key.O | Key.P | Key.OpenBracket | Key.CloseBracket | Key.BackSlash | Key.A | Key.S | Key.D | Key.F | Key.G | Key.H | Key.Space | Key.PageUp | Key.J | Key.K | Key.L | Key.SemiColon | Key.Apostrophe | Key.Z | Key.X | Key.C | Key.V | Key.B | Key.N | Key.M | Key.Comma | Key.Period | Key.ForwardSlash | Key.Shift | Key.Enter | Key.CapsLock | Key.Tab | Key.Control | Key.Meta | Key.Alt | Key.ArrowUp | Key.ArrowDown | Key.ArrowLeft | Key.ArrowRight | Key.PageDown | Key.End | Key.Home | Key.Backspace | Key.Delete;
|
|
348
354
|
}
|
|
349
355
|
declare namespace pxsim.browserEvents {
|
|
350
356
|
interface BrowserEventsBoard extends CommonBoard {
|
|
351
357
|
mouseState: MouseState;
|
|
352
358
|
}
|
|
359
|
+
const INTERNAL_KEY_DOWN = 6870;
|
|
360
|
+
const INTERNAL_KEY_UP = 6871;
|
|
361
|
+
const INTERNAL_POINTER_DOWN = 6868;
|
|
362
|
+
const INTERNAL_POINTER_UP = 6869;
|
|
353
363
|
type MouseEvent = "pointerdown" | "pointerup" | "pointermove" | "pointerleave" | "pointerenter" | "pointercancel" | "pointerover" | "pointerout";
|
|
354
364
|
class MouseState {
|
|
355
365
|
protected x: number;
|
package/built/common-sim.js
CHANGED
|
@@ -813,16 +813,42 @@ var pxsim;
|
|
|
813
813
|
Key[Key["PageDown"] = 34] = "PageDown";
|
|
814
814
|
Key[Key["End"] = 35] = "End";
|
|
815
815
|
Key[Key["Home"] = 36] = "Home";
|
|
816
|
+
Key[Key["LeftShift"] = 1016] = "LeftShift";
|
|
817
|
+
Key[Key["RightShift"] = 1017] = "RightShift";
|
|
818
|
+
Key[Key["LeftControl"] = 1018] = "LeftControl";
|
|
819
|
+
Key[Key["RightControl"] = 1019] = "RightControl";
|
|
820
|
+
Key[Key["Backspace"] = 8] = "Backspace";
|
|
821
|
+
Key[Key["Delete"] = 46] = "Delete";
|
|
816
822
|
})(Key = browserEvents.Key || (browserEvents.Key = {}));
|
|
817
823
|
function onKeyboardEvent(event, pressed) {
|
|
824
|
+
const eventValue = getValueForKey(event);
|
|
825
|
+
fireEvent(eventValue, pressed);
|
|
826
|
+
if (eventValue === Key.Shift) {
|
|
827
|
+
if (event.location === event.DOM_KEY_LOCATION_LEFT) {
|
|
828
|
+
fireEvent(Key.LeftShift, pressed);
|
|
829
|
+
}
|
|
830
|
+
else if (event.location === event.DOM_KEY_LOCATION_RIGHT) {
|
|
831
|
+
fireEvent(Key.RightShift, pressed);
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
if (eventValue === Key.Control) {
|
|
835
|
+
if (event.location === event.DOM_KEY_LOCATION_LEFT) {
|
|
836
|
+
fireEvent(Key.LeftControl, pressed);
|
|
837
|
+
}
|
|
838
|
+
else if (event.location === event.DOM_KEY_LOCATION_RIGHT) {
|
|
839
|
+
fireEvent(Key.RightControl, pressed);
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
browserEvents.onKeyboardEvent = onKeyboardEvent;
|
|
844
|
+
function fireEvent(key, pressed) {
|
|
818
845
|
if (pressed) {
|
|
819
|
-
pxsim.board().bus.queue(
|
|
846
|
+
pxsim.board().bus.queue(browserEvents.INTERNAL_KEY_DOWN, key);
|
|
820
847
|
}
|
|
821
848
|
else {
|
|
822
|
-
pxsim.board().bus.queue(
|
|
849
|
+
pxsim.board().bus.queue(browserEvents.INTERNAL_KEY_UP, key);
|
|
823
850
|
}
|
|
824
851
|
}
|
|
825
|
-
browserEvents.onKeyboardEvent = onKeyboardEvent;
|
|
826
852
|
function getValueForKey(event) {
|
|
827
853
|
switch (event.key) {
|
|
828
854
|
case "0":
|
|
@@ -998,6 +1024,10 @@ var pxsim;
|
|
|
998
1024
|
return Key.End;
|
|
999
1025
|
case "Home":
|
|
1000
1026
|
return Key.Home;
|
|
1027
|
+
case "Delete":
|
|
1028
|
+
return Key.Delete;
|
|
1029
|
+
case "Backspace":
|
|
1030
|
+
return Key.Backspace;
|
|
1001
1031
|
default:
|
|
1002
1032
|
return 0;
|
|
1003
1033
|
}
|
|
@@ -1010,6 +1040,10 @@ var pxsim;
|
|
|
1010
1040
|
var browserEvents;
|
|
1011
1041
|
(function (browserEvents) {
|
|
1012
1042
|
const THROTTLE_INTERVAL = 50;
|
|
1043
|
+
browserEvents.INTERNAL_KEY_DOWN = 6870;
|
|
1044
|
+
browserEvents.INTERNAL_KEY_UP = 6871;
|
|
1045
|
+
browserEvents.INTERNAL_POINTER_DOWN = 6868;
|
|
1046
|
+
browserEvents.INTERNAL_POINTER_UP = 6869;
|
|
1013
1047
|
class MouseState {
|
|
1014
1048
|
constructor() {
|
|
1015
1049
|
this.onMove = pxsim.U.throttle(() => {
|
|
@@ -1032,9 +1066,16 @@ var pxsim;
|
|
|
1032
1066
|
"pointerover",
|
|
1033
1067
|
"pointerout",
|
|
1034
1068
|
];
|
|
1069
|
+
let eventId = 6857 + events.indexOf(event.type);
|
|
1070
|
+
if (event.type === "pointerdown") {
|
|
1071
|
+
eventId = browserEvents.INTERNAL_POINTER_DOWN;
|
|
1072
|
+
}
|
|
1073
|
+
else if (event.type === "pointerup") {
|
|
1074
|
+
eventId = browserEvents.INTERNAL_POINTER_UP;
|
|
1075
|
+
}
|
|
1035
1076
|
// We add 1 to the button here because the left button is 0 and
|
|
1036
1077
|
// that's used as a wildcard in our event bus
|
|
1037
|
-
pxsim.board().bus.queue(
|
|
1078
|
+
pxsim.board().bus.queue(eventId, (event.button || 0) + 1);
|
|
1038
1079
|
}
|
|
1039
1080
|
onWheelEvent(dx, dy, dz) {
|
|
1040
1081
|
this.dx = dx;
|
package/built/sim.js
CHANGED
|
@@ -4547,16 +4547,42 @@ var pxsim;
|
|
|
4547
4547
|
Key[Key["PageDown"] = 34] = "PageDown";
|
|
4548
4548
|
Key[Key["End"] = 35] = "End";
|
|
4549
4549
|
Key[Key["Home"] = 36] = "Home";
|
|
4550
|
+
Key[Key["LeftShift"] = 1016] = "LeftShift";
|
|
4551
|
+
Key[Key["RightShift"] = 1017] = "RightShift";
|
|
4552
|
+
Key[Key["LeftControl"] = 1018] = "LeftControl";
|
|
4553
|
+
Key[Key["RightControl"] = 1019] = "RightControl";
|
|
4554
|
+
Key[Key["Backspace"] = 8] = "Backspace";
|
|
4555
|
+
Key[Key["Delete"] = 46] = "Delete";
|
|
4550
4556
|
})(Key = browserEvents.Key || (browserEvents.Key = {}));
|
|
4551
4557
|
function onKeyboardEvent(event, pressed) {
|
|
4558
|
+
const eventValue = getValueForKey(event);
|
|
4559
|
+
fireEvent(eventValue, pressed);
|
|
4560
|
+
if (eventValue === Key.Shift) {
|
|
4561
|
+
if (event.location === event.DOM_KEY_LOCATION_LEFT) {
|
|
4562
|
+
fireEvent(Key.LeftShift, pressed);
|
|
4563
|
+
}
|
|
4564
|
+
else if (event.location === event.DOM_KEY_LOCATION_RIGHT) {
|
|
4565
|
+
fireEvent(Key.RightShift, pressed);
|
|
4566
|
+
}
|
|
4567
|
+
}
|
|
4568
|
+
if (eventValue === Key.Control) {
|
|
4569
|
+
if (event.location === event.DOM_KEY_LOCATION_LEFT) {
|
|
4570
|
+
fireEvent(Key.LeftControl, pressed);
|
|
4571
|
+
}
|
|
4572
|
+
else if (event.location === event.DOM_KEY_LOCATION_RIGHT) {
|
|
4573
|
+
fireEvent(Key.RightControl, pressed);
|
|
4574
|
+
}
|
|
4575
|
+
}
|
|
4576
|
+
}
|
|
4577
|
+
browserEvents.onKeyboardEvent = onKeyboardEvent;
|
|
4578
|
+
function fireEvent(key, pressed) {
|
|
4552
4579
|
if (pressed) {
|
|
4553
|
-
pxsim.board().bus.queue(
|
|
4580
|
+
pxsim.board().bus.queue(browserEvents.INTERNAL_KEY_DOWN, key);
|
|
4554
4581
|
}
|
|
4555
4582
|
else {
|
|
4556
|
-
pxsim.board().bus.queue(
|
|
4583
|
+
pxsim.board().bus.queue(browserEvents.INTERNAL_KEY_UP, key);
|
|
4557
4584
|
}
|
|
4558
4585
|
}
|
|
4559
|
-
browserEvents.onKeyboardEvent = onKeyboardEvent;
|
|
4560
4586
|
function getValueForKey(event) {
|
|
4561
4587
|
switch (event.key) {
|
|
4562
4588
|
case "0":
|
|
@@ -4732,6 +4758,10 @@ var pxsim;
|
|
|
4732
4758
|
return Key.End;
|
|
4733
4759
|
case "Home":
|
|
4734
4760
|
return Key.Home;
|
|
4761
|
+
case "Delete":
|
|
4762
|
+
return Key.Delete;
|
|
4763
|
+
case "Backspace":
|
|
4764
|
+
return Key.Backspace;
|
|
4735
4765
|
default:
|
|
4736
4766
|
return 0;
|
|
4737
4767
|
}
|
|
@@ -4744,6 +4774,10 @@ var pxsim;
|
|
|
4744
4774
|
var browserEvents;
|
|
4745
4775
|
(function (browserEvents) {
|
|
4746
4776
|
const THROTTLE_INTERVAL = 50;
|
|
4777
|
+
browserEvents.INTERNAL_KEY_DOWN = 6870;
|
|
4778
|
+
browserEvents.INTERNAL_KEY_UP = 6871;
|
|
4779
|
+
browserEvents.INTERNAL_POINTER_DOWN = 6868;
|
|
4780
|
+
browserEvents.INTERNAL_POINTER_UP = 6869;
|
|
4747
4781
|
class MouseState {
|
|
4748
4782
|
constructor() {
|
|
4749
4783
|
this.onMove = pxsim.U.throttle(() => {
|
|
@@ -4766,9 +4800,16 @@ var pxsim;
|
|
|
4766
4800
|
"pointerover",
|
|
4767
4801
|
"pointerout",
|
|
4768
4802
|
];
|
|
4803
|
+
let eventId = 6857 + events.indexOf(event.type);
|
|
4804
|
+
if (event.type === "pointerdown") {
|
|
4805
|
+
eventId = browserEvents.INTERNAL_POINTER_DOWN;
|
|
4806
|
+
}
|
|
4807
|
+
else if (event.type === "pointerup") {
|
|
4808
|
+
eventId = browserEvents.INTERNAL_POINTER_UP;
|
|
4809
|
+
}
|
|
4769
4810
|
// We add 1 to the button here because the left button is 0 and
|
|
4770
4811
|
// that's used as a wildcard in our event bus
|
|
4771
|
-
pxsim.board().bus.queue(
|
|
4812
|
+
pxsim.board().bus.queue(eventId, (event.button || 0) + 1);
|
|
4772
4813
|
}
|
|
4773
4814
|
onWheelEvent(dx, dy, dz) {
|
|
4774
4815
|
this.dx = dx;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"(Diagnostics) Garbage Collection checks.":"(Diagnostics) Garbage Collection checks.","20 pin Edge Connector":"20 pin Edge Connector","A Corgi platformer":"A Corgi platformer","A micro-servo library":"A micro-servo library","A package for interacting with browser-only functionality like keyboard and mouse events":"A package for interacting with browser-only functionality like keyboard and mouse events","A sprite with path projection":"A sprite with path projection","A thermometer driver":"A thermometer driver","Adafruit Feather pinout":"Adafruit Feather pinout","Additional blocks for building multiplayer games":"Additional blocks for building multiplayer games","Additional scaling blocks for sprites":"Additional scaling blocks for sprites","Adds new blocks for message communication in the radio category":"Adds new blocks for message communication in the radio category","Advanced Livestream":"Advanced Livestream","Advanced state based animations for sprites":"Advanced state based animations for sprites","Arcade Compatible Devices":"Arcade Compatible Devices","Arts and Crafts":"Arts and Crafts","Azure IoT - beta":"Azure IoT - beta","Beginner Skillmaps":"Beginner Skillmaps","Blocks Games":"Blocks Games","Blocks for the color-coded tilemap":"Blocks for the color-coded tilemap","Button A and B drivers":"Button A and B drivers","Color manipulation":"Color manipulation","Community Games":"Community Games","Contains overriden or additional files for the default project template":"Contains overriden or additional files for the default project template","Courses":"Courses","DIY Hardware":"DIY Hardware","Develop your programming skills by quickly creating and modding retro arcade games with Blocks and JavaScript in the MakeCode editor":"Develop your programming skills by quickly creating and modding retro arcade games with Blocks and JavaScript in the MakeCode editor","Docs":"Docs","Driver for rotary encoder":"Driver for rotary encoder","ESP32 over SPI - beta":"ESP32 over SPI - beta","Empty game library - beta":"Empty game library - beta","Extra game controller functionalities":"Extra game controller functionalities","Forum":"Forum","Game Design Concepts":"Game Design Concepts","Game Jam":"Game Jam","Graphics and Math":"Graphics and Math","Hardware":"Hardware","Hardware definition - web-browser only":"Hardware definition - web-browser only","How to Make a Game Videos":"How to Make a Game Videos","JavaScript Games":"JavaScript Games","John Park's Workshop":"John Park's Workshop","Keyboard emulation over HID":"Keyboard emulation over HID","Lessons":"Lessons","Live Coding":"Live Coding","MQTT for MakeCode - beta":"MQTT for MakeCode - beta","Microsoft MakeCode Arcade":"Microsoft MakeCode Arcade","Mouse emulation over HID":"Mouse emulation over HID","Multiplayer Games":"Multiplayer Games","Multiplayer Games!":"Multiplayer Games!","Multiplayer Tutorials":"Multiplayer Tutorials","NRF52833 board":"NRF52833 board","NRF52840 board":"NRF52840 board","Networking abstractions":"Networking abstractions","Next Level Skillmaps":"Next Level Skillmaps","Onboard light level sensor":"Onboard light level sensor","Palette manipulations":"Palette manipulations","Power and sleep management":"Power and sleep management","RP2040 board":"RP2040 board","Raspberry Pi":"Raspberry Pi","SAMD51 board":"SAMD51 board","STM32F4 board":"STM32F4 board","Scene manager":"Scene manager","Settings storage in files":"Settings storage in files","Settings storage in internal flash":"Settings storage in internal flash","Seven segment digit display":"Seven segment digit display","The accelerometer library":"The accelerometer library","The base library":"The base library","The core library for Codal-based targets":"The core library for Codal-based targets","The fantasy game console library":"The fantasy game console library","The game and sprite library - beta":"The game and sprite library - beta","The microphone library":"The microphone library","The music library with a mixer":"The music library with a mixer","The programmable LED (WS2812b,APA102) driver.":"The programmable LED (WS2812b,APA102) driver.","The radio services":"The radio services","The screen library":"The screen library","Try Now":"Try Now","Tutorials":"Tutorials","UART communication":"UART communication","Utility methods for shading images":"Utility methods for shading images","VM":"VM","WiFi support in Arcade - beta":"WiFi support in Arcade - beta","arcade":"arcade","{id:color-theme-name}Dark":"Dark","{id:color-theme-name}High Contrast":"High Contrast","{id:color-theme-name}Light":"Light","{id:color-theme-name}Orange":"Orange","{id:extension-tag}Controller":"Controller","{id:extension-tag}Hardware":"Hardware","{id:extension-tag}Sprite Pack":"Sprite Pack","{id:extension-tag}Sprites":"Sprites","{id:extension-tag}Utility":"Utility","{id:extension-tag}Visual Effects":"Visual Effects","{id:game-description}A test of reflexes! Avoid the blue stingers while sending fireballs at the boss!":"A test of reflexes! Avoid the blue stingers while sending fireballs at the boss!","{id:game-description}Adventure through levels collecting jewels and avoiding obstacles!":"Adventure through levels collecting jewels and avoiding obstacles!","{id:game-description}Build a tower of goats!":"Build a tower of goats!","{id:game-description}Challenge your friend to a game of pool! Be sure to check out the (very silly) alternate rule sets! (requires two players)":"Challenge your friend to a game of pool! Be sure to check out the (very silly) alternate rule sets! (requires two players)","{id:game-description}Control both cats and use their unique strengths to solve puzzles! Press A to swap between characters. Up is jump and B triggers Ollie's tackle attack. (1-2 players)":"Control both cats and use their unique strengths to solve puzzles! Press A to swap between characters. Up is jump and B triggers Ollie's tackle attack. (1-2 players)","{id:game-description}Controlling a starship, both players will destroy the Galga forces, while avoiding enemies. Each player has 3 lives, game ends once a player runs out of lives.":"Controlling a starship, both players will destroy the Galga forces, while avoiding enemies. Each player has 3 lives, game ends once a player runs out of lives.","{id:game-description}Eat the leaves to grow, but watch out for walls!":"Eat the leaves to grow, but watch out for walls!","{id:game-description}Fly through the dangerous rooftops and ledges of New York City delivering messages!":"Fly through the dangerous rooftops and ledges of New York City delivering messages!","{id:game-description}Fly through the sky avoiding obstacles":"Fly through the sky avoiding obstacles","{id:game-description}Go on a mouse adventure in a haunted castle, battling bad guys, avoiding obstacles and collecting keys!":"Go on a mouse adventure in a haunted castle, battling bad guys, avoiding obstacles and collecting keys!","{id:game-description}Help your bunny hop over obstacles as they run through the forest":"Help your bunny hop over obstacles as they run through the forest","{id:game-description}Lead your constituents to find food and carry it back to the nest as fast as you can!":"Lead your constituents to find food and carry it back to the nest as fast as you can!","{id:game-description}Navigate your hot air balloon through the mountains avoiding birds and spaceships":"Navigate your hot air balloon through the mountains avoiding birds and spaceships","{id:game-description}Place arrows along the path to help Asphodel the witch find their way":"Place arrows along the path to help Asphodel the witch find their way","{id:game-description}Test your skills in this fast-paced game of reflexes and timing! Levels designed by members of the MakeCode Forum!":"Test your skills in this fast-paced game of reflexes and timing! Levels designed by members of the MakeCode Forum!","{id:game-description}Top-down racing game for 1-4 players. Press Left and Right to steer, A to use picked up item.":"Top-down racing game for 1-4 players. Press Left and Right to steer, A to use picked up item.","{id:game-description}Try to clean your side of the nest! Clear the leaves and collect acorns while messing up your opponent's side! (requires 2 players)":"Try to clean your side of the nest! Clear the leaves and collect acorns while messing up your opponent's side! (requires 2 players)","{id:game-description}Try to slice all the logs as quickly and evenly as you can! Press Left/Right to change direction and A to slice!":"Try to slice all the logs as quickly and evenly as you can! Press Left/Right to change direction and A to slice!","{id:game-description}Ultimate battle between cats and dogs! The player who succeeds in placing three of their marks in a horizontal, vertical, or diagonal row is the winner as the best pet.":"Ultimate battle between cats and dogs! The player who succeeds in placing three of their marks in a horizontal, vertical, or diagonal row is the winner as the best pet.","{id:game-description}Use the lasers on your spaceship to shoot falling asteroids!":"Use the lasers on your spaceship to shoot falling asteroids!","{id:game-description}Use your knowledge of the cycle of life to stack plants and dinosaurs!":"Use your knowledge of the cycle of life to stack plants and dinosaurs!","{id:game-name}Asphodel follows directions":"Asphodel follows directions","{id:game-name}Auto and Ollie":"Auto and Ollie","{id:game-name}BUG PRESIDENT: THE GAME":"BUG PRESIDENT: THE GAME","{id:game-name}Best Nest":"Best Nest","{id:game-name}Blocky Boss Battle":"Blocky Boss Battle","{id:game-name}Bunny Hop!":"Bunny Hop!","{id:game-name}Caterpillar":"Caterpillar","{id:game-name}Dino Zoo":"Dino Zoo","{id:game-name}Falling Duck":"Falling Duck","{id:game-name}Galga":"Galga","{id:game-name}Hot Air Balloon":"Hot Air Balloon","{id:game-name}Jewel Raider":"Jewel Raider","{id:game-name}Joey's Pool Sharks":"Joey's Pool Sharks","{id:game-name}MakeCode Racers":"MakeCode Racers","{id:game-name}Mouse Adventure":"Mouse Adventure","{id:game-name}NINJA":"NINJA","{id:game-name}Pigeon: Deliverance":"Pigeon: Deliverance","{id:game-name}Rhombus Rush!":"Rhombus Rush!","{id:game-name}Space Destroyer":"Space Destroyer","{id:game-name}Stack the Goats":"Stack the Goats","{id:game-name}TicTacTwo!":"TicTacTwo!","{id:game-subtitle}1-4 player":"1-4 player","{id:game-subtitle}4 player":"4 player","{id:game-title}Galga":"Galga","{id:game-title}Horse Race":"Horse Race","{id:game-title}Painting Together":"Painting Together","{id:game-title}Perfect Fit":"Perfect Fit","{id:hardware-description} Sleek hand-held game device with a hard case and a USB-C port.":" Sleek hand-held game device with a hard case and a USB-C port.","{id:hardware-description}A fun-sized console to play the games you code.":"A fun-sized console to play the games you code.","{id:hardware-description}A programmable modular console to create games, design wearables and make creative projects.":"A programmable modular console to create games, design wearables and make creative projects.","{id:hardware-description}A retro game console for STEM education from Kittenbot team":"A retro game console for STEM education from Kittenbot team","{id:hardware-description}ARCADE is a programmable gamepad for use with MakeCode Arcade.":"ARCADE is a programmable gamepad for use with MakeCode Arcade.","{id:hardware-description}It's a badge, it's an arcade, it's a PyBadge":"It's a badge, it's an arcade, it's a PyBadge","{id:hardware-description}It's the PyBadge with a zest of Machine learning":"It's the PyBadge with a zest of Machine learning","{id:hardware-description}Learn how BrainPad Arcade lets you run games on a small handheld console.":"Learn how BrainPad Arcade lets you run games on a small handheld console.","{id:hardware-description}Learn how to run your games on micro-controllers from Adafruit":"Learn how to run your games on micro-controllers from Adafruit","{id:hardware-description}The Retro has a big screen, colorful protective case, d-pad and vibration motor":"The Retro has a big screen, colorful protective case, d-pad and vibration motor","{id:hardware-description}The upgraded PyBadge":"The upgraded PyBadge","{id:hardware-description}Use the micro:bit with an expansion board from Elecfreaks":"Use the micro:bit with an expansion board from Elecfreaks","{id:hardware-description}Use the micro:bit with an expansion board from Kitronik":"Use the micro:bit with an expansion board from Kitronik","{id:hardware-description}Use the micro:bit with an expansion board from KittenBot":"Use the micro:bit with an expansion board from KittenBot","{id:hardware-description}Use the micro:bit with an expansion board from iCShop":"Use the micro:bit with an expansion board from iCShop","{id:type}Location":"Location","{id:var}myImage":"myImage","{id:var}myLocation":"myLocation","{id:var}mySprite":"mySprite"}
|
|
1
|
+
{"(Diagnostics) Garbage Collection checks.":"(Diagnostics) Garbage Collection checks.","20 pin Edge Connector":"20 pin Edge Connector","A Corgi platformer":"A Corgi platformer","A micro-servo library":"A micro-servo library","A package for interacting with browser-only functionality like keyboard and mouse events":"A package for interacting with browser-only functionality like keyboard and mouse events","A sprite with path projection":"A sprite with path projection","A thermometer driver":"A thermometer driver","Adafruit Feather pinout":"Adafruit Feather pinout","Additional blocks for building multiplayer games":"Additional blocks for building multiplayer games","Additional scaling blocks for sprites":"Additional scaling blocks for sprites","Adds new blocks for message communication in the radio category":"Adds new blocks for message communication in the radio category","Advanced Livestream":"Advanced Livestream","Advanced state based animations for sprites":"Advanced state based animations for sprites","Arcade Compatible Devices":"Arcade Compatible Devices","Arts and Crafts":"Arts and Crafts","Azure IoT - beta":"Azure IoT - beta","Beginner Skillmaps":"Beginner Skillmaps","Blocks Games":"Blocks Games","Blocks for the color-coded tilemap":"Blocks for the color-coded tilemap","Button A and B drivers":"Button A and B drivers","Color manipulation":"Color manipulation","Community Games":"Community Games","Contains overriden or additional files for the default project template":"Contains overriden or additional files for the default project template","Courses":"Courses","DIY Hardware":"DIY Hardware","Develop your programming skills by quickly creating and modding retro arcade games with Blocks and JavaScript in the MakeCode editor":"Develop your programming skills by quickly creating and modding retro arcade games with Blocks and JavaScript in the MakeCode editor","Docs":"Docs","Driver for rotary encoder":"Driver for rotary encoder","ESP32 over SPI - beta":"ESP32 over SPI - beta","Empty game library - beta":"Empty game library - beta","Extra game controller functionalities":"Extra game controller functionalities","Forum":"Forum","Game Design Concepts":"Game Design Concepts","Game Jam":"Game Jam","Graphics and Math":"Graphics and Math","Hardware":"Hardware","Hardware definition - web-browser only":"Hardware definition - web-browser only","How to Make a Game Videos":"How to Make a Game Videos","JavaScript Games":"JavaScript Games","John Park's Workshop":"John Park's Workshop","Keyboard emulation over HID":"Keyboard emulation over HID","Lessons":"Lessons","Live Coding":"Live Coding","MQTT for MakeCode - beta":"MQTT for MakeCode - beta","Microsoft MakeCode Arcade":"Microsoft MakeCode Arcade","Mouse emulation over HID":"Mouse emulation over HID","Multiplayer Games":"Multiplayer Games","Multiplayer Games!":"Multiplayer Games!","Multiplayer Tutorials":"Multiplayer Tutorials","NRF52833 board":"NRF52833 board","NRF52840 board":"NRF52840 board","Networking abstractions":"Networking abstractions","Next Level Skillmaps":"Next Level Skillmaps","Onboard light level sensor":"Onboard light level sensor","Palette manipulations":"Palette manipulations","Power and sleep management":"Power and sleep management","RP2040 board":"RP2040 board","Raspberry Pi":"Raspberry Pi","SAMD51 board":"SAMD51 board","STM32F4 board":"STM32F4 board","Scene manager":"Scene manager","Settings storage in files":"Settings storage in files","Settings storage in internal flash":"Settings storage in internal flash","Seven segment digit display":"Seven segment digit display","The accelerometer library":"The accelerometer library","The base library":"The base library","The core library for Codal-based targets":"The core library for Codal-based targets","The fantasy game console library":"The fantasy game console library","The game and sprite library - beta":"The game and sprite library - beta","The microphone library":"The microphone library","The music library with a mixer":"The music library with a mixer","The programmable LED (WS2812b,APA102) driver.":"The programmable LED (WS2812b,APA102) driver.","The radio services":"The radio services","The screen library":"The screen library","Try Now":"Try Now","Tutorials":"Tutorials","UART communication":"UART communication","Utility methods for shading images":"Utility methods for shading images","VM":"VM","WiFi support in Arcade - beta":"WiFi support in Arcade - beta","arcade":"arcade","{id:color-theme-name}Dark":"Dark","{id:color-theme-name}High Contrast":"High Contrast","{id:color-theme-name}Light":"Light","{id:color-theme-name}Orange":"Orange","{id:extension-tag}Controller":"Controller","{id:extension-tag}Hardware":"Hardware","{id:extension-tag}Sprite Pack":"Sprite Pack","{id:extension-tag}Sprites":"Sprites","{id:extension-tag}Utility":"Utility","{id:extension-tag}Visual Effects":"Visual Effects","{id:game-description}A test of reflexes! Avoid the blue stingers while sending fireballs at the boss!":"A test of reflexes! Avoid the blue stingers while sending fireballs at the boss!","{id:game-description}Adventure through levels collecting jewels and avoiding obstacles!":"Adventure through levels collecting jewels and avoiding obstacles!","{id:game-description}Build a tower of goats!":"Build a tower of goats!","{id:game-description}Challenge your friend to a game of pool! Be sure to check out the (very silly) alternate rule sets! (requires two players)":"Challenge your friend to a game of pool! Be sure to check out the (very silly) alternate rule sets! (requires two players)","{id:game-description}Control both cats and use their unique strengths to solve puzzles! Press A to swap between characters. Up is jump and B triggers Ollie's tackle attack. (1-2 players)":"Control both cats and use their unique strengths to solve puzzles! Press A to swap between characters. Up is jump and B triggers Ollie's tackle attack. (1-2 players)","{id:game-description}Controlling a starship, both players will destroy the Galga forces, while avoiding enemies. Each player has 3 lives, game ends once a player runs out of lives.":"Controlling a starship, both players will destroy the Galga forces, while avoiding enemies. Each player has 3 lives, game ends once a player runs out of lives.","{id:game-description}Eat the leaves to grow, but watch out for walls!":"Eat the leaves to grow, but watch out for walls!","{id:game-description}Fly through the dangerous rooftops and ledges of New York City delivering messages!":"Fly through the dangerous rooftops and ledges of New York City delivering messages!","{id:game-description}Fly through the sky avoiding obstacles":"Fly through the sky avoiding obstacles","{id:game-description}Go on a mouse adventure in a haunted castle, battling bad guys, avoiding obstacles and collecting keys!":"Go on a mouse adventure in a haunted castle, battling bad guys, avoiding obstacles and collecting keys!","{id:game-description}Help your bunny hop over obstacles as they run through the forest":"Help your bunny hop over obstacles as they run through the forest","{id:game-description}Lead your constituents to find food and carry it back to the nest as fast as you can!":"Lead your constituents to find food and carry it back to the nest as fast as you can!","{id:game-description}Navigate your hot air balloon through the mountains avoiding birds and spaceships":"Navigate your hot air balloon through the mountains avoiding birds and spaceships","{id:game-description}Place arrows along the path to help Asphodel the witch find their way":"Place arrows along the path to help Asphodel the witch find their way","{id:game-description}Test your skills in this fast-paced game of reflexes and timing! Levels designed by members of the MakeCode Forum!":"Test your skills in this fast-paced game of reflexes and timing! Levels designed by members of the MakeCode Forum!","{id:game-description}Top-down racing game for 1-4 players. Press Left and Right to steer, A to use picked up item.":"Top-down racing game for 1-4 players. Press Left and Right to steer, A to use picked up item.","{id:game-description}Try to clean your side of the nest! Clear the leaves and collect acorns while messing up your opponent's side! (requires 2 players)":"Try to clean your side of the nest! Clear the leaves and collect acorns while messing up your opponent's side! (requires 2 players)","{id:game-description}Try to slice all the logs as quickly and evenly as you can! Press Left/Right to change direction and A to slice!":"Try to slice all the logs as quickly and evenly as you can! Press Left/Right to change direction and A to slice!","{id:game-description}Ultimate battle between cats and dogs! The player who succeeds in placing three of their marks in a horizontal, vertical, or diagonal row is the winner as the best pet.":"Ultimate battle between cats and dogs! The player who succeeds in placing three of their marks in a horizontal, vertical, or diagonal row is the winner as the best pet.","{id:game-description}Use the lasers on your spaceship to shoot falling asteroids!":"Use the lasers on your spaceship to shoot falling asteroids!","{id:game-description}Use your knowledge of the cycle of life to stack plants and dinosaurs!":"Use your knowledge of the cycle of life to stack plants and dinosaurs!","{id:game-name}Asphodel follows directions":"Asphodel follows directions","{id:game-name}Auto and Ollie":"Auto and Ollie","{id:game-name}BUG PRESIDENT: THE GAME":"BUG PRESIDENT: THE GAME","{id:game-name}Best Nest":"Best Nest","{id:game-name}Blocky Boss Battle":"Blocky Boss Battle","{id:game-name}Bunny Hop!":"Bunny Hop!","{id:game-name}Caterpillar":"Caterpillar","{id:game-name}Dino Zoo":"Dino Zoo","{id:game-name}Falling Duck":"Falling Duck","{id:game-name}Galga":"Galga","{id:game-name}Hot Air Balloon":"Hot Air Balloon","{id:game-name}Jewel Raider":"Jewel Raider","{id:game-name}Joey's Pool Sharks":"Joey's Pool Sharks","{id:game-name}MakeCode Racers":"MakeCode Racers","{id:game-name}Mouse Adventure":"Mouse Adventure","{id:game-name}NINJA":"NINJA","{id:game-name}Pigeon: Deliverance":"Pigeon: Deliverance","{id:game-name}Rhombus Rush!":"Rhombus Rush!","{id:game-name}Space Destroyer":"Space Destroyer","{id:game-name}Stack the Goats":"Stack the Goats","{id:game-name}TicTacTwo!":"TicTacTwo!","{id:game-subtitle}1-4 player":"1-4 player","{id:game-subtitle}4 player":"4 player","{id:game-title}Galga":"Galga","{id:game-title}Horse Race":"Horse Race","{id:game-title}Painting Together":"Painting Together","{id:game-title}Perfect Fit":"Perfect Fit","{id:hardware-description} Sleek hand-held game device with a hard case and a USB-C port.":" Sleek hand-held game device with a hard case and a USB-C port.","{id:hardware-description}A fun-sized console to play the games you code.":"A fun-sized console to play the games you code.","{id:hardware-description}A programmable modular console to create games, design wearables and make creative projects.":"A programmable modular console to create games, design wearables and make creative projects.","{id:hardware-description}A retro game console for STEM education from Kittenbot team":"A retro game console for STEM education from Kittenbot team","{id:hardware-description}ARCADE is a programmable gamepad for use with MakeCode Arcade.":"ARCADE is a programmable gamepad for use with MakeCode Arcade.","{id:hardware-description}It's a badge, it's an arcade, it's a PyBadge":"It's a badge, it's an arcade, it's a PyBadge","{id:hardware-description}It's the PyBadge with a zest of Machine learning":"It's the PyBadge with a zest of Machine learning","{id:hardware-description}Learn how BrainPad Arcade lets you run games on a small handheld console.":"Learn how BrainPad Arcade lets you run games on a small handheld console.","{id:hardware-description}Learn how to run your games on micro-controllers from Adafruit":"Learn how to run your games on micro-controllers from Adafruit","{id:hardware-description}The Retro has a big screen, colorful protective case, d-pad and vibration motor":"The Retro has a big screen, colorful protective case, d-pad and vibration motor","{id:hardware-description}The upgraded PyBadge":"The upgraded PyBadge","{id:hardware-description}Use the micro:bit with an expansion board from Elecfreaks":"Use the micro:bit with an expansion board from Elecfreaks","{id:hardware-description}Use the micro:bit with an expansion board from Kitronik":"Use the micro:bit with an expansion board from Kitronik","{id:hardware-description}Use the micro:bit with an expansion board from KittenBot":"Use the micro:bit with an expansion board from KittenBot","{id:hardware-description}Use the micro:bit with an expansion board from iCShop":"Use the micro:bit with an expansion board from iCShop","{id:type}Image":"Image","{id:type}Location":"Location","{id:type}Sprite":"Sprite","{id:var}myImage":"myImage","{id:var}myLocation":"myLocation","{id:var}mySprite":"mySprite"}
|