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:
Mon Feb 16 03:46:57 2015 +0000
Revision:
16:f9227904afc4
Parent:
10:782e4e9c6b47
Added a 4th game screen

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 10:782e4e9c6b47 5 static const ImageFrame emptyBlock(bmp, 0, 0);
taylorza 10:782e4e9c6b47 6 static const ImageFrame brickBlock(bmp, 16, 48);
taylorza 10:782e4e9c6b47 7 static const ImageFrame meshFenceTopBlock(bmp, 24, 48);
taylorza 10:782e4e9c6b47 8 static const ImageFrame meshFenceBlock(bmp, 32, 48);
taylorza 10:782e4e9c6b47 9 static const ImageFrame platformBlock(bmp, 40, 48);
taylorza 10:782e4e9c6b47 10 static const ImageFrame brickTrimBlock(bmp, 48, 48);
taylorza 10:782e4e9c6b47 11 static const ImageFrame leftLadderBlock(bmp, 16, 56);
taylorza 10:782e4e9c6b47 12 static const ImageFrame rightLadderBlock(bmp, 24, 56);
taylorza 10:782e4e9c6b47 13 static const ImageFrame wallBlock(bmp, 56, 48);
taylorza 10:782e4e9c6b47 14 static const ImageFrame spikeyPlantBlock(bmp, 32, 56);
taylorza 10:782e4e9c6b47 15 static const ImageFrame keyBlock(bmp, 40, 56);
taylorza 10:782e4e9c6b47 16 static const ImageFrame diamondBlock(bmp, 48, 56);
taylorza 10:782e4e9c6b47 17 static const ImageFrame ropeBlock(bmp, 56, 56);
taylorza 4:45ff7fc8a431 18
taylorza 4:45ff7fc8a431 19
taylorza 4:45ff7fc8a431 20 // Sprite images
taylorza 10:782e4e9c6b47 21 static const ImageFrame playerWalk1(bmp, 0, 0);
taylorza 10:782e4e9c6b47 22 static const ImageFrame playerWalk2(bmp, 16, 0);
taylorza 10:782e4e9c6b47 23 static const ImageFrame playerWalk3(bmp, 32, 0);
taylorza 10:782e4e9c6b47 24 static const ImageFrame playerWalk4(bmp, 48, 0);
taylorza 4:45ff7fc8a431 25
taylorza 10:782e4e9c6b47 26 static const ImageFrame playerClimb1(bmp, 0, 64);
taylorza 10:782e4e9c6b47 27 static const ImageFrame playerClimb2(bmp, 16, 64);
taylorza 10:782e4e9c6b47 28 static const ImageFrame playerClimb3(bmp, 32, 64);
taylorza 10:782e4e9c6b47 29 static const ImageFrame playerClimb4(bmp, 48, 64);
taylorza 4:45ff7fc8a431 30
taylorza 10:782e4e9c6b47 31 static const ImageFrame angryBird1(bmp, 0, 16);
taylorza 10:782e4e9c6b47 32 static const ImageFrame angryBird2(bmp, 16, 16);
taylorza 10:782e4e9c6b47 33 static const ImageFrame angryBird3(bmp, 32, 16);
taylorza 10:782e4e9c6b47 34 static const ImageFrame angryBird4(bmp, 48, 16);
taylorza 4:45ff7fc8a431 35
taylorza 10:782e4e9c6b47 36 static const ImageFrame mineCart1(bmp, 0, 32);
taylorza 10:782e4e9c6b47 37 static const ImageFrame mineCart2(bmp, 16, 32);
taylorza 10:782e4e9c6b47 38 static const ImageFrame mineCart3(bmp, 32, 32);
taylorza 10:782e4e9c6b47 39 static const ImageFrame mineCart4(bmp, 48, 32);
taylorza 4:45ff7fc8a431 40
taylorza 10:782e4e9c6b47 41 static const ImageFrame bubble1(bmp, 0, 48);
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__