Platform game written for the GHI/OutrageousCircuits RETRO game device. Navigate the caves collecting all the pickups and avoiding the creatures and haunted mine carts that patrol the caves. Oh and remember to watch out for the poisonous plants... This game demonstrates the ability to have multiple animated sprites where the sprites can overlap the background environment. See how the player moves past the fence and climbs the wall in the 3rd screen.

Dependencies:   mbed

Committer:
taylorza
Date:
Fri Jan 02 00:58:50 2015 +0000
Revision:
4:45ff7fc8a431
Child:
10:782e4e9c6b47
Completed Game v1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
taylorza 4:45ff7fc8a431 1 #ifndef __ASSETS_H__
taylorza 4:45ff7fc8a431 2 #define __ASSETS_H__
taylorza 4:45ff7fc8a431 3
taylorza 4:45ff7fc8a431 4 // Block images
taylorza 4:45ff7fc8a431 5 static const ImageFrame emptyBlock(bmp, 0, 0, 8, 8);
taylorza 4:45ff7fc8a431 6 static const ImageFrame brickBlock(bmp, 16, 48, 8, 8);
taylorza 4:45ff7fc8a431 7 static const ImageFrame meshFenceTopBlock(bmp, 24, 48, 8, 8);
taylorza 4:45ff7fc8a431 8 static const ImageFrame meshFenceBlock(bmp, 32, 48, 8, 8);
taylorza 4:45ff7fc8a431 9 static const ImageFrame platformBlock(bmp, 40, 48, 8, 8);
taylorza 4:45ff7fc8a431 10 static const ImageFrame brickTrimBlock(bmp, 48, 48, 8, 8);
taylorza 4:45ff7fc8a431 11 static const ImageFrame leftLadderBlock(bmp, 16, 56, 8, 8);
taylorza 4:45ff7fc8a431 12 static const ImageFrame rightLadderBlock(bmp, 24, 56, 8, 8);
taylorza 4:45ff7fc8a431 13 static const ImageFrame wallBlock(bmp, 56, 48, 8, 8);
taylorza 4:45ff7fc8a431 14 static const ImageFrame spikeyPlantBlock(bmp, 32, 56, 8, 8);
taylorza 4:45ff7fc8a431 15 static const ImageFrame keyBlock(bmp, 40, 56, 8, 8);
taylorza 4:45ff7fc8a431 16 static const ImageFrame diamondBlock(bmp, 48, 56, 8, 8);
taylorza 4:45ff7fc8a431 17 static const ImageFrame ropeBlock(bmp, 56, 56, 8, 8);
taylorza 4:45ff7fc8a431 18
taylorza 4:45ff7fc8a431 19
taylorza 4:45ff7fc8a431 20 // Sprite images
taylorza 4:45ff7fc8a431 21 static const ImageFrame playerWalk1(bmp, 0, 0, 16, 16);
taylorza 4:45ff7fc8a431 22 static const ImageFrame playerWalk2(bmp, 16, 0, 16, 16);
taylorza 4:45ff7fc8a431 23 static const ImageFrame playerWalk3(bmp, 32, 0, 16, 16);
taylorza 4:45ff7fc8a431 24 static const ImageFrame playerWalk4(bmp, 48, 0, 16, 16);
taylorza 4:45ff7fc8a431 25
taylorza 4:45ff7fc8a431 26 static const ImageFrame playerClimb1(bmp, 0, 64, 16, 16);
taylorza 4:45ff7fc8a431 27 static const ImageFrame playerClimb2(bmp, 16, 64, 16, 16);
taylorza 4:45ff7fc8a431 28 static const ImageFrame playerClimb3(bmp, 32, 64, 16, 16);
taylorza 4:45ff7fc8a431 29 static const ImageFrame playerClimb4(bmp, 48, 64, 16, 16);
taylorza 4:45ff7fc8a431 30
taylorza 4:45ff7fc8a431 31 static const ImageFrame angryBird1(bmp, 0, 16, 16, 16);
taylorza 4:45ff7fc8a431 32 static const ImageFrame angryBird2(bmp, 16, 16, 16, 16);
taylorza 4:45ff7fc8a431 33 static const ImageFrame angryBird3(bmp, 32, 16, 16, 16);
taylorza 4:45ff7fc8a431 34 static const ImageFrame angryBird4(bmp, 48, 16, 16, 16);
taylorza 4:45ff7fc8a431 35
taylorza 4:45ff7fc8a431 36 static const ImageFrame mineCart1(bmp, 0, 32, 16, 16);
taylorza 4:45ff7fc8a431 37 static const ImageFrame mineCart2(bmp, 16, 32, 16, 16);
taylorza 4:45ff7fc8a431 38 static const ImageFrame mineCart3(bmp, 32, 32, 16, 16);
taylorza 4:45ff7fc8a431 39 static const ImageFrame mineCart4(bmp, 48, 32, 16, 16);
taylorza 4:45ff7fc8a431 40
taylorza 4:45ff7fc8a431 41 static const ImageFrame bubble1(bmp, 0, 48, 16, 16);
taylorza 4:45ff7fc8a431 42
taylorza 4:45ff7fc8a431 43 // Blocks
taylorza 4:45ff7fc8a431 44 const Block blocks[] =
taylorza 4:45ff7fc8a431 45 {
taylorza 4:45ff7fc8a431 46 Block(&emptyBlock, Block::Background, 0, 0), // 0 - Empty block
taylorza 4:45ff7fc8a431 47 Block(&brickBlock, Block::Solid, 2, 0), // 1 - Brick - Red on black
taylorza 4:45ff7fc8a431 48 Block(&meshFenceTopBlock, Block::Background, 1, 0), // 2 - Mesh fence top - Blue on black
taylorza 4:45ff7fc8a431 49 Block(&meshFenceBlock, Block::Background, 1, 0), // 3 - Mesh fence - Blue on black
taylorza 4:45ff7fc8a431 50 Block(&platformBlock, Block::Platform, 5, 0), // 4 - Platform - Cyan on black
taylorza 4:45ff7fc8a431 51 Block(&brickTrimBlock, Block::Background, 2, 0), // 5 - Brick trim - Red on black
taylorza 4:45ff7fc8a431 52 Block(&leftLadderBlock, Block::Ladder, 6, 0), // 6 - Left ladder half - Yellow on black
taylorza 4:45ff7fc8a431 53 Block(&rightLadderBlock, Block::Ladder, 6, 0), // 7 - Right ladder half - Yellow on black
taylorza 4:45ff7fc8a431 54 Block(&wallBlock, Block::Ladder, 5, 0), // 8 - Wall - Cyan on black
taylorza 4:45ff7fc8a431 55 Block(&spikeyPlantBlock, Block::Deadly, 4, 0), // 9 - Deadly spikey plant block - Green on black
taylorza 4:45ff7fc8a431 56 Block(&keyBlock, Block::Pickup, 3, 0, 1), // 10 - Key block - Magenta on black, Data = 1 (Exit screen)
taylorza 4:45ff7fc8a431 57 Block(&diamondBlock, Block::Pickup, 6, 0), // 11 - Diamond block - Yellow on Black
taylorza 4:45ff7fc8a431 58 Block(&ropeBlock, Block::Ladder, 6, 0), // 12 - Rope - Yellow on black
taylorza 4:45ff7fc8a431 59 };
taylorza 4:45ff7fc8a431 60
taylorza 4:45ff7fc8a431 61 // Sprite animation sequences
taylorza 4:45ff7fc8a431 62 const ImageFrame *playerWalking[] = { &playerWalk1, &playerWalk2, &playerWalk3, &playerWalk4, NULL };
taylorza 4:45ff7fc8a431 63 const ImageFrame *playerClimbing[] = { &playerClimb1, &playerClimb2, &playerClimb3, &playerClimb4, NULL };
taylorza 4:45ff7fc8a431 64 const ImageFrame *angryBird[] = { &angryBird1, &angryBird2, &angryBird3, &angryBird4, NULL };
taylorza 4:45ff7fc8a431 65 const ImageFrame *mineCart[] = { &mineCart1, &mineCart2, &mineCart3, &mineCart4, NULL };
taylorza 4:45ff7fc8a431 66 const ImageFrame *bubble[] = { &bubble1, NULL };
taylorza 4:45ff7fc8a431 67
taylorza 4:45ff7fc8a431 68 // Sprites
taylorza 4:45ff7fc8a431 69 Sprite sprites[] =
taylorza 4:45ff7fc8a431 70 {
taylorza 4:45ff7fc8a431 71 Sprite(playerWalking, 7), // 0 - Player walking
taylorza 4:45ff7fc8a431 72 Sprite(playerClimbing, 7), // 1 - Player climbing
taylorza 4:45ff7fc8a431 73 Sprite(angryBird, 6), // 2 - Angry bird
taylorza 4:45ff7fc8a431 74 Sprite(mineCart, 3), // 3 - Mine cart
taylorza 4:45ff7fc8a431 75 Sprite(bubble, 1) // 4 - Bubble
taylorza 4:45ff7fc8a431 76 };
taylorza 4:45ff7fc8a431 77
taylorza 4:45ff7fc8a431 78 #endif //__ASSETS_H__