Drawwhile计算机软件,计算机程序设计、小女纸又怒编一程序、求鉴定、
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
srand(time(NULL));
while (1)
{
while (!kbhit()) //在沒(méi)有按鍵的情況下,蛇自己移動(dòng)身體
{
if (food.addFood == 1) //需要出現(xiàn)新食物
{
food.x = rand() % 400 + 60;
food.y = rand() % 350 + 60;
//食物出現(xiàn)后必須在整格內(nèi)才能讓蛇吃到
while (food.x%10 != 0)
{
food.x++;
}
while (food.y%10 != 0)
{
food.y++;
}
food.addFood = 0; //畫(huà)面上有食物
}
if (food.addFood == 0) //畫(huà)面上有食物,則顯示
{
setcolor(GREEN);
rectangle(food.x, food.y, food.x+10, food.y-10);
}
for (i=snake.joint-1; i>0; i--) //蛇的每個(gè)節(jié)往前移動(dòng)
{
snake.x[i] = snake.x[i-1];
snake.y[i] = snake.y[i-1];
} //1,2,3,4 表示右,左,上,下四個(gè)方向,來(lái)決定蛇頭的移動(dòng)
switch(snake.direction)
{
case MV_RIGHT: snake.x[0] += 10; break;
case MV_LEFT: snake.x[0] -= 10; break;
case MV_UP: snake.y[0] -= 10; break;
case MV_DOWN: snake.y[0] += 10; break;
} //從蛇的第四節(jié)開(kāi)始判斷是否撞到自己,因?yàn)樯哳^為兩節(jié),第三節(jié)不可能拐過(guò)來(lái)
for (i=3; i
{
if (snake.x[i]==snake.x[0] && snake.y[i]==snake.y[0])
{
GameOver(score); //顯示失敗
snake.life = 1; //蛇死*/
break;
}
} //判斷蛇是否撞到墻壁
if (snake.x[0]<55 || snake.x[0]>595
|| snake.y[0]<55 || snake.y[0]>455)
{
GameOver(score); //本次游戲結(jié)束
snake.life = 1; //蛇死
} //以上兩種判斷以后,如果蛇死就跳出內(nèi)循環(huán),重新開(kāi)始
if (snake.life == 1) break;
if (snake.x[0]==food.x && snake.y[0]==food.y) //吃到食物后
{
//把畫(huà)面上的食物清除
setcolor(0);
rectangle(food.x, food.y, food.x+10, food.y-10);
//新的一節(jié)先放在看不見(jiàn)的位置,下次循環(huán)就取前一節(jié)的位置
snake.x[snake.joint] =-20; snake.y[snake.joint] =-20;
snake.joint++; //蛇的身體長(zhǎng)一節(jié)
food.addFood = 1; //畫(huà)面上需要出現(xiàn)新食物
score += 10;
PrScore(score); //輸出新得分
} //畫(huà)蛇
setcolor(RED);
for (i=0; i
{
rectangle(snake.x[i], snake.y[i],
snake.x[i]+10, snake.y[i]-10);
} Sleep(gamespeed); //延時(shí)控制蛇的速度 //去除蛇的最后一節(jié)
setcolor(0);
rectangle(snake.x[snake.joint-1], snake.y[snake.joint-1],
snake.x[snake.joint-1]+10,snake.y[snake.joint-1]-10);
} //end of while(!kbhit) if (snake.life == 1) break; //如果蛇死,則跳出循環(huán)
key=getch();//接收按鍵
switch(key)//判斷按鍵,是否往相反方向移動(dòng),按Esc鍵則退出
{
case 'w':snake.direction = MV_UP;break;
case 'd':snake.direction = MV_RIGHT;break;
case 'a':snake.direction = MV_LEFT;break;
case 's':snake.direction = MV_DOWN;break;
}
} //end of while(1)
}
總結(jié)
以上是生活随笔為你收集整理的Drawwhile计算机软件,计算机程序设计、小女纸又怒编一程序、求鉴定、的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: “青冥摇烟树”上一句是什么
- 下一篇: 地下城与勇士神灯和百宝箱的双开现在怎么不