9-1-¸¶. º®µ¹ »èÁ¦

º®µ¹À» »èÁ¦ÇÏ´Â ºÎºÐÀº isfull ÇÔ¼ö¿¡¼­ Àü´ãÇÏ°í ÀÖ´Ù. ÀÌ ÇÔ¼ö´Â downmove¿¡¼­ »õ º®µ¹ÀÌ Âø·úÇßÀ» ¶§¸¶´Ù È£ÃâµÈ´Ù.

void isfull()
{
	int check,check2;
	score++;
	printscore();
	for (i=0;i<4;i++)       // ¹è¿­¿¡ ÇöÀç ¶³¾îÁø º®µ¹À» ±â·Ï 
		tet[nowx+pat[nowbrick][nowrot*8+i*2]]
		[nowy+pat[nowbrick][nowrot*8+i*2+1]]=1;
	check2=0;
	for (i=20;i>=0;i--) {     // ÇÑ ¶óÀÎÀÌ ´Ù á´ÂÁö °Ë»ç 
		check=0;
		for (j=1;j<13;j++)
			if (tet[j][i]==0) check=1;
		if (check==0) {             // ´Ù Âù ¶óÀÎÀÌ ¹ß°ßµÇ¸é »èÁ¦ÇÑ´Ù.  
			check2=1;                // À§ÀÇ ¶óÀÎÀ» ¾Æ·¡·Î º¹»çÇØÁØ´Ù.   
			for (k=i-1;k>0;k--)      // ±× ¶óÀÎÀ» ´Ù½Ã °Ë»çÇϱâ À§ÇØ i´Â 
				for (j=1;j<13;j++)       // ±× ÀÚ¸®¿¡ ¹­¾î µÎ¾î¾ß ÇÑ´Ù.      
					tet[j][k+1]=tet[j][k];
			i++;
		}
	}

	if (check2==0) return;     // ÇÑ ¶óÀεµ Áö¿ìÁö ¸øÇßÀ¸¸é ¸®ÅÏ  
	score+=10;
	KillTimer(hWnd,1);
	speed-=10;
	if (speed<100) speed=100;
	SetTimer(hWnd,1,speed,NULL);
	drawscreen();
}

¿ì¼± Á¡¼ö¸¦ Áõ°¡½ÃÅ°´Â °£´ÜÇÑ ÀϺÎÅÍ ÇÑ´Ù. ±×¸®°í tet ¹è¿­¿¡ º®µ¹ÀÌ ¾ÉÀº À§Ä¡¿¡ ´ëÀÀÇÏ´Â ¹è¿­°ªÀ» 1·Î ¹Ù²ÞÀ¸·Î½á »õ º®µ¹À» ±â·ÏÇÑ´Ù. µÎ¹ø° i·çÇÁ¿¡¼­ ¹è¿­À» µÚÁ® ÇÑ ÁÙÀÌ ¸ðµÎ 1ÀÎ ÁÙÀ» ã¾Æ »èÁ¦ÇÏ´Â ÀÏÀ» Çϴµ¥ ¹Ø¹Ù´ÚºÎÅÍ °Ë»ç¸¦ ÁøÇàÇÑ´Ù. check°ªÀ» 0À¸·Î µÎ°í j·çÇÁ¸¦ µ¹¸ç ÇÑÁÙÀÇ ¹è¿­°ªÁß 0ÀÎ °ªÀÌ ³ª¿À¸é check¸¦ 1·Î ¹Ù²Û´Ù. ¸¸¾à ÀÌ ·çÇÁ°¡ ³¡³µ´Âµ¥µµ check°¡ 0ÀÇ °ªÀ» ±×´ë·Î À¯ÁöÇÏ°í ÀÖ°Ô µÇ¸é ¹è¿­ Áß 0ÀÌ Çϳªµµ ¾ø´Ù´Â ¶æÀ̸ç ÀÌ°ÍÀº °ð ÇÑÁÙÀÌ ÀüºÎ 1, Áï º®µ¹·Î °¡µæ Â÷ ÀÖÀ½À» ÀǹÌÇÏ°Ô µÈ´Ù. ÇÑÁÙÀÌ ´Ù áÀ¸¸é ±× ÁÙÀº ¾ø¾îÁö°Ô µÇ°í À­ºÎºÐºÎÅÍ ÇÑÄ­ ¾Æ·¡·Î º¹»ç¸¦ ÇØ ³ª°¡´Âµ¥ 2Áß ·çÇÁÀÌÁö¸¸ ±×¸® ¾î·Á¿î ºÎºÐÀº ¾Æ´Ï´Ù.

º¹»ç°¡ ³¡³ª¸é i¸¦ 1 Áõ°¡½ÃÅ°´Âµ¥ ÀÌ°Ç ¹«½¼ ¶æÀϱî. iº¯¼ö´Â ÇÑÁÙ °Ë»ç ·çÇÁÀÇ Á¦¾î º¯¼öÀε¥ ¿Ö ÀÌ °ªÀ» 1Áõ°¡½Ãų±î? i°ªÀº 22Çà ¹Ø¿¡¼­ºÎÅÍ À§·Î ¿Ã¶ó°¡¸ç ÇÑÁÙ¾¿ °Ë»ç¸¦ ÇØ ³ª°¡´Ù°¡ Âù ¶óÀÎÀº »èÁ¦Çϵµ·Ï µÇ¾î ÀÖ´Ù. ±×·±µ¥ ÇÑ ¶óÀÎÀÌ »èÁ¦µÈ ÈÄ¿¡´Â ±× ¶óÀο¡ ¹Ù·Î À§ÀÇ ¶óÀÎÀÌ º¹»ç°¡ µÇ¹Ç·Î ±× ¶óÀÎÀº ´Ù½Ã Çѹø ´õ °Ë»ç¸¦ ¹Þ¾Æ¾ß ÇÑ´Ù. ±×·¯³ª ·çÇÁÀÇ Áõ°¨¹®¿¡ ÀÇÇØ i--·Î i°¡ ÇÑÄ­ À§·Î ¿Ã¶ó°¡ ¹ö·Á ±× ¶óÀÎÀº ´Ù½Ã °Ë»ç¸¦ ÇÏÁö ¾Ê°Ô µÈ´Ù.

±×·¡¼­ ÇÑ ¶óÀÎÀ» »èÁ¦ÇÑ ÈÄ¿¡´Â ´Ù½Ã Çѹø ´õ ±× ¶óÀÎÀ» °Ë»çÇϱâ À§ÇØ i°ªÀ» 1Áõ°¡½ÃÅ°´Â °ÍÀÌ´Ù. ¿©±â¼­ 1Áõ°¡½ÃÅ°°í ·çÇÁÀÇ Áõ°¨¹®¿¡¼­ ´Ù½Ã °¨¼Ò½ÃÅ°¹Ç·Î i´Â ·çÇÁ¸¦ µ¹´õ¶óµµ °ªÀ» ±×´ë·Î À¯ÁöÇÑ´Ù. ¸¸¾à ¿©±â¼­ i++À» ¾ø¾Ö¹ö¸®¸é ÇÑ ÁÙÀ» Áö¿ì°í À­ÁÙ·Î ¿Ã¶ó°¡ ¹ö¸®°Ô µÇ¹Ç·Î µÎ ÁÙÀÌ ¿¬¼ÓÀûÀ¸·Î º®µ¹·Î °¡µæÂ÷ ÀÖÀ» °æ¿ì À­ÁÙÀº »èÁ¦°¡ ¾ÈµÈ´Ù. ÀÌ·±½ÄÀÇ ³í¸®´Â óÀ½ºÎÅÍ °è»ê¿¡ ³Ö±â°¡ Âü ¾î·Á¿î ºÎºÐÀÌ´Ù.

i·çÇÁ°¡ ´Ù µ¹°Ô µÇ¸é °Ë»ç¹× »èÁ¦°¡ ¿Ï·áµÈ´Ù. °Ë»ç ÈÄ ÇÑÁÙÀÌ¶óµµ »èÁ¦°¡ µÇ¾úÀ¸¸é check2 º¯¼ö´Â 1ÀÌ µÇ´Âµ¥ ÀÌ °æ¿ì ŸÀÌ¸Ó Áֱ⸦ Á¶±Ý ´ÜÃàÇÏ¿© º®µ¹ÀÌ ³»·Á¿À´Â ¼Óµµ¸¦ Á¡Á¡ ´õ ºü¸£°Ô ÇØ ÁÖ¾ú´Ù. ±×¸®°í tet ¹è¿­»óÀ¸·Î¸¸ »èÁ¦µÈ º®µ¹ÀÌ È­¸é»ó¿¡µµ »èÁ¦µÇµµ·Ï drawscreen ÇÔ¼ö¸¦ È£ÃâÇÏ¿© È­¸éÀ» ´Ù½Ã ±×¸®µµ·Ï ÇÏ¿´´Ù.


¸ñ·Ï º¸±â  ´ÙÀ½ °­Á            written by http://www.winapi.co.kr