Skip to content

Instantly share code, notes, and snippets.

@cjameshuff
Created August 8, 2013 22:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cjameshuff/6189606 to your computer and use it in GitHub Desktop.
Save cjameshuff/6189606 to your computer and use it in GitHub Desktop.
uint8_t duckWheel1 = {
0x1F, // #####
0x1F, // #####
0x15, // #_#_#
0x0E, // _###_
0x1B, // ##_##
0x15, // #_#_#
0x1B, // ##_##
0x0E // _###_
};
uint8_t duckWheel2 = {
0x1F, // #####
0x1F, // #####
0x15, // #_#_#
0x0E, // _###_
0x15, // #_#_#
0x1F, // #####
0x15, // #_#_#
0x0E // _###_
};
uint8_t duckTail = {
0x01, // ____#
0x1F, // #####
0x1F, // #####
0x1E, // ####_
0x18, // ##___
0x00, // _____
0x00, // _____
0x00 // _____
};
uint8_t duckMiddle = {
0x1F, // #####
0x1F, // #####
0x17, // __###
0x01, // ____#
0x00, // _____
0x00, // _____
0x1F, // #####
0x00 // _____
};
uint8_t duckBreast = {
0x07, // __###
0x0F, // _####
0x0D, // _##_#
0x0F, // _####
0x05, // __#_#
0x03, // ___##
0x00, // _____
0x00 // _____
};
uint8_t duckFace = {
0x00, // _____
0x01, // ____#
0x03, // ___##
0x0F, // _####
0x1B, // ##_##
0x01, // ____#
0x01, // ____#
0x03 // ___##
};
uint8_t duckHead = {
0x18, // ##___
0x1C, // ###__
0x0C, // _##__
0x1C, // ###__
0x1C, // ###__
0x1C, // ###__
0x1D, // ###_#
0x1F // #####
};
uint8_t duckBack = {
0x00, // _____
0x00, // _____
0x00, // _____
0x00, // _____
0x00, // _____
0x00, // _____
0x10, // #____
0x1C // ###__
};
#define kDuckWheel1 (0)
#define kDuckWheel2 (1)
#define kDuckBreast (2)
#define kDuckMiddle (3)
#define kDuckTail (7)
#define kDuckFace (4)
#define kDuckHead (5)
#define kDuckBack (6)
void DoDuckroll()
{
CLCD_DefineCustomChar(duckWheel1, kDuckWheel1);
CLCD_DefineCustomChar(duckWheel2, kDuckWheel2);
CLCD_DefineCustomChar(duckBreast, kDuckBreast);
CLCD_DefineCustomChar(duckMiddle, kDuckMiddle);
CLCD_DefineCustomChar(duckTail, kDuckTail);
CLCD_DefineCustomChar(duckFace, kDuckFace);
CLCD_DefineCustomChar(duckHead, kDuckHead);
CLCD_DefineCustomChar(duckBack, kDuckBack);
//draw duck line 1
for(int offset = 16; offset > -20; --offset)
{
CLCD_SeekTo(0, 0);
CLCD_WriteChar(" ");
CLCD_SeekTo(0, offset);
int r = 16, l = 0;
if(offset < r-- && offset >= l--) CLCD_WriteChar(kDuckFace);
if(offset < r-- && offset >= l--) CLCD_WriteChar(kDuckHead);
if(offset < r-- && offset >= l--) CLCD_WriteChar(kDuckBack);
if(offset < r-- && offset >= l--) CLCD_WriteChar('D');
if(offset < r-- && offset >= l--) CLCD_WriteChar('u');
if(offset < r-- && offset >= l--) CLCD_WriteChar('c');
if(offset < r-- && offset >= l--) CLCD_WriteChar('k');
if(offset < r-- && offset >= l--) CLCD_WriteChar('r');
if(offset < r-- && offset >= l--) CLCD_WriteChar('o');
if(offset < r-- && offset >= l--) CLCD_WriteChar('l');
if(offset < r-- && offset >= l--) CLCD_WriteChar('l');
if(offset < r-- && offset >= l--) CLCD_WriteChar('e');
if(offset < r-- && offset >= l--) CLCD_WriteChar('d');
if(offset < r-- && offset >= l--) CLCD_WriteChar('!');
//draw duck line 2
CLCD_SeekTo(1, 0);
CLCD_WriteChar(" ");
CLCD_SeekTo(1, offset);
r = 16; l = 0;
if(offset < r-- && offset >= l--) CLCD_WriteChar(kDuckBreast);
if(offset < r-- && offset >= l--) CLCD_WriteChar((offset & 1)? kDuckWheel1 : kDuckWheel2);
if(offset < r-- && offset >= l--) CLCD_WriteChar(kDuckMiddle);
if(offset < r-- && offset >= l--) CLCD_WriteChar((offset & 1)? kDuckWheel2 : kDuckWheel1);
if(offset < r-- && offset >= l--) CLCD_WriteChar(kDuckTail);
CLCD_Redisplay();
OSA_WaitMS(1000/20);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment