diff --git a/.github/makecode/blocks.png b/.github/makecode/blocks.png
index 9d2ac6a..ec06699 100644
Binary files a/.github/makecode/blocks.png and b/.github/makecode/blocks.png differ
diff --git a/images.g.jres b/images.g.jres
index 8972835..87f9d28 100644
--- a/images.g.jres
+++ b/images.g.jres
@@ -49,16 +49,6 @@
"mimeType": "image/x-mkcd-f4",
"displayName": "Temporary asset3"
},
- "image14": {
- "data": "hwQQABAAAAAA8PAADw9wd/AADwDwAPB3AP//8PDwd3fwf/d/f3d3d/9/d/d/93d/cH9/93d/d3fwd3d/93d/d//393d39/d3f3d3f393d3dwf393f3/3f3B3d/d3d/d38Hd3f/f3d3fw939/d3d3dw8PDw8AD393AA8P8AAP8HfwAPAA8PBwdw==",
- "mimeType": "image/x-mkcd-f4",
- "displayName": "cactus_img"
- },
- "image4": {
- "data": "hwQQABAAAAAAUCVVIlUiggBQIkUiJSKCAFVFQlIlIoJQRSRCVCIiglBEJCJEVSKCAAAkVFUlIoIAQCRUIiIiggBAIkIiIiKCAEBEIkQiUoIAAEUiRCIiggBVJSJSIiKCVVUiQlUiUoJQUiVUJSIiggBVQlIiIiKCAFBFUlUiIoIAACVEUiIigg==",
- "mimeType": "image/x-mkcd-f4",
- "displayName": "fire_img"
- },
"image16": {
"data": "hwQYABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBVVQUAAAAAAAAAUFUzM1UFAAAAAAAAVTMzMzNVAAAAAAAANTMzMzNTBQAAAAAAVTMzMzMzVQAAAAAAUDUzMzMzUwUAAAAAAFU1MzMzM1UAAAAAAABVMzMzM1UAAAAAAABVMzMzM1UAAAAAAFU1MzMzUwUAAAAAUDUzMzMzVQAAAAAAVTMzMzNTBQAAAAAANTMzMzNVAAAAAAAAVTMzM1MFAAAAAAAAUFUzM1UAAAAAAAAAAFBVVQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"mimeType": "image/x-mkcd-f4",
@@ -80,6 +70,16 @@
"mimeType": "image/x-mkcd-f4",
"displayName": "jump right 1"
},
+ "image4": {
+ "data": "hwQQABAAAAAAAAAAAAAiggAAIEUiJCKCAABFQlIkIoJQRSRCVCIiglBEJCJEVSKCAAAkVFUlIoIAUCRUIiIiggBAIkIiIiKCAEBEIkQiUoIAAEUiRCIiggBVJSJSIiKCVVUiQlUiUoJQUiVUJSIiggAAQlIiIiKCAAAAUkQiIoIAAAAAACAigg==",
+ "mimeType": "image/x-mkcd-f4",
+ "displayName": "fire_img"
+ },
+ "image14": {
+ "data": "hwQQABAAAAAA8PAADw9wd/AADwDwAPB3APD/8PDwd3cAf/d/f3d3d/9/d3d393d/cH9/93d3d3fwd3d/93d/d//3d3d39/d3f3d3f393d3dwf393d3d3d3B3d/d3d/d38Hd3f/f3d3fw939/d3d3dw8PDw8AD393AA8P8AAP8HfwAPAA8PBwdw==",
+ "mimeType": "image/x-mkcd-f4",
+ "displayName": "cactus_img"
+ },
"anim4": {
"namespace": "myAnimations",
"id": "anim4",
diff --git a/images.g.ts b/images.g.ts
index 0582a6f..7729ea2 100644
--- a/images.g.ts
+++ b/images.g.ts
@@ -576,44 +576,6 @@ dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
................................................................................
................................................................................
................................................................................
-`;
- case "image14":
- case "cactus_img":return img`
-. . . . f . . f f . . . . f . .
-. f . f f 7 f f 7 7 7 f f . . f
-. . f f f f 7 7 7 f 7 7 7 f f .
-f . f 7 7 7 7 f 7 7 7 7 f . . .
-. f f 7 7 f 7 7 7 f 7 7 f f f .
-f . f f 7 7 7 f 7 7 7 7 7 . . f
-. . . f 7 7 f 7 f 7 7 f f f . .
-. . f 7 f f 7 7 7 7 f 7 7 . f .
-f . . f f 7 7 7 f f 7 7 7 . . .
-. f f 7 7 7 f 7 7 7 7 f 7 . . f
-f . . 7 7 f 7 7 7 f 7 7 7 f f .
-. . f 7 f 7 7 f 7 7 7 f 7 . . f
-. . 7 7 7 7 f 7 7 7 7 7 7 f . .
-7 f 7 7 7 7 7 f 7 f f 7 7 7 f 7
-7 7 7 7 f 7 7 7 7 f 7 7 7 7 7 7
-7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
-`;
- case "image4":
- case "fire_img":return img`
-. . . . . . . . . . . 5 . . . .
-. . . 5 5 . . . . . . 5 5 . . .
-. . 5 5 4 . . . . . 5 5 2 5 . .
-5 5 5 4 4 . 4 4 4 . 5 5 5 5 5 .
-5 2 5 4 4 4 4 2 4 5 5 2 5 2 5 5
-2 2 4 2 2 2 2 2 4 4 2 2 2 4 4 2
-5 5 2 2 2 4 4 2 2 2 2 2 4 2 2 4
-5 4 4 4 2 5 5 4 2 2 2 4 5 5 5 4
-2 2 2 4 4 5 2 2 4 4 2 5 5 2 5 2
-2 2 5 5 4 5 2 2 4 4 5 5 2 2 5 5
-5 5 5 2 5 5 2 2 2 2 2 2 2 2 2 2
-5 2 2 2 5 2 2 2 2 2 2 2 2 2 2 2
-2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
-2 2 2 2 2 2 2 2 5 2 2 5 2 2 2 2
-2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
-8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
`;
case "image16":
case "image17":return img`
@@ -1120,6 +1082,44 @@ e e e e b b b b b b e e
................................................................................
................................................................................
................................................................................
+`;
+ case "image4":
+ case "fire_img":return img`
+. . . . . . . . . . . 5 . . . .
+. . . 5 5 . . . . . . 5 5 . . .
+. . . 5 4 . . . . . 5 5 2 . . .
+. . . 4 4 . 5 4 4 . 5 5 5 . . .
+. . 5 4 4 4 4 2 4 5 5 2 5 2 . .
+. 2 4 2 2 2 2 2 4 4 2 2 2 4 . .
+. 5 2 2 2 4 4 2 2 2 2 2 4 2 2 .
+. 4 4 4 2 5 5 4 2 2 2 4 5 5 5 .
+. 2 2 4 4 5 2 2 4 4 2 5 5 2 4 .
+. 2 5 5 4 5 2 2 4 4 5 5 2 2 4 .
+. 4 4 2 5 5 2 2 2 2 2 2 2 2 2 .
+. 2 2 2 5 2 2 2 2 2 2 2 2 2 2 2
+2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
+2 2 2 2 2 2 2 2 5 2 2 5 2 2 2 2
+2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
+8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+`;
+ case "image14":
+ case "cactus_img":return img`
+. . . . f . . f f . . . . f . .
+. f . . f 7 f f 7 7 7 f f . . f
+. . . f f f 7 7 7 f 7 7 7 f f .
+f . f 7 7 7 7 f 7 7 7 7 f . . .
+. f f 7 7 f 7 7 7 f 7 7 f f f .
+f . f f 7 7 7 7 7 7 7 7 7 . . f
+. . . f 7 7 f 7 f 7 7 f f f . .
+. . f 7 7 f 7 7 7 7 f 7 7 . f .
+f . . f 7 7 7 7 f 7 7 7 7 . . .
+. f f 7 7 7 f 7 7 7 7 f 7 . . f
+f . . 7 7 7 7 7 7 7 7 7 7 f f .
+. . f 7 f 7 7 f 7 7 7 f 7 . . f
+. . 7 7 7 7 f 7 7 7 7 7 7 f . .
+7 f 7 7 7 7 7 f 7 7 f 7 7 7 f 7
+7 7 7 7 f 7 7 7 7 7 7 7 7 7 7 7
+7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
`;
}
return null;
diff --git a/main.blocks b/main.blocks
index ea9806c..0fcb5b8 100644
--- a/main.blocks
+++ b/main.blocks
@@ -1,4 +1,4 @@
-PlayerProjectileFoodEnemyhackercntstoneprojectileimg`
+hackercntstoneprojectilePlayerProjectileFoodEnemyimg`
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
@@ -119,6 +119,6 @@
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
-`{"commentRefs":[],"fieldData":{"img":"myImages.image17"}}hacker0assets.image`Temporary asset2`{"commentRefs":[],"fieldData":{"img":"myImages.image9"}}Playerhacker4090hacker800Sprite.ay@sethacker150tilemap`level1`{"commentRefs":[],"fieldData":{"tilemap":"level1"}}hackercontroller.upControllerButtonEvent.PressedTRUEEQ0Sprite.vyhacker0Sprite.vy@sethacker-120cnt1TRUEEQ0cnt1Sprite.vy@sethacker-120cnt2controller.leftControllerButtonEvent.Pressedhackerassets.image`Temporary asset3`{"commentRefs":[],"fieldData":{"img":"myImages.image11"}}controller.rightControllerButtonEvent.Pressedhackerassets.image`Temporary asset2`{"commentRefs":[],"fieldData":{"img":"myImages.image9"}}spriteProjectilelocationeffects.disintegratestone200else:
+`{"commentRefs":[],"fieldData":{"img":"myImages.image17"}}hacker0assets.image`Temporary asset2`{"commentRefs":[],"fieldData":{"img":"myImages.image9"}}Playerhacker4090hacker800Sprite.ay@sethacker150tilemap`level1`{"commentRefs":[],"fieldData":{"tilemap":"level1"}}hackercontroller.upControllerButtonEvent.PressedTRUEEQ0Sprite.vyhacker0Sprite.vy@sethacker-120cnt1TRUEEQ0cnt1Sprite.vy@sethacker-120cnt2TRUEGT0Sprite.vxhacker0hackerassets.animation`left jump animation`{"commentRefs":[],"fieldData":{"frames":"myAnimations.anim3"}}200falsehackerassets.animation`right jump animation`{"commentRefs":[],"fieldData":{"frames":"myAnimations.anim1"}}200falsecontroller.leftControllerButtonEvent.Pressedhackerassets.image`Temporary asset3`{"commentRefs":[],"fieldData":{"img":"myImages.image11"}}controller.rightControllerButtonEvent.Pressedhackerassets.image`Temporary asset2`{"commentRefs":[],"fieldData":{"img":"myImages.image9"}}5000projectile0assets.image`smartCloud`{"commentRefs":[],"fieldData":{"img":"myImages.image3"}}-190Sprite.y@setprojectile505000stone0assets.image`stone_img`{"commentRefs":[],"fieldData":{"img":"myImages.image13"}}055Sprite.x@setstoneADD0Sprite.xhacker5else:
hacker.ay = 0
-hacker.vy = 0TRUELT0Sprite.yhacker50Sprite.vy@sethacker30Sprite.ay@sethacker150TRUELTE0Sprite.yhacker90Sprite.ay@sethacker1505000projectile0assets.image`smartCloud`{"commentRefs":[],"fieldData":{"img":"myImages.image3"}}-190Sprite.y@setprojectile505000stone0assets.image`stone_img`{"commentRefs":[],"fieldData":{"img":"myImages.image13"}}055Sprite.x@setstoneADD0Sprite.xhacker5
\ No newline at end of file
+hacker.vy = 0TRUELT0Sprite.yhacker50Sprite.vy@sethacker50Sprite.ay@sethacker150TRUELTE0Sprite.yhacker90Sprite.ay@sethacker150
\ No newline at end of file
diff --git a/main.py b/main.py
index 10b788b..1ab26b9 100644
--- a/main.py
+++ b/main.py
@@ -6,6 +6,20 @@ def on_up_pressed():
elif cnt == 1:
hacker.vy = -120
cnt += 2
+ if hacker.vx < 0:
+ animation.run_image_animation(hacker,
+ assets.animation("""
+ left jump animation
+ """),
+ 300,
+ False)
+ else:
+ animation.run_image_animation(hacker,
+ assets.animation("""
+ right jump animation
+ """),
+ 300,
+ False)
controller.up.on_event(ControllerButtonEvent.PRESSED, on_up_pressed)
def on_left_pressed():
@@ -20,8 +34,8 @@ def on_right_pressed():
"""))
controller.right.on_event(ControllerButtonEvent.PRESSED, on_right_pressed)
-stone: Sprite = None
projectile: Sprite = None
+stone: Sprite = None
cnt = 0
hacker: Sprite = None
scene.set_background_image(img("""
@@ -170,17 +184,17 @@ def on_on_update():
game.on_update(on_on_update)
def on_update_interval():
+ global stone
+ stone = sprites.create_projectile_from_side(assets.image("""
+ cactus_img
+ """), 0, 55)
+ stone.x = hacker.x + 5
+game.on_update_interval(5000, on_update_interval)
+
+def on_update_interval2():
global projectile
projectile = sprites.create_projectile_from_side(assets.image("""
smartCloud
"""), -19, 0)
projectile.y = 50
-game.on_update_interval(5000, on_update_interval)
-
-def on_update_interval2():
- global stone
- stone = sprites.create_projectile_from_side(assets.image("""
- image14
- """), 0, 55)
- stone.x = hacker.x + 5
game.on_update_interval(5000, on_update_interval2)
diff --git a/main.ts b/main.ts
index 63b612c..51a9591 100644
--- a/main.ts
+++ b/main.ts
@@ -6,6 +6,21 @@ controller.up.onEvent(ControllerButtonEvent.Pressed, function () {
hacker.vy = -120
cnt += 2
}
+ if (hacker.vx > 0) {
+ animation.runImageAnimation(
+ hacker,
+ assets.animation`left jump animation`,
+ 200,
+ false
+ )
+ } else {
+ animation.runImageAnimation(
+ hacker,
+ assets.animation`right jump animation`,
+ 200,
+ false
+ )
+ }
})
controller.left.onEvent(ControllerButtonEvent.Pressed, function () {
hacker.setImage(assets.image`Temporary asset3`)
@@ -13,11 +28,8 @@ controller.left.onEvent(ControllerButtonEvent.Pressed, function () {
controller.right.onEvent(ControllerButtonEvent.Pressed, function () {
hacker.setImage(assets.image`Temporary asset2`)
})
-scene.onHitWall(SpriteKind.Projectile, function (sprite, location) {
- stone.destroy(effects.disintegrate, 200)
-})
-let projectile: Sprite = null
let stone: Sprite = null
+let projectile: Sprite = null
let cnt = 0
let hacker: Sprite = null
scene.setBackgroundImage(img`
@@ -153,7 +165,7 @@ scene.cameraFollowSprite(hacker)
// hacker.vy = 0
game.onUpdate(function () {
if (hacker.y < 50) {
- hacker.vy = 30
+ hacker.vy = 50
hacker.ay = 150
} else if (hacker.y <= 90) {
hacker.ay = 150
diff --git a/tilemap.g.jres b/tilemap.g.jres
index 555f9ac..322037e 100644
--- a/tilemap.g.jres
+++ b/tilemap.g.jres
@@ -27,17 +27,17 @@
"tilemapTile": true,
"displayName": "tile5"
},
- "tile5": {
- "data": "hwQQABAAAAAA8PAADw9wd/AADwDwAPB3AP//8PDwd3fwf/d/f3d3d/9/d/d/93d/cH9/93d/d3fwd3d/93d/d//393d39/d3f3d3f393d3dwf393f3/3f3B3d/d3d/d38Hd3f/f3d3fw939/d3d3dw8PDw8AD393AA8P8AAP8HfwAPAA8PBwdw==",
+ "tile6": {
+ "data": "hwQQABAAAAAAAAAAAAAiAAAAAAAgJCICAABQRVIkIiIAVVVCVCIi7lBVJSJEVeLiAEAlVFUlIiUAUCRUIiIi4gBAIkIiIiIuAEBEIkQiUuIAAEUiRCIiIgBVJSJSIiIuVVUiQlUiUuIAUCVUJSIi7gAAAFIiIiIuAAAAAEAiIgIAAAAAACAiAA==",
"mimeType": "image/x-mkcd-f4",
"tilemapTile": true,
- "displayName": "cactus"
+ "displayName": "fire"
},
- "tile6": {
- "data": "hwQQABAAAAAAUCVVIlUiggBQIkUiJSKCAFVFQlIlIoJQRSRCVCIiglBEJCJEVSKCAAAkVFUlIoIAQCRUIiIiggBAIkIiIiKCAEBEIkQiUoIAAEUiRCIiggBVJSJSIiKCVVUiQlUiUoJQUiVUJSIiggBVQlIiIiKCAFBFUlUiIoIAACVEUiIigg==",
+ "tile5": {
+ "data": "hwQQABAAAAAADwAAAA8AAPAAD/DwAPBwAA//8PDwd3fwf/d3f3d3d393d/d393d/cH9/d3d3d3fwd3d/93d/d//393d39/d3f3d3f393d3dwf393d393f3B3d/d3d/d38Hd3f/f3d3fw939/d3d3dw8PDw8AD393AA8P8AAP8HAAAAAA8PAAAA==",
"mimeType": "image/x-mkcd-f4",
"tilemapTile": true,
- "displayName": "fire"
+ "displayName": "cactus"
},
"level2": {
"id": "level2",
diff --git a/tilemap.g.ts b/tilemap.g.ts
index 2f53862..876dd74 100644
--- a/tilemap.g.ts
+++ b/tilemap.g.ts
@@ -11,9 +11,9 @@ namespace myTiles {
//% fixedInstance jres blockIdentity=images._tile
export const tile4 = image.ofBuffer(hex``);
//% fixedInstance jres blockIdentity=images._tile
- export const tile5 = image.ofBuffer(hex``);
- //% fixedInstance jres blockIdentity=images._tile
export const tile6 = image.ofBuffer(hex``);
+ //% fixedInstance jres blockIdentity=images._tile
+ export const tile5 = image.ofBuffer(hex``);
helpers._registerFactory("tilemap", function(name: string) {
switch(helpers.stringTrim(name)) {
@@ -107,10 +107,10 @@ namespace myTiles {
case "tile3":return tile3;
case "tile5":
case "tile4":return tile4;
- case "cactus":
- case "tile5":return tile5;
case "fire":
case "tile6":return tile6;
+ case "cactus":
+ case "tile5":return tile5;
}
return null;
})