Esempio n. 1
0
void GameWidget::recBroke(int x, int y, bool *xmap)
{
	int t = type(ref(x, y));

	broke(x, y, xmap);
	// X-1, Y
	if (x > 0 && !xmap[y*scr_width + x - 1] && type(ref(x-1, y)) == t)
		recBroke(x-1, y, xmap);
	// X+1, Y
	if (x < scr_width-1 && !xmap[y*scr_width + x + 1] && type(ref(x+1, y)) == t)
		recBroke(x+1, y, xmap);
	// X, Y-1
	if (y > 0 && !xmap[(y-1)*scr_width + x] && type(ref(x, y-1)) == t)
		recBroke(x, y-1, xmap);
	// X, Y+1
	if (y < scr_height-1 && !xmap[(y+1)*scr_width + x] && type(ref(x, y+1)) == t)
		recBroke(x, y+1, xmap);

	// X-1, Y+1
	if (x > 0 && y < scr_height-1 && !xmap[(y+1)*scr_width + x - 1] && type(ref(x-1, y+1)) == t)
		recBroke(x-1, y+1, xmap);
	// X+1, Y+1
	if (x < scr_width-1 && y < scr_height-1 && !xmap[(y+1)*scr_width + x + 1] && type(ref(x+1, y+1)) == t)
		recBroke(x+1, y+1, xmap);
	// X-1, Y-1
	if (x > 0 && y > 0 && !xmap[(y-1)*scr_width + x - 1] && type(ref(x-1, y-1)) == t)
		recBroke(x-1, y-1, xmap);
	// X+1, Y-1
	if (x < scr_width-1 && y > 0 && !xmap[(y-1)*scr_width + x + 1] && type(ref(x+1, y-1)) == t)
		recBroke(x+1, y-1, xmap);
}
Esempio n. 2
0
int main(){
    
    textSize = strlen(text);


    analyze();
    broke();
    return 0;
}
void go(){
    // printf("give-me the encoded text\n");
    // scanf("%s",BUFF);
    const char * BUFF = "kqerejebcppcjcrkieacuzbkrvpkrbcibqcarbjcvfcupkriofkpacuzqepbkrxpeiieabdkpbcpfcdccafieabdkpbcpfeqpkazbkrhaibkapcciburccdkdccjcidfuixpafferbiczdfkabicbbenefcupjcvkabpcydccdpkbcocperkivkscpicbrkijpkabi";
    // const char * BUFF =  "emglosudcgdncuswysfhnsfcykdpumlwgyicoxysipjckqpkugkmgolicgincgacksnisacykzsckxecjckshysxcgoidpkzcnkshicgiwygkkgkgoldsilkgoiusigledspwzugfzccmdgyysfuszcnxeojncgyeoweupxezgacgnfglknsacigoiyckxcjuciuzcfzccndgyysfeuekuzcsocfzccnciaczejncshfzejzegmxcyhcjumgkucy";
    textSize = strlen(BUFF);
    text =(char *) calloc(textSize, sizeof(char));

    strcpy(text, BUFF);

    analyze();
    map();

    // free(BUFF);
    // free(text);
    broke();
}