繼上次貪吃蛇進行了簡單的方向移動後,還要在裡面摻入一些動態化的元素,即判斷金幣的動態,錢的出現等功能。
**如下:
#include #include #include #include //#include #include #include #include void show();
void move();
void turn();
void check();
void ini();
//void calculate();
//int movable[4] = ; //陣列的下標表示方向,0123分別表示上下左右,下同
//int distance[4] = ;
int dy[4] = ;
int dx[4] = ;
int sum = 5; //蛇總長度
int over = 0;
int speed;
//int foodx, foody; //食物的座標
char map[12][12];
struct snake a[100];
void ini()
a[0].x = 1; a[0].y = 1; //地圖左上角設定一條長度為5的蛇
a[1].x = 1; a[1].y = 2;
a[2].x = 1; a[2].y = 3;
a[3].x = 1; a[3].y = 4;
a[4].x = 1; a[4].y = 5; a[4].dir = 1;
srand(time(0));
for (i = 0; i < 12; i++)
}for (i = 1; i < 11; i++)
}//map[6][5] = '*'; map[6][6] = '*'; map[6][7] = '*';
//map[7][5] = '*'; map[7][7] = '*';
map[a[4].x][a[4].y] = 'h'; //設定蛇頭
for (i = 0; i < sum - 1; i++)
//calculate();
}void show()
printf("\n");
}while (1)
else if (ch == 114) }}
system("cls"); //清屏
for (i = 0; i < 12; i++)
printf("\n");
}//calculate(); //計算並記錄蛇頭與食物距離
}}void move()
else
map[a[i].x][a[i].y] = 'x'; //把地圖上蛇身座標處的字元設定成『x』
}a[sum - 1].x = a[sum - 1].x + dx[a[sum - 1].dir]; //蛇頭按當前方向移動一格
a[sum - 1].y = a[sum - 1].y + dy[a[sum - 1].dir];
map[a[sum - 1].x][a[sum - 1].y] = 'h'; //把地圖上蛇頭座標處的字元設定成『h』
}else
/*for(i = 0; i < 4; i++) else else
}}*/
}void turn()
}}latex 數學公式文字
/*void calculate() else
}}*/int main()
某種意義上說,就是給蛇一種屬於自己的判斷機制,通過及時的資料反映,然後讓蛇進行自動化的計算,即繞過障礙,又吃到金幣;不過難以避免的是,蛇在一定長度後吃到自己的情況。 貪吃蛇的演算法分析
貪吃蛇是一款非常經典的手機遊戲。它有很多演算法,這裡詳細分析一種比較優秀的演算法。首先介紹下主要用到的七個類 lwormmain 最主要的類,控制所有其它類的執行和銷毀。lwormpit 處理鍵盤輸入事件並例項化worm類和wormfood類的。lworm 抽象了貪吃蛇的屬性和動作 lwormfoo...
js貪吃蛇的詳細介紹
模擬貪吃蛇遊戲,做的專案 地圖 寬,高,背景顏色,因為小蛇和食物都是相對於地圖顯示的,這裡小蛇和食物都是地圖的子元素,隨機位置顯示,脫離文件流的,地圖也需要脫離文件流 css需要設定 寬,高,背景顏色,脫標 食物 div元素 elements 儲存div的陣列 將來刪除的食物div時候,先從map中...
C 貪吃蛇基本演算法
include include include include include using namespace std int error char x,char y 糾正強行自噬 int pos long x,long y setconsolecursorposition direct,pos 改...