º®µ¹À» À̵¿½ÃŰ´Â ´ëºÎºÐÀÇ ·çƾÀº »ç¿ëÀÚ°¡ ۸¦ ÀÔ·ÂÇÒ ¶§ÀÎ ProcessKey¿¡ Æ÷ÇԵǾî ÀÖ´Ù. ÀÌ ÇÔ¼ö´Â ¿ì¼± kbhit¸¦ ºÒ·¯ º¸°í ´·¯Áø ۰¡ ÀÖÀ» ¶§¸¸ Ű ÀÔ·ÂÀ» ó¸®ÇÏ¸ç ±×·¸Áö ¾ÊÀ» °æ¿ì´Â ¹Ù·Î ¸®ÅÏÇÏ¿© °ÔÀÓÀ» °è¼Ó ÁøÇàÇϵµ·Ï ÇÑ´Ù. »ç¿ëÀÚ°¡ °¡¸¸È÷ À־ º®µ¹Àº °è¼Ó ÇÑľ¿ ³»·Á¿Í¾ß ÇϹǷΠÀÔ·ÂÀ» ¹«ÇÑÈ÷ ´ë±âÇÏ´Â getch ÇÔ¼ö¸¦ ¹Ù·Î È£ÃâÇØ¼´Â ¾ÈµÈ´Ù.
ÀÔ·ÂµÈ Ä¿¼ À̵¿Å°¿¡ µû¶ó ´ëÀÀµÇ´Â ¹æÇâÀ¸·Î º®µ¹À» À̵¿½Ã۴µ¥ ´ëÇ¥ÀûÀ¸·Î ¿ÞÂÊ À̵¿ÀÇ °æ¿ì¸¦ º¸ÀÚ. ¿ÞÂÊ Å°°¡ ´·¯Áö¸é GetAround ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ÇöÀç ÁÂÇ¥º¸´Ù ÇÑÄ ¿ÞÂÊ, Áï (nx-1,ny)À§Ä¡¿¡ ¹«¾ùÀÌ ÀÖ´ÂÁö¸¦ Á¶»çÇÑ´Ù. ¸¸¾à ÀÌ À§Ä¡¿¡ º®À̳ª ½×¿©Á® ÀÖ´Â º®µ¹ÀÌ ÀÖ´Ù¸é ´õ ÀÌ»ó ¿ÞÂÊÀ¸·Î À̵¿ÇÒ ¼ö ¾ø´Ù.

GetAround·Î ¿ÞÂÊ À§Ä¡¸¦ Á¶»çÇÑ °á°ú°¡ ºó °ø°£(EMPTY)ÀÏ ¶§¸¸ ¿ÞÂÊÀ¸·Î À̵¿ÇÒ ¼ö ÀÖ´Ù. À̵¿ÇÏ´Â ¹æ½ÄÀº ¾ÆÁÖ °£´ÜÇÑ´Ù. PrintBrick(FALSE)·Î ÇöÀç À§Ä¡ÀÇ º®µ¹À» Áö¿î ÈÄ nx¸¦ 1°¨¼Ò½Ã۰í PrintBrick(TRUE)·Î »õ À§Ä¡¿¡ ´Ù½Ã Ãâ·ÂÇÏ¸é µÈ´Ù. ½±°Ô ¸»Çϸé ÇöÀç À§Ä¡ÀÇ º®µ¹À» Áö¿ì°í ¿ÞÂÊ¿¡ ´Ù½Ã Ãâ·ÂÇÏ´Â °ÍÀÌ´Ù. ¿À¸¥ÂÊ À̵¿µµ Á¡°ËÇÏ´Â ÁÂÇ¥¿Í nx°¡ 1Áõ°¡ÇÑ´Ù´Â °Í¸¸ ´Ù¸¦ »Ó ¿ÞÂÊ À̵¿°ú ´Ù¸¦ ¹Ù ¾ø´Ù.
ȸÀüÀÇ °æ¿ì´Â Á¶±Ý ´õ º¹ÀâÇѵ¥ trot¿¡ ´ÙÀ½ ȸÀü½Ãų ¸ð¾çÀ» ¸ÕÀú ±¸Çϰí ȸÀüÇßÀ» ¶§ ÁÖº¯¿¡ ¹«¾ùÀÌ ÀÖ´ÂÁö¸¦ Á¶»çÇÑ´Ù. ÀÌ °æ¿ìµµ ȸÀüÇÑ °á°ú º®À̳ª º®µ¹ÀÌ ºÎµúÈù´Ù¸é ȸÀüÇÒ ¼ö ¾ø´Ù. ȸÀü¿¡ ¹æÇذ¡ µÇÁö ¾Ê´Â ÃæºÐÇÑ °ø°£ÀÌ ÀÖÀ» ¶§¸¸ ȸÀüÇÒ ¼ö ÀÖ´Ù. ȸÀü ¸ð¾çÀº ´Ü¼øÈ÷ Áõ°¨Çϱ⸸ ÇÏ´Â °ÍÀÌ ¾Æ´Ï°í ¼øÈ¯Çϱ⠶§¹®¿¡ trot Àӽà º¯¼ö¿¡ ´ÙÀ½ ȸÀü ¸ð¾çÀ» ¹Ì¸® ±¸ÇØ ³õ°í ȸÀü °¡´É¼ºÀ» Á¡°ËÇϵµ·Ï Çß´Ù. ȸÀü °¡´ÉÇÏ´Ù¸é ÇöÀç À§Ä¡¿¡ trot¸ð¾çÀ¸·Î ´Ù½Ã º®µ¹À» Ãâ·ÂÇÑ´Ù.
º®µ¹À» ¾Æ·¡ÂÊÀ¸·Î À̵¿½ÃŰ´Â µ¿ÀÛÀº »ç¿ëÀÚÀÇ Å° ÀÔ·ÂÀÌ ÀÖÀ» ¶§»Ó¸¸ ¾Æ´Ï¶ó ½Ã°£ÀÌ °æ°úÇÒ ¶§µµ ÁÖ±âÀûÀ¸·Î ó¸®ÇØ¾ß ÇϹǷΠMoveDownÀ̶ó´Â º°µµÀÇ ÇÔ¼ö·Î ºÐ¸®µÇ¾î ÀÖ´Ù. ¾Æ·¡ÂÊÀ¸·Î ³»¸®´Â µ¿ÀÛµµ ¿ÞÂÊ, ¿À¸¥ÂÊ À̵¿°ú À¯»çÇ쵂 ¹Ù´Ú¿¡ ´êÀº °æ¿ì ä¿öÁø ÁÙ Á¦°Å¸¦ À§ÇØ TestFull ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù´Â °ÍÀÌ ´Ù¸£´Ù. ¶ÇÇÑ ¹Ù´Ú¿¡ ´êÀº °æ¿ì TRUE¸¦ ¸®ÅÏÇÏ¿© mainÀÇ for(;2;) ·çÇÁ¸¦ Å»ÃâÇϵµ·Ï ÇØ ÁØ´Ù. for(;2;) ·çÇÁ´Â º®µ¹ Çϳª°¡ ¹Ù´Ú¿¡ ´êÀ» ¶§±îÁöÀÇ ·çÇÁÀ̹ǷΠMoveDownÀÌ TRUE¸¦ ¸®ÅÏÇϸé Áï½Ã ·çÇÁ¸¦ Å»ÃâÇÏ¿© »õ·Î¿î º®µ¹À» ¸¸µéµµ·Ï ÇØ¾ß ÇÑ´Ù. ºó °ø°£¿¡¼ ÇÑ Ä ¾Æ·¡·Î À̵¿¸¸ ÇßÀ» °æ¿ì´Â FALSE¸¦ ¸®ÅÏÇÏ¿© for (;2;) ·çÇÁ¸¦ °è¼Ó µ¹µµ·Ï ÇÑ´Ù.
MoveDown ÇÔ¼ö´Â ¼¼ ±ºµ¥¼ È£ÃâµÇ´Âµ¥ mainÀÇ for(;2;)·çÇÁ¿¡¼ 1Ãʰ¡ °æ°úµÇ¾úÀ» ¶§, ¾Æ·¡ÂÊ Ä¿¼ À̵¿Å°¸¦ ´·¶À» ¶§ ÇÑ ¹ø¾¿ È£ÃâµÇ¸ç ½ºÆäÀ̽º ۸¦ ´·¶À» ¶§´Â ¹Ù´Ú¿¡ ´êÀ» ¶§±îÁö ÀÌ ÇÔ¼ö°¡ ¹Ýº¹ÀûÀ¸·Î È£ÃâµÇ¾î À̵¿ÁßÀÎ º®µ¹À» ¹Ù´Ú±îÁö ÇÑ ¹ø¿¡ ³»¸°´Ù. º®µ¹À» ÀüºÎ ³»¸± ¶§´Â MoveDownÀÌ TRUE¸¦ ¸®ÅÏÇÒ ¶§±îÁö °è¼Ó È£ÃâÇØ ´ë±â¸¸ ÇÏ¸é µÈ´Ù. ±×·¡¼ while¹®À¸·Î MoveDownÀÌ FALSE¸¦ ¸®ÅÏÇÏ´Â µ¿¾È °è¼Ó ¹Ýº¹Çϴµ¥ ÀÌ ¹Ýº¹¹®Àº ¹Ýº¹ ÀÚü°¡ ¸ñÀûÀÌ¸ç ¹Ýº¹Áß¿¡ µû·Î ÇÒ ÀÏÀÌ ¾ø´Ù. ±×·¡¼ ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÒ ¼öµµ ÀÖ´Ù.
while(MoveDown()==FALSE);
return TRUE;
while¹® ³¡¿¡ ¼¼¹ÌÄÝ·ÐÀÌ ÀÖÀ¸¹Ç·Î whileÀº ¼¼¹ÌÄÝ·Ð ÀÚ¸®¿¡¼ ³¡ÀÌ ³´Ù. ±×·¯³ª ÀÌ·¸°Ô ÇØ µÎ¸é ¾ó·Ð º¸±â¿¡ return TRUE°¡ while¹®¿¡ °É¸®´Â ¸í·Éó·³ º¸ÀÏ ¼öµµ Àֱ⠶§¹®¿¡ ¹Ýº¹¹®¿¡ °É¸®´Â ¸í·ÉÀÌ µû·Î ¾ø´Ù´Â °ÍÀ» ºÐ¸íÈ÷ Ç¥½ÃÇϱâ À§ÇØ {;} ÀÌ·± ¸í½ÃÀûÀÎ °ø¹® Ç¥±â¸¦ »ç¿ëÇß´Ù.