pxt-microbit 7.0.19 → 7.0.21

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 (59) hide show
  1. package/built/block-tests.js +1 -1
  2. package/built/editor.js +24 -4
  3. package/built/target-strings.json +1 -1
  4. package/built/target.js +1 -1
  5. package/built/target.json +1 -1
  6. package/built/targetlight.json +1 -1
  7. package/docs/extensions/extension-gallery.md +12 -8
  8. package/docs/projects/analog-pin-tester.md +1 -1
  9. package/docs/projects/banana-keyboard/code.md +25 -25
  10. package/docs/projects/banana-keyboard/make.md +1 -1
  11. package/docs/projects/crashy-bird.md +12 -12
  12. package/docs/projects/fireflies.md +3 -3
  13. package/docs/projects/guitar/accelerometer.md +5 -5
  14. package/docs/projects/guitar/displaybuttons.md +7 -7
  15. package/docs/projects/guitar/lightsensor.md +4 -4
  16. package/docs/projects/guitar/pinpress.md +12 -12
  17. package/docs/projects/hack-your-headphones/code.md +19 -19
  18. package/docs/projects/hot-or-cold/beacon.md +1 -1
  19. package/docs/projects/hot-or-cold/multi-beacons.md +2 -2
  20. package/docs/projects/hot-or-cold/seekers.md +2 -2
  21. package/docs/projects/hot-or-cold.md +3 -3
  22. package/docs/projects/inchworm/code.md +5 -5
  23. package/docs/projects/inchworm/connect.md +1 -1
  24. package/docs/projects/infection.md +175 -175
  25. package/docs/projects/karel.md +37 -37
  26. package/docs/projects/light-monster/code.md +1 -1
  27. package/docs/projects/light-monster/connect.md +2 -2
  28. package/docs/projects/magic-button-trick.md +13 -13
  29. package/docs/projects/micro-coin.md +3 -3
  30. package/docs/projects/milk-carton-robot/code.md +3 -3
  31. package/docs/projects/milk-carton-robot/connect.md +2 -2
  32. package/docs/projects/milky-monster/code.md +3 -3
  33. package/docs/projects/milky-monster/connect.md +2 -2
  34. package/docs/projects/mood-radio.md +4 -4
  35. package/docs/projects/plant-watering/code.md +1 -1
  36. package/docs/projects/railway-crossing.md +5 -5
  37. package/docs/projects/rc-car/code.md +2 -2
  38. package/docs/projects/rc-car/connect.md +6 -6
  39. package/docs/projects/reaction-time/code.md +15 -15
  40. package/docs/projects/salute.md +5 -5
  41. package/docs/projects/servo-calibrator.md +3 -3
  42. package/docs/projects/soil-moisture/code.md +3 -3
  43. package/docs/projects/soil-moisture/connect.md +2 -5
  44. package/docs/projects/spy/coin-flipper.md +4 -4
  45. package/docs/projects/spy/rock-paper-scissors.md +3 -3
  46. package/docs/projects/states-of-matter/code.md +15 -15
  47. package/docs/projects/tele-potato.md +6 -6
  48. package/docs/projects/telegraph/code.md +7 -7
  49. package/docs/projects/timing-gates.md +11 -11
  50. package/docs/projects/turtle-scanner.md +1 -1
  51. package/docs/projects/turtle-spiral.md +1 -1
  52. package/docs/projects/voting-machine.md +4 -4
  53. package/docs/projects/wallet/code.md +2 -2
  54. package/docs/projects/watch/code.md +11 -11
  55. package/docs/projects/watch/digital-watch.md +37 -37
  56. package/docs/projects/watch/timer.md +9 -9
  57. package/docs/teachertool.md +178 -0
  58. package/package.json +2 -2
  59. package/targetconfig.json +2 -0
@@ -32,7 +32,7 @@ radio.setTransmitPower(6)
32
32
  The beacon just needs to send a radio message every now and then. So, to pace the transmits and give some visual feedback, we add some ``||basic:show icon||`` blocks to animate the screen.
33
33
 
34
34
  ```blocks
35
- basic.forever(() => {
35
+ basic.forever(function () {
36
36
  radio.sendNumber(0)
37
37
  basic.showIcon(IconNames.Heart)
38
38
  basic.showIcon(IconNames.SmallHeart)
@@ -142,7 +142,7 @@ radio.onReceivedNumber(function (receivedNumber) {
142
142
  To see the current score, we add an ``||input:on button pressed||`` that displays the score on the screen when the **A** button is pressed.
143
143
 
144
144
  ```block
145
- input.onButtonPressed(Button.A, () => {
145
+ input.onButtonPressed(Button.A, function () {
146
146
  basic.showNumber(game.score())
147
147
  })
148
148
  ```
@@ -172,7 +172,7 @@ radio.onReceivedNumber(function (receivedNumber) {
172
172
  }
173
173
  }
174
174
  })
175
- input.onButtonPressed(Button.A, () => {
175
+ input.onButtonPressed(Button.A, function () {
176
176
  basic.showNumber(game.score())
177
177
  })
178
178
  radio.setGroup(1)
@@ -15,11 +15,11 @@ Add code to make the inchworm move.
15
15
  In order for the inchworm to move, the @boardname@ needs to command the servo to move between ``0`` and ``180`` degrees at a certain pace. The code below starts the inchworm moving when the **A** button is pressed.
16
16
 
17
17
  ```blocks
18
- input.onButtonPressed(Button.A, () => {
19
- pins.servoWritePin(AnalogPin.P0, 0);
20
- basic.pause(500);
21
- pins.servoWritePin(AnalogPin.P0, 180);
22
- basic.pause(500);
18
+ input.onButtonPressed(Button.A, function () {
19
+ pins.servoWritePin(AnalogPin.P0, 0)
20
+ basic.pause(500)
21
+ pins.servoWritePin(AnalogPin.P0, 180)
22
+ basic.pause(500)
23
23
  });
24
24
  ```
25
25
 
@@ -17,7 +17,7 @@ radio.onReceivedNumber(function (receivedNumber: number) {
17
17
  pins.servoWritePin(AnalogPin.P0, 180)
18
18
  basic.pause(500)
19
19
  })
20
- input.onButtonPressed(Button.A, () => {
20
+ input.onButtonPressed(Button.A, function () {
21
21
  radio.sendNumber(0)
22
22
  })
23
23
  ```
@@ -106,10 +106,10 @@ As a result, it will not convert back to blocks.
106
106
  * Healthy: IconNames.Happy
107
107
  *
108
108
  */
109
- const INCUBATION = 20000; // time before showing symptoms
110
- const DEATH = 40000; // time before dying off the disease
111
- const RSSI = -45; // db
112
- const TRANSMISSIONPROB = 40; // % probability to transfer disease
109
+ const INCUBATION = 20000 // time before showing symptoms
110
+ const DEATH = 40000 // time before dying off the disease
111
+ const RSSI = -45 // db
112
+ const TRANSMISSIONPROB = 40 // % probability to transfer disease
113
113
 
114
114
  enum GameState {
115
115
  Stopped,
@@ -147,366 +147,366 @@ const GameIcons = {
147
147
 
148
148
  class Message {
149
149
 
150
- private _data: Buffer;
150
+ private _data: Buffer
151
151
 
152
152
  constructor(input?: Buffer) {
153
- this._data = input || control.createBuffer(13);
153
+ this._data = input || control.createBuffer(13)
154
154
  }
155
155
 
156
156
  get kind(): number {
157
- return this._data.getNumber(NumberFormat.Int8LE, 0);
157
+ return this._data.getNumber(NumberFormat.Int8LE, 0)
158
158
  }
159
159
 
160
160
  set kind(x: number) {
161
- this._data.setNumber(NumberFormat.Int8LE, 0, x);
161
+ this._data.setNumber(NumberFormat.Int8LE, 0, x)
162
162
  }
163
163
 
164
164
  get fromSerialNumber(): number {
165
- return this._data.getNumber(NumberFormat.Int32LE, 1);
165
+ return this._data.getNumber(NumberFormat.Int32LE, 1)
166
166
  }
167
167
 
168
168
  set fromSerialNumber(x: number) {
169
- this._data.setNumber(NumberFormat.Int32LE, 1, x);
169
+ this._data.setNumber(NumberFormat.Int32LE, 1, x)
170
170
  }
171
171
 
172
172
  get value(): number {
173
- return this._data.getNumber(NumberFormat.Int32LE, 5);
173
+ return this._data.getNumber(NumberFormat.Int32LE, 5)
174
174
  }
175
175
 
176
176
  set value(x: number) {
177
- this._data.setNumber(NumberFormat.Int32LE, 5, x);
177
+ this._data.setNumber(NumberFormat.Int32LE, 5, x)
178
178
  }
179
179
 
180
180
  get toSerialNumber(): number {
181
- return this._data.getNumber(NumberFormat.Int32LE, 9);
181
+ return this._data.getNumber(NumberFormat.Int32LE, 9)
182
182
  }
183
183
 
184
184
  set toSerialNumber(x: number) {
185
- this._data.setNumber(NumberFormat.Int32LE, 9, x);
185
+ this._data.setNumber(NumberFormat.Int32LE, 9, x)
186
186
  }
187
187
 
188
188
  send() {
189
- radio.sendBuffer(this._data);
190
- basic.pause(250);
189
+ radio.sendBuffer(this._data)
190
+ basic.pause(250)
191
191
  }
192
192
  }
193
193
 
194
- const playerIcons = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
194
+ const playerIcons = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
195
195
  class Player {
196
- id: number;
197
- icon: number;
198
- health: HealthState;
196
+ id: number
197
+ icon: number
198
+ health: HealthState
199
199
  show() {
200
- basic.showString(playerIcons[this.icon]);
200
+ basic.showString(playerIcons[this.icon])
201
201
  }
202
202
  }
203
203
 
204
204
  // common state
205
- let state = GameState.Stopped;
205
+ let state = GameState.Stopped
206
206
 
207
207
  // master state
208
- let master = false;
209
- let patientZero: Player;
210
- const players: Player[] = [];
208
+ let master = false
209
+ let patientZero: Player
210
+ const players: Player[] = []
211
211
 
212
212
  // player state
213
- let paired = false;
214
- let infectedBy = -1; // who infected (playerIcon)
215
- let infectedTime = 0; // local time when infection happened
216
- let playerIcon = -1; // player icon and identity
217
- let health = HealthState.Healthy;
213
+ let paired = false
214
+ let infectedBy = -1 // who infected (playerIcon)
215
+ let infectedTime = 0 // local time when infection happened
216
+ let playerIcon = -1 // player icon and identity
217
+ let health = HealthState.Healthy
218
218
 
219
219
  // get a player instance (creates one as needed)
220
220
  function player(id: number): Player {
221
221
  for (const p of players)
222
- if (p.id == id) return p;
222
+ if (p.id == id) return p
223
223
 
224
224
  // add player to game
225
- let p = new Player();
226
- p.id = id;
227
- p.icon = (players.length + 1) % playerIcons.length;
228
- p.health = HealthState.Healthy;
229
- players.push(p);
225
+ let p = new Player()
226
+ p.id = id
227
+ p.icon = (players.length + 1) % playerIcons.length
228
+ p.health = HealthState.Healthy
229
+ players.push(p)
230
230
  serial.writeLine(`player ==> ${p.id}`)
231
231
 
232
- return p;
232
+ return p
233
233
  }
234
234
 
235
235
  function allDead(): boolean {
236
236
  for (const p of players)
237
- if (p.health != HealthState.Dead) return false;
238
- return true;
237
+ if (p.health != HealthState.Dead) return false
238
+ return true
239
239
  }
240
240
 
241
241
  function gameOver() {
242
- state = GameState.Over;
242
+ state = GameState.Over
243
243
  if (patientZero)
244
- patientZero.show();
244
+ patientZero.show()
245
245
  }
246
246
 
247
247
  function gameFace() {
248
248
  switch (state) {
249
249
  case GameState.Stopped:
250
- basic.showIcon(GameIcons.Pairing);
251
- break;
250
+ basic.showIcon(GameIcons.Pairing)
251
+ break
252
252
  case GameState.Pairing:
253
253
  if (playerIcon > -1)
254
- basic.showString(playerIcons[playerIcon]);
254
+ basic.showString(playerIcons[playerIcon])
255
255
  else
256
- basic.showIcon(paired ? GameIcons.Paired : GameIcons.Pairing, 1);
257
- break;
256
+ basic.showIcon(paired ? GameIcons.Paired : GameIcons.Pairing, 1)
257
+ break
258
258
  case GameState.Infecting:
259
259
  case GameState.Running:
260
260
  switch (health) {
261
261
  case HealthState.Dead:
262
- basic.showIcon(GameIcons.Dead, 1);
263
- break;
262
+ basic.showIcon(GameIcons.Dead, 1)
263
+ break
264
264
  case HealthState.Sick:
265
- basic.showIcon(GameIcons.Sick, 1);
266
- break;
265
+ basic.showIcon(GameIcons.Sick, 1)
266
+ break
267
267
  default:
268
- basic.showIcon(GameIcons.Healthy, 1);
269
- break;
268
+ basic.showIcon(GameIcons.Healthy, 1)
269
+ break
270
270
  }
271
- break;
271
+ break
272
272
  case GameState.Over:
273
273
  // show id
274
- basic.showString(playerIcons[playerIcon]);
275
- basic.pause(2000);
274
+ basic.showString(playerIcons[playerIcon])
275
+ basic.pause(2000)
276
276
  // show health
277
277
  switch (health) {
278
278
  case HealthState.Dead:
279
- basic.showIcon(GameIcons.Dead, 2000);
280
- break;
279
+ basic.showIcon(GameIcons.Dead, 2000)
280
+ break
281
281
  case HealthState.Sick:
282
- basic.showIcon(GameIcons.Sick, 2000);
283
- break;
282
+ basic.showIcon(GameIcons.Sick, 2000)
283
+ break
284
284
  case HealthState.Incubating:
285
- basic.showIcon(GameIcons.Incubating, 2000);
286
- break;
285
+ basic.showIcon(GameIcons.Incubating, 2000)
286
+ break
287
287
  default:
288
- basic.showIcon(GameIcons.Healthy, 2000);
289
- break;
288
+ basic.showIcon(GameIcons.Healthy, 2000)
289
+ break
290
290
  }
291
291
  // show how infected
292
292
  if (infectedBy > -1) {
293
- basic.showString(" INFECTED BY");
294
- basic.showString(playerIcons[infectedBy]);
295
- basic.pause(2000);
293
+ basic.showString(" INFECTED BY")
294
+ basic.showString(playerIcons[infectedBy])
295
+ basic.pause(2000)
296
296
  } else {
297
- basic.showString(" PATIENT ZERO");
298
- basic.pause(2000);
297
+ basic.showString(" PATIENT ZERO")
298
+ basic.pause(2000)
299
299
  }
300
300
  // show score
301
- game.showScore();
302
- basic.pause(1000);
303
- break;
301
+ game.showScore()
302
+ basic.pause(1000)
303
+ break
304
304
  }
305
305
  }
306
306
 
307
307
  // master button controller
308
- input.onButtonPressed(Button.AB, () => {
308
+ input.onButtonPressed(Button.AB, function () {
309
309
  // register as master
310
310
  if (state == GameState.Stopped && !master) {
311
- master = true;
312
- paired = true;
313
- state = GameState.Pairing;
314
- serial.writeLine("registered as master");
315
- radio.setTransmitPower(7); // beef up master signal
316
- basic.showString("0");
317
- return;
311
+ master = true
312
+ paired = true
313
+ state = GameState.Pairing
314
+ serial.writeLine("registered as master")
315
+ radio.setTransmitPower(7) // beef up master signal
316
+ basic.showString("0")
317
+ return
318
318
  }
319
319
 
320
- if (!master) return; // master only beyond this
320
+ if (!master) return // master only beyond this
321
321
 
322
322
  // launch game
323
323
  if (state == GameState.Pairing) {
324
324
  // pick 1 player and infect him
325
- patientZero = players[randint(0, players.length - 1)];
325
+ patientZero = players[randint(0, players.length - 1)]
326
326
  // infecting message needs to be confirmed by
327
327
  // the player
328
- state = GameState.Infecting;
329
- serial.writeLine(`game started ${players.length} players`);
328
+ state = GameState.Infecting
329
+ serial.writeLine(`game started ${players.length} players`)
330
330
  } // end game
331
331
  else if (state == GameState.Running) {
332
- gameOver();
332
+ gameOver()
333
333
  }
334
334
  })
335
335
 
336
- radio.setGroup(42);
336
+ radio.setGroup(42)
337
337
  radio.onReceivedBuffer(function (receivedBuffer: Buffer) {
338
- const incomingMessage = new Message(receivedBuffer);
339
- const signal = radio.receivedPacket(RadioPacketProperty.SignalStrength);
338
+ const incomingMessage = new Message(receivedBuffer)
339
+ const signal = radio.receivedPacket(RadioPacketProperty.SignalStrength)
340
340
  if (master) {
341
341
  switch (incomingMessage.kind) {
342
342
  case MessageKind.PairRequest:
343
343
  // register player
344
- let n = players.length;
345
- player(incomingMessage.fromSerialNumber);
344
+ let n = players.length
345
+ player(incomingMessage.fromSerialNumber)
346
346
  // show player number if changed
347
347
  if (n != players.length) {
348
- basic.showNumber(players.length);
348
+ basic.showNumber(players.length)
349
349
  }
350
- break;
350
+ break
351
351
  case MessageKind.HealthValue:
352
- let p = player(incomingMessage.fromSerialNumber);
353
- p.health = incomingMessage.value;
352
+ let p = player(incomingMessage.fromSerialNumber)
353
+ p.health = incomingMessage.value
354
354
  // check if all infected
355
355
  if (allDead())
356
- gameOver();
357
- break;
356
+ gameOver()
357
+ break
358
358
  }
359
359
  } else {
360
360
  switch (incomingMessage.kind) {
361
361
  case MessageKind.GameState:
362
362
  // update game state
363
- state = incomingMessage.value as GameState;
364
- break;
363
+ state = incomingMessage.value as GameState
364
+ break
365
365
  case MessageKind.InitialInfect:
366
366
  if (infectedBy < 0 &&
367
367
  incomingMessage.toSerialNumber == control.deviceSerialNumber()) {
368
368
  // infected by master
369
- infectedBy = 0; // infected my master
370
- infectedTime = input.runningTime();
371
- health = HealthState.Incubating;
372
- serial.writeLine(`infected ${control.deviceSerialNumber()}`);
369
+ infectedBy = 0 // infected my master
370
+ infectedTime = input.runningTime()
371
+ health = HealthState.Incubating
372
+ serial.writeLine(`infected ${control.deviceSerialNumber()}`)
373
373
  }
374
- break;
374
+ break
375
375
  case MessageKind.HealthSet:
376
376
  if (incomingMessage.toSerialNumber == control.deviceSerialNumber()) {
377
- const newHealth = incomingMessage.value;
377
+ const newHealth = incomingMessage.value
378
378
  if (health < newHealth) {
379
- health = newHealth;
379
+ health = newHealth
380
380
  }
381
381
  }
382
- break;
382
+ break
383
383
  case MessageKind.PairConfirmation:
384
384
  if (!paired && state == GameState.Pairing &&
385
385
  incomingMessage.toSerialNumber == control.deviceSerialNumber()) {
386
386
  // paired!
387
387
  serial.writeLine(`player paired ==> ${control.deviceSerialNumber()}`)
388
- playerIcon = incomingMessage.value;
389
- paired = true;
388
+ playerIcon = incomingMessage.value
389
+ paired = true
390
390
  }
391
- break;
391
+ break
392
392
  case MessageKind.TransmitVirus:
393
393
  if (state == GameState.Running) {
394
394
  if (health == HealthState.Healthy) {
395
- serial.writeLine(`signal: ${signal}`);
395
+ serial.writeLine(`signal: ${signal}`)
396
396
  if (signal > RSSI &&
397
397
  randint(0, 100) > TRANSMISSIONPROB) {
398
- infectedBy = incomingMessage.value;
399
- infectedTime = input.runningTime();
400
- health = HealthState.Incubating;
398
+ infectedBy = incomingMessage.value
399
+ infectedTime = input.runningTime()
400
+ health = HealthState.Incubating
401
401
  }
402
402
  }
403
403
  }
404
- break;
404
+ break
405
405
  case MessageKind.HealthValue:
406
406
  if (health != HealthState.Dead && signal > RSSI) {
407
- game.addScore(1);
407
+ game.addScore(1)
408
408
  }
409
- break;
409
+ break
410
410
  }
411
411
  }
412
412
  })
413
413
 
414
414
  // main game loop
415
- basic.forever(() => {
416
- let message: Message;
415
+ basic.forever(function () {
416
+ let message: Message
417
417
  if (master) {
418
418
  switch (state) {
419
419
  case GameState.Pairing:
420
420
  // tell each player they are registered
421
421
  for (const p of players) {
422
- message = new Message();
423
- message.kind = MessageKind.PairConfirmation;
424
- message.value = p.icon;
425
- message.toSerialNumber = p.id;
426
- message.send();
422
+ message = new Message()
423
+ message.kind = MessageKind.PairConfirmation
424
+ message.value = p.icon
425
+ message.toSerialNumber = p.id
426
+ message.send()
427
427
  }
428
- serial.writeLine(`pairing ${players.length} players`);
429
- basic.pause(500);
430
- break;
428
+ serial.writeLine(`pairing ${players.length} players`)
429
+ basic.pause(500)
430
+ break
431
431
  case GameState.Infecting:
432
432
  if (patientZero.health == HealthState.Healthy) {
433
- message = new Message();
434
- message.kind = MessageKind.InitialInfect;
435
- message.toSerialNumber = patientZero.id;
436
- message.send();
437
- basic.pause(100);
433
+ message = new Message()
434
+ message.kind = MessageKind.InitialInfect
435
+ message.toSerialNumber = patientZero.id
436
+ message.send()
437
+ basic.pause(100)
438
438
  } else {
439
- serial.writeLine(`patient ${patientZero.id} infected`);
439
+ serial.writeLine(`patient ${patientZero.id} infected`)
440
440
  // show startup
441
- basic.showIcon(GameIcons.Dead);
442
- state = GameState.Running;
441
+ basic.showIcon(GameIcons.Dead)
442
+ state = GameState.Running
443
443
  }
444
- break;
444
+ break
445
445
  case GameState.Running:
446
446
  for (const p of players) {
447
- message = new Message();
448
- message.kind = MessageKind.HealthSet;
449
- message.value = p.health;
450
- message.toSerialNumber = p.id;
451
- message.send();
447
+ message = new Message()
448
+ message.kind = MessageKind.HealthSet
449
+ message.value = p.health
450
+ message.toSerialNumber = p.id
451
+ message.send()
452
452
  }
453
- break;
453
+ break
454
454
  case GameState.Over:
455
455
  if (patientZero)
456
- patientZero.show();
457
- break;
456
+ patientZero.show()
457
+ break
458
458
  }
459
459
  message = new Message()
460
- message.kind = MessageKind.GameState;
461
- message.value = state;
462
- message.send();
460
+ message.kind = MessageKind.GameState
461
+ message.value = state
462
+ message.send()
463
463
  } else { // player loop
464
464
  switch (state) {
465
465
  case GameState.Pairing:
466
466
  // broadcast player id
467
467
  if (playerIcon < 0) {
468
- message = new Message();
469
- message.kind = MessageKind.PairRequest;
470
- message.fromSerialNumber = control.deviceSerialNumber();
471
- message.send();
468
+ message = new Message()
469
+ message.kind = MessageKind.PairRequest
470
+ message.fromSerialNumber = control.deviceSerialNumber()
471
+ message.send()
472
472
  } else if (infectedBy > -1) {
473
- message = new Message();
474
- message.kind = MessageKind.HealthValue;
475
- message.fromSerialNumber = control.deviceSerialNumber();
476
- message.value = health;
477
- message.send();
473
+ message = new Message()
474
+ message.kind = MessageKind.HealthValue
475
+ message.fromSerialNumber = control.deviceSerialNumber()
476
+ message.value = health
477
+ message.send()
478
478
  }
479
- break;
479
+ break
480
480
  case GameState.Infecting:
481
- message = new Message();
482
- message.kind = MessageKind.HealthValue;
483
- message.fromSerialNumber = control.deviceSerialNumber();
484
- message.value = health;
485
- message.send();
486
- break;
481
+ message = new Message()
482
+ message.kind = MessageKind.HealthValue
483
+ message.fromSerialNumber = control.deviceSerialNumber()
484
+ message.value = health
485
+ message.send()
486
+ break
487
487
  case GameState.Running:
488
488
  // update health status
489
489
  if (health != HealthState.Healthy && input.runningTime() - infectedTime > DEATH)
490
- health = HealthState.Dead;
490
+ health = HealthState.Dead
491
491
  else if (health != HealthState.Healthy && input.runningTime() - infectedTime > INCUBATION)
492
- health = HealthState.Sick;
492
+ health = HealthState.Sick
493
493
  // transmit disease
494
494
  if (health == HealthState.Incubating || health == HealthState.Sick) {
495
- message = new Message();
496
- message.kind = MessageKind.TransmitVirus;
497
- message.fromSerialNumber = control.deviceSerialNumber();
498
- message.value = playerIcon;
499
- message.send();
495
+ message = new Message()
496
+ message.kind = MessageKind.TransmitVirus
497
+ message.fromSerialNumber = control.deviceSerialNumber()
498
+ message.value = playerIcon
499
+ message.send()
500
500
  }
501
- message = new Message();
502
- message.kind = MessageKind.HealthValue;
503
- message.fromSerialNumber = control.deviceSerialNumber();
504
- message.value = health;
505
- message.send();
506
- break;
501
+ message = new Message()
502
+ message.kind = MessageKind.HealthValue
503
+ message.fromSerialNumber = control.deviceSerialNumber()
504
+ message.value = health
505
+ message.send()
506
+ break
507
507
  }
508
508
  // show current animation
509
- gameFace();
509
+ gameFace()
510
510
  }
511
511
  })
512
512