pxt-common-packages 10.3.7 → 10.3.9

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.
Files changed (51) hide show
  1. package/libs/azureiot/built/debug/binary.js +461 -461
  2. package/libs/color/built/debug/binary.js +8 -8
  3. package/libs/color-sensor/built/debug/binary.js +8 -8
  4. package/libs/controller/built/debug/binary.js +15483 -15338
  5. package/libs/controller---none/built/debug/binary.js +15467 -15322
  6. package/libs/datalogger/built/debug/binary.js +63 -63
  7. package/libs/edge-connector/built/debug/binary.js +8 -8
  8. package/libs/esp32/built/debug/binary.js +462 -462
  9. package/libs/game/_locales/game-jsdoc-strings.json +8 -3
  10. package/libs/game/_locales/game-strings.json +11 -0
  11. package/libs/game/ask.ts +0 -1
  12. package/libs/game/built/debug/binary.js +16092 -15947
  13. package/libs/game/controller.ts +0 -6
  14. package/libs/game/game.ts +194 -45
  15. package/libs/game/gameutil.ts +0 -2
  16. package/libs/game/info.ts +98 -45
  17. package/libs/game/multiplayer.ts +9 -8
  18. package/libs/game/ns.ts +5 -0
  19. package/libs/game/numberprompt.ts +0 -1
  20. package/libs/game/particleeffects.ts +30 -0
  21. package/libs/game/prompt.ts +0 -1
  22. package/libs/game/pxt.json +1 -0
  23. package/libs/game/textDialogs.ts +275 -40
  24. package/libs/lcd/built/debug/binary.js +8 -8
  25. package/libs/light-spectrum-sensor/built/debug/binary.js +8 -8
  26. package/libs/lora/built/debug/binary.js +8 -8
  27. package/libs/matrix-keypad/built/debug/binary.js +8 -8
  28. package/libs/mixer/instrument.ts +20 -1
  29. package/libs/mixer/melody.ts +13 -15
  30. package/libs/mixer/playable.ts +181 -0
  31. package/libs/mixer/pxt.json +1 -0
  32. package/libs/mixer/soundEffect.ts +19 -2
  33. package/libs/mqtt/built/debug/binary.js +176 -176
  34. package/libs/multiplayer/ns.ts +6 -0
  35. package/libs/multiplayer/player.ts +24 -6
  36. package/libs/multiplayer/pxt.json +1 -0
  37. package/libs/music/ns.ts +1 -1
  38. package/libs/net/built/debug/binary.js +176 -176
  39. package/libs/net-game/built/debug/binary.js +20403 -20258
  40. package/libs/palette/built/debug/binary.js +16083 -15938
  41. package/libs/pixel/built/debug/binary.js +8 -8
  42. package/libs/power/built/debug/binary.js +8 -8
  43. package/libs/proximity/built/debug/binary.js +8 -8
  44. package/libs/radio/built/debug/binary.js +8 -8
  45. package/libs/radio-broadcast/built/debug/binary.js +8 -8
  46. package/libs/rotary-encoder/built/debug/binary.js +8 -8
  47. package/libs/screen/built/debug/binary.js +50 -50
  48. package/libs/servo/built/debug/binary.js +8 -8
  49. package/libs/sprite-scaling/built/debug/binary.js +16091 -15946
  50. package/libs/storyboard/built/debug/binary.js +16091 -15946
  51. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ //% color="#207a77" weight=96 icon="\uf0c0"
2
+ //% blockGap=8
3
+ //% block="Multiplayer"
4
+ //% groups='["Sprites", "Controller", "Info", "Game", "Utility"]'
5
+ namespace mp {
6
+ }
@@ -1,6 +1,3 @@
1
- //% color="#207a77"
2
- //% icon="\uf0c0"
3
- //% block="Multiplayer"
4
1
  namespace mp {
5
2
  const MAX_PLAYERS = 4;
6
3
 
@@ -98,7 +95,7 @@ namespace mp {
98
95
  if (sprite && sprite.image) {
99
96
  // Passing 'implicit' flag so we don't override icons that
100
97
  // user has explicitly defined.
101
- multiplayer.postPresenceIcon(
98
+ mp.postPresenceIcon(
102
99
  this.number,
103
100
  sprite.image,
104
101
  /** implicit **/ true
@@ -106,12 +103,12 @@ namespace mp {
106
103
  } else {
107
104
  // Passing 'implicit' flag so we don't override icons that
108
105
  // user has explicitly defined.
109
- multiplayer.postPresenceIcon(
106
+ mp.postPresenceIcon(
110
107
  this.number,
111
108
  undefined,
112
109
  /** implicit **/ true
113
110
  );
114
-
111
+
115
112
  }
116
113
  this._sprite = sprite;
117
114
  }
@@ -403,6 +400,7 @@ namespace mp {
403
400
  //% help=multiplayer/get-player-sprite
404
401
  //% parts="multiplayer"
405
402
  export function getPlayerSprite(player: Player): Sprite {
403
+ if (!player) return undefined;
406
404
  return player.getSprite();
407
405
  }
408
406
 
@@ -421,6 +419,7 @@ namespace mp {
421
419
  //% help=multiplayer/set-player-sprite
422
420
  //% parts="multiplayer"
423
421
  export function setPlayerSprite(player: Player, sprite: Sprite) {
422
+ if (!player) return;
424
423
  player.setSprite(sprite);
425
424
  }
426
425
 
@@ -445,6 +444,7 @@ namespace mp {
445
444
  //% help=controller/move-sprite
446
445
  //% parts="multiplayer"
447
446
  export function moveWithButtons(player: Player, vx?: number, vy?: number) {
447
+ if (!player) return;
448
448
  player.moveWithButtons(vx, vy);
449
449
  }
450
450
 
@@ -481,6 +481,7 @@ namespace mp {
481
481
  //% help=controller/button/is-pressed
482
482
  //% parts="multiplayer"
483
483
  export function isButtonPressed(player: Player, button: MultiplayerButton): boolean {
484
+ if (!player) return false;
484
485
  return getButton(player._getController(), button).isPressed();
485
486
  }
486
487
 
@@ -517,6 +518,7 @@ namespace mp {
517
518
  //% help=multiplayer/get-player-state
518
519
  //% parts="multiplayer"
519
520
  export function getPlayerState(player: Player, state: number): number {
521
+ if (!player) return 0;
520
522
  return player.getState(state);
521
523
  }
522
524
 
@@ -536,6 +538,7 @@ namespace mp {
536
538
  //% help=multiplayer/set-player-state
537
539
  //% parts="multiplayer"
538
540
  export function setPlayerState(player: Player, state: number, value: number) {
541
+ if (!player) return;
539
542
  player.setState(state, value);
540
543
  }
541
544
 
@@ -556,6 +559,7 @@ namespace mp {
556
559
  //% help=multiplayer/change-player-state-by
557
560
  //% parts="multiplayer"
558
561
  export function changePlayerStateBy(player: Player, state: number, delta: number) {
562
+ if (!player) return;
559
563
  player.setState(state, player.getState(state) + delta);
560
564
  }
561
565
 
@@ -574,6 +578,7 @@ namespace mp {
574
578
  //% help=multiplayer/get-player-property
575
579
  //% parts="multiplayer"
576
580
  export function getPlayerProperty(player: Player, prop: PlayerProperty): number {
581
+ if (!player) return 0;
577
582
  return player.getProperty(prop);
578
583
  }
579
584
 
@@ -611,6 +616,19 @@ namespace mp {
611
616
  _mpstate().onLifeZero(handler);
612
617
  }
613
618
 
619
+ //% blockId=mp_gameOverPlayerWin
620
+ //% block="game over $player wins"
621
+ //% player.shadow=mp_playerSelector
622
+ //% group=Game
623
+ //% weight=100
624
+ //% blockGap=8
625
+ //% help=multiplayer/game-over-player-win
626
+ //% parts="multiplayer"
627
+ export function gameOverPlayerWin(player: Player) {
628
+ if (!player) return;
629
+ game.gameOverPlayerWin(player.number);
630
+ }
631
+
614
632
  /**
615
633
  * Gets the player by number
616
634
  * @param number The one-based number of the player
@@ -3,6 +3,7 @@
3
3
  "description": "Additional blocks for building multiplayer games",
4
4
  "files": [
5
5
  "README.md",
6
+ "ns.ts",
6
7
  "fieldEditors.ts",
7
8
  "images.ts",
8
9
  "player.ts",
package/libs/music/ns.ts CHANGED
@@ -4,6 +4,6 @@
4
4
  */
5
5
  //% color=#E30FC0 weight=90 icon="\uf025"
6
6
  //% blockGap=8
7
- //% groups='["Sounds", "Melody", "Tone", "Volume", "Tempo"]'
7
+ //% groups='["Songs", "Sounds", "Tone", "Volume", "Tempo"]'
8
8
  namespace music {
9
9
  }