Пример #1
0
void encode(cell *c, state50 s, int mod, int spn) {
/*int i = 0;
  i *= 16; i += s.color;
  i *= 16; i += s.color2;
  i *= 16; i += s.polarity1;
  i *= 16; i += s.polarity2;
  i *= 16; i += mod;
  i *= 16; i += spn;
  if(c->master->fiftyval) { printf("multiply 50val\n"); exit(1); } 
  c->master->fiftyval = i; c->master->fiftyused = false; */
  
  c->master->fiftyval = 
    s.color + s.polarity1 * 8 + s.polarity2 * 16 + mod * 32;
  // s.color * 16 + (s.polarity1 ? 128 : 0) + (s.polarity2 ? 256 :0) + mod;
  
  saveCode(c);
  for(int i=0; i<7; i++)
    saveCode(createStep(c->master, i)->c7);
    
  /* for(int i=0; i<7; i++) if(c->master->move[i]) {
    saveCode(c->master, i, c->master->move[i]);
    saveCode(c->master->move[i], c->master->spin[i], c->master);
    } */
  }
void Splash() {

	lcd_init();
	
	struct animStep anim[16];
	char name[3];

	lcd_set_char(0,(unsigned char*)Aini0);
	lcd_set_char(1,(unsigned char*)Aini1);
	lcd_set_char(2,(unsigned char*)Aini2);
	lcd_set_char(3,(unsigned char*)Aini3);
	lcd_set_char(4,(unsigned char*)Aini4);
	lcd_set_char(5,(unsigned char*)Aini5);
	lcd_set_char(6,(unsigned char*)Aini6);
	lcd_set_char(7,(unsigned char*)Aini7);

	int animLength = 13; 
	int i;
	
	anim[0]  = createStep(6,8,2);
	anim[1]  = createStep(6,8,2);
	anim[2]  = createStep(0,8,2);
	anim[3]  = createStep(1,8,2);
	anim[4]  = createStep(2,8,2);
	anim[5]  = createStep(3,8,2);
	anim[6]  = createStep(4,9,2);
	anim[7]  = createStep(3,10,2);
	anim[8]  = createStep(4,11,2);
	anim[9]  = createStep(3,12,2);
	anim[10] = createStep(1,12,2);
	anim[11] = createStep(0,12,2);
	anim[12] = createStep(7,12,2);

	name[0] = 'D';
	name[1] = 'L';
	name[2] = 'L';


	for(i = 0; i < animLength; i++) {
		if(i == 6) {
			lcd_gotoxy(i+2,2);
			_lcd_write_byte(5,1);
		}
		else if(i > 6 && i < 10) {
			lcd_gotoxy(i+2,2);
			_lcd_write_byte(6,1);
			lcd_gotoxy(i+2,1);
			_lcd_write_byte(name[i-7],1);
		}
		lcd_gotoxy(anim[i].posx,anim[i].posy);
		_lcd_write_byte(anim[i].sprite,1);
		_delay_ms(100);
	}

	_delay_ms(1000);
	lcd_clear();


}