【正文】
,Food *pf) //輸出食物{ int i。 system(cls)。 select=getch()。 cprintf(\t\t\t\tGame Over! \n\t\tPress ESC to exit, any other key to retry!\a\n)。[i]==[])||(([]0))||([]42)||([]0)||([]15)) { system(cls)。i++) if(([i]==[]amp。 for(i=0。} int isdead(Snack ts) //蛇死{ int i。 gotoxy(62,15)。 gotoxy(62,14)。 gotoxy(62,12)。 gotoxy(62,11)。 gotoxy(62,10)。 } gotoxy(62,9)。 gotoxy(59,y)。y++) { gotoxy(15,y)。 } for (y=4。t45。 } gotoxy(15,20)。t45。 gotoxy(15,3)。: return RIGHT 。 case 39。a39。: return DOWN。 case 39。w39。 cprintf(分?jǐn)?shù): %d,)。 pssscore=0。 pssdirection=RIGHT。 psspx[1]=1。 psspx[0]=0。 // memset(psspx,0,MAXNOD)。 psspx=(int *)malloc(MAXNOD*sizeof(int))。 return SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),cd)。 =x12。 }Snack。 int nodlen。 int *py。 }Food。 int y。(2) 時(shí)間復(fù)雜度T(n)=O(n^2)(3) 源代碼include include include include includedefine MAXNOD 500 define UP 1 define DOWN 1 define LEFT 2 define RIGHT 2 define YES 1define NO 0 jmp_buf retry。接著通過(guò)判斷蛇每吃到一次食物使蛇長(zhǎng)度增加1,然后繼續(xù)通過(guò)一個(gè)switch()循環(huán)不斷控制蛇的移動(dòng)方向,接著調(diào)用控制蛇死亡的函數(shù)isdead(),然后判斷當(dāng)蛇每吃到一個(gè)食物分?jǐn)?shù)加10,長(zhǎng)度加1,食物消失,然后調(diào)用分?jǐn)?shù)統(tǒng)計(jì)函數(shù)在界面指定位置輸出,最后調(diào)用庫(kù)函數(shù)控制蛇的移動(dòng)速度,完成整個(gè)屏幕和緩沖區(qū)的清除。任務(wù)實(shí)現(xiàn)(1) 在程序中,首先調(diào)用蛇的初始化