中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

spring可以做多大的網(wǎng)站找個網(wǎng)站

spring可以做多大的網(wǎng)站,找個網(wǎng)站,好用的外貿(mào)網(wǎng)站,蕪湖尚格網(wǎng)絡(luò)科技有限公司前言: 這款簡易版的球球大作戰(zhàn)是一款單人游戲,玩家需要控制一個小球在地圖上移動,吞噬其他小球來增大自己的體積。本游戲使用C語言和easyx圖形庫編寫,旨在幫助初學(xué)者了解游戲開發(fā)的基本概念和技巧。 在開始編寫代碼之前&#xf…

??前言:

這款簡易版的球球大作戰(zhàn)是一款單人游戲,玩家需要控制一個小球在地圖上移動,吞噬其他小球來增大自己的體積。本游戲使用C語言和easyx圖形庫編寫,旨在幫助初學(xué)者了解游戲開發(fā)的基本概念和技巧。

在開始編寫代碼之前,我們需要先了解一下游戲的基本規(guī)則和功能:

游戲界面:游戲界面是一個矩形區(qū)域,玩家可以在這個區(qū)域內(nèi)控制球的移動。

玩家小球:玩家控制的小球可以在游戲界面內(nèi)自由移動,按下空格鍵可以加速。

其他小球:其他小球又分為食物小球,和ai控制的小球

體積:玩家每吃一個其他小球體積就會增大一點,ai小球也可以通過吃食物和玩家小球增大體積。

玩家被吃:當玩家小球被ai小球吃了,玩家小球就會回到初始點,體積也會變成初始大小。

ai小球的追擊和逃跑:當玩家小球與ai小球靠近時,ai小球會根據(jù)自身體積的大小選擇追擊玩家小球或者逃跑。

接下來,我們將通過以下幾個步驟來實現(xiàn)這個游戲:

初始化游戲界面和小球的信息。

處理鍵盤輸入,實現(xiàn)玩家小球的移動和加速。

生成足夠數(shù)量的食物小球。

生成ai小球,并控制其移動。

檢測小球之間的吞噬關(guān)系,增加相應(yīng)的體積。

通過學(xué)習(xí)這個游戲的開發(fā)過程,初學(xué)者將能夠掌握C語言編程和easyx圖形庫的基本技巧。

1. 小球的要素

在此游戲中一個小球的要素?zé)o非就是小球所在的位置(坐標)、小球的半徑、以及小球的顏色,這里我們可以用一個結(jié)構(gòu)體數(shù)組來存放這些要素,以方便初始化小球的信息。

struct Ball
{int x;int y;float r;DWORD color;
};

2. 初始化小球的信息

將玩家小球的初始位置設(shè)置在窗口的中間,半徑大小為10。食物小球和ai小球的位置則通過rand函數(shù)、srand函數(shù)和time函數(shù)生成的隨機數(shù),隨機分布在地圖的各個位置,食物小球半徑為1-5,ai小球的半徑10.其中在這里使用了RGB隨機生成一個顏色,使每個食物小球的顏色都不盡相同。

RGB色彩模式是一種工業(yè)標準,它通過紅(R)、綠(G)、藍(B)三個顏色通道的組合來表示不同的顏色。每個通道通常分配一個0到255之間的數(shù)值,其中0表示該顏色通道沒有亮度,255表示該顏色通道的最大亮度。通過調(diào)整這三個通道的值,可以生成幾乎所有人類視覺系統(tǒng)能夠感知的顏色。例如:

  • 橙色可以通過RGB值(255, 128, 0)來表示。
  • 黃色的RGB值為(255, 255, 0)。
  • 綠色的RGB值是(0, 255, 0)。
  • 藍色的RGB值為(0, 0, 255)。
  • 紫色可以通過RGB值(170, 0, 255)來表示。
  • 黑色的RGB值為(0, 0, 0)。
  • 白色的RGB值為(255, 255, 255)。
  • 灰色的RGB值可以是(128, 128, 128),其中三個值相等即可,值越接近255,顏色就越接近白色,反之亦然。
void Inset()
{//玩家小球srand((unsigned)time(NULL));player.x = Wide / 2;player.y = Hight / 2;player.r = 10;//食物小球for (int i = 0; i < Food_num; i++){Food[i].x = rand() % Wide_map;Food[i].y = rand() % Hight_map;Food[i].r = rand() % 5 + 1;Food[i].color = RGB(rand() % 256, rand() % 256, rand() % 256);}//ai小球for (int i = 0; i < Enemy_num; i++){Enemy[i].x = rand() % Wide_map;Enemy[i].y = rand() % Hight_map;Enemy[i].r = 10;Enemy[i].color = RGB(0,255,0);}}

3. 玩家操作小球

在這里需要用到GetAsyncKeyState(vk virtual key)函數(shù)獲取異步按鍵狀態(tài),其中vk virtual key是虛擬鍵值,如果接受到這個虛擬鍵值,它會返回真。VK_UP、VK_DOWN、VK_LEFT、VK_RIGHT、0x20分別是上箭頭鍵、下箭頭鍵、左箭頭鍵、右箭頭鍵、空格鍵的虛擬鍵值。

void Player_move()
{if (GetAsyncKeyState(VK_UP)){if (player.y > 0){player.y -= player_sleep;}}if (GetAsyncKeyState(VK_DOWN)){if (player.y < Hight_map)player.y += player_sleep;}if (GetAsyncKeyState(VK_LEFT)){if (player.x > 0)player.x -= player_sleep;}if (GetAsyncKeyState(VK_RIGHT)){if (player.x < Wide_map)player.x += player_sleep;}if (GetAsyncKeyState(0x20)){player_sleep = l + 5;}else{player_sleep = l;}
}

4. 顯示出小球

在此游戲中,小球是一個實心圓,在easyx圖形庫中提供了一個畫實心圓的函數(shù)—solidcircle函數(shù),通過它我們就可以在窗口中顯示小球了,但顯示出的小球默認顏色為白色,為了區(qū)分不同的小球,我們還需使用setfillcolor函數(shù)來改變小球的顏色。因為顯示的函數(shù)、玩家操作小球的函數(shù)等函數(shù)都是放在同一個while循環(huán)重復(fù)執(zhí)行的,這樣就會重復(fù)顯示小球,所以我們還需要用到一個清屏函數(shù)cleardevice。為了使窗口更好看可以使用setbkcolor函數(shù)修改窗口的背景顏色,以及使用line函數(shù)在窗口中畫一些線,函數(shù)setlinecolor可以改變線的顏色。

void Show()
{//設(shè)置地圖SetWorkingImage(&map);//清屏cleardevice();//背景顏色setbkcolor(WHITE);//劃線顏色setlinecolor(RGB(230,231,239));//劃線for (int i = 0; i < Wide_map; i += 10){line(i, 0, i, Hight_map);}for (int i = 0; i < Hight_map; i += 10){line(0, i, Wide_map, i);}//食物for (int i = 0; i < Food_num; i++){setfillcolor(Food[i].color);solidcircle(Food[i].x, Food[i].y, Food[i].r);}//敵人for (int i = 0; i < Enemy_num; i++){setfillcolor(Enemy[i].color);solidcircle(Enemy[i].x, Enemy[i].y, Enemy[i].r);}//玩家setfillcolor(RED);solidcircle(player.x, player.y, player.r);SetWorkingImage();int x = player.x - (Wide / 2);int y = player.y - (Hight / 2);//防止窗口越界if (x < 0){x = 0;}if (y < 0){y = 0;}if (x > Wide_map - Wide){x = Wide_map - Wide;}if (y > Hight_map - Hight){y = Hight_map - Hight;}//把map輸出到窗口上putimage(0, 0, Wide, Hight, &map, x, y);
}

5. 生成地圖

可以使用IMAGE map(Wide_map, Hight_map) 創(chuàng)建一個圖像映射,其中 Wide_map 代表圖像的寬度,而 Hight_map 代表圖像的高度。然后使用SetWorkingImage(&map),將map的地址作為參數(shù)傳遞給SetWorkingImage函數(shù)。這個函數(shù)的作用是將map作為當前操作的對象,以便在后續(xù)的圖像處理過程中使用。最后使用putimage(0, 0, Wide, Hight, &map, x, y) 將地址繪制到窗口上,其中要讓玩家小球始終出現(xiàn)在窗口的中央位置,那么其中的x=player.x - (Wide / 2);y=player.y - (Hight / 2);但是單單這樣寫就會出現(xiàn)窗口越界的情況,所以我們還需要限制x和y的范圍:

//防止窗口越界
if (x < 0)
{x = 0;
}
if (y < 0)
{y = 0;
}
if (x > Wide_map - Wide)
{x = Wide_map - Wide;
}
if (y > Hight_map - Hight)
{y = Hight_map - Hight;
}

putimage(0, 0, Wide, Hight, &map, x, y) 這個函數(shù)調(diào)用是用于在屏幕上的特定位置繪制或顯示一個圖像。下面是對這個函數(shù)調(diào)用中各個參數(shù)的具體解釋:

  1. (0, 0):這是圖像要繪制的目標位置的左上角坐標,即x=0和y=0,通常表示屏幕的左上角。

  2. Wide:這個參數(shù)指定了要繪制的圖像的寬度。

  3. Hight:這個參數(shù)指定了要繪制的圖像的高度。

  4. &map:這是一個指向圖像內(nèi)存地址的指針,該圖像將被繪制到屏幕上。在這個上下文中,map可能是一個包含了圖像數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)或數(shù)組。

  5. x:這個參數(shù)通常指定了要開始繪制圖像的起始點的x坐標(在圖像數(shù)據(jù)中)。

  6. y:這個參數(shù)通常指定了要開始繪制圖像的起始點的y坐標(在圖像數(shù)據(jù)中)。

6. ai小球的移動

隨機生成0-3的數(shù)字分別代表ai小球上下左右的移動,這樣小球就會自由移動了。當玩家小球與ai小球靠近時,ai小球會追擊或者逃跑,這里我們需要先計算小球的之間的距離,小球之間的距離就是兩小球的圓心坐標的x相減的平方加上y相減的平方再開根號。開根號的函數(shù)為sqrt,它的頭文件是<math.h>。

//距離
int Distance(int x, int y, int x1, int y1)
{return sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1));
}

然后判斷兩小球的距離是否小于50個像素點,即判斷是否小于玩家小球的半徑?+ ai小球的半徑?+ 50。判斷完后比較兩小球的半徑大小,如果ai小球的半徑大于玩家小球的半徑,那么ai小球就要追擊玩家小球,即ai小球的坐標需要靠近玩家小球的坐標,就是如果ai小球的x大于玩家小球的x那么ai小球的x就減小,同理可得剩下的操作。

void Enemy_move()
{srand((unsigned)time(NULL));for (int i = 0; i < Enemy_num; i++){int direction = rand() % 4;if (Distance(player.x, player.y, Enemy[i].x, Enemy[i].y) > player.r + Enemy[i].r + 50){if (direction == 0){if (Enemy[i].y > 0)//防止小球越界的判斷語句{Enemy[i].y -= enemy_sleep;}}if (direction == 1){if (Enemy[i].y < Hight_map)Enemy[i].y += enemy_sleep;}if (direction == 2){if (Enemy[i].x > 0)Enemy[i].x -= enemy_sleep;}if (direction == 3){if (Enemy[i].x < Wide_map)Enemy[i].x += enemy_sleep;}}//敵人追擊玩家if (Distance(player.x, player.y, Enemy[i].x, Enemy[i].y) < player.r + Enemy[i].r + 50){if (Enemy[i].r > player.r){if (Enemy[i].x < player.x){if (Enemy[i].x < Wide_map){Enemy[i].x += enemy_sleep;}}if (Enemy[i].x > player.x){if (Enemy[i].x > 0){Enemy[i].x -= enemy_sleep;}}if (Enemy[i].y < player.y){if (Enemy[i].y < Hight_map){Enemy[i].y += enemy_sleep;}}if (Enemy[i].y > player.y){if (Enemy[i].y > 0){Enemy[i].y -= enemy_sleep;}}}//敵人逃跑else{if (Enemy[i].x < player.x){if (Enemy[i].x > 0){Enemy[i].x -= enemy_sleep;}}if (Enemy[i].x > player.x){if (Enemy[i].x < Wide_map){Enemy[i].x += enemy_sleep;}}if (Enemy[i].y < player.y){if (Enemy[i].y > 0){Enemy[i].y -= enemy_sleep;}}if (Enemy[i].y > player.y){if (Enemy[i].y < Hight_map){Enemy[i].y += enemy_sleep;}}}}}
}

7. 小球之間的吞噬關(guān)系

玩家小球與ai小球、ai小球與ai小球:

當兩小球的圓心小于最大的那個圓的半徑時,小的那個球就會被吃掉。吃點就是那個小球重新找個位置生成。吃完后,吃的那個小球半徑增加被吃小球半徑的十分之一。

ai小球與食物小球、玩家小球與食物小球:同上。

void EatFood()
{for (int i = 0; i < Food_num; i++){//玩家吃食物if (Distance(player.x, player.y, Food[i].x, Food[i].y) < player.r){player.r += Food[i].r / 100;Food[i].x = rand() % Wide_map;Food[i].y = rand() % Hight_map;Food[i].r = rand() % 5 + 1;Food[i].color = RGB(rand() % 256, rand() % 256, rand() % 256);}}for (int j = 0; j < Enemy_num; j++){//敵人吃食物for (int i = 0; i < Food_num; i++){if (Distance(Enemy[j].x, Enemy[j].y, Food[i].x, Food[i].y) < Enemy[j].r){Enemy[j].r += Food[i].r / 50;Food[i].x = rand() % Wide_map;Food[i].y = rand() % Hight_map;Food[i].r = rand() % 5 + 1;Food[i].color = RGB(rand() % 256, rand() % 256, rand() % 256);}}//敵人吃敵人for (int i = 0; i < Enemy_num; i++){if (Distance(Enemy[j].x, Enemy[j].y, Enemy[i].x, Enemy[i].y) < Enemy[j].r&& Enemy[j].r > Enemy[i].r){Enemy[j].r += Enemy[i].r / 10;Enemy[i].x = rand() % Wide_map;Enemy[i].y = rand() % Hight_map;Enemy[i].r = 10;Enemy[i].color = RGB(0, 255, 0);}if (Distance(Enemy[j].x, Enemy[j].y, Enemy[i].x, Enemy[i].y) < Enemy[i].r && Enemy[j].r < Enemy[i].r){Enemy[i].r += Enemy[j].r / 10;Enemy[j].x = rand() % Wide_map;Enemy[j].y = rand() % Hight_map;Enemy[j].r = 10;Enemy[j].color = RGB(0, 255, 0);}}if (Distance(player.x, player.y, Enemy[j].x, Enemy[j].y) < player.r){//玩家吃敵人if (player.r > Enemy[j].r){player.r += Enemy[j].r / 10;Enemy[j].x = rand() % Wide_map;Enemy[j].y = rand() % Hight_map;Enemy[j].r = 10;Enemy[j].color = RGB(0, 255, 0);}//敵人吃玩家else{if (invincibility == 0){Enemy[j].r += player.r / 10;player.x = Wide / 2;player.y = Hight / 2;player.r = 10;invincibility = 10;}}}}
}

最終效果:

球球大作戰(zhàn)

源碼:

#include<stdio.h>
#include<easyx.h>
#include<time.h>
#include<math.h>
#define Wide 1024
#define Hight 640
#define Wide_map (Wide*5)
#define Hight_map (Hight*5)
#define Food_num 1888
#define Enemy_num 888
//整個游戲地圖
IMAGE map(Wide_map, Hight_map);
//復(fù)活時的無敵時間
int invincibility = 10; 
//玩家速度
int player_sleep = 5;
int l = 5;
int enemy_sleep = 5;
struct Ball
{int x;int y;float r;DWORD color;
};
struct Ball player;
struct Ball Food[Food_num];
struct Ball Enemy[Enemy_num];
//初始化球的數(shù)據(jù)
void Inset()
{srand((unsigned)time(NULL));player.x = Wide / 2;player.y = Hight / 2;player.r = 10;for (int i = 0; i < Food_num; i++){Food[i].x = rand() % Wide_map;Food[i].y = rand() % Hight_map;Food[i].r = rand() % 5 + 1;Food[i].color = RGB(rand() % 256, rand() % 256, rand() % 256);}for (int i = 0; i < Enemy_num; i++){Enemy[i].x = rand() % Wide_map;Enemy[i].y = rand() % Hight_map;Enemy[i].r = 10;Enemy[i].color = RGB(0,255,0);}}
//玩家操作
void Player_move()
{if (GetAsyncKeyState(VK_UP)){if (player.y > 0){player.y -= player_sleep;}}if (GetAsyncKeyState(VK_DOWN)){if (player.y < Hight_map)player.y += player_sleep;}if (GetAsyncKeyState(VK_LEFT)){if (player.x > 0)player.x -= player_sleep;}if (GetAsyncKeyState(VK_RIGHT)){if (player.x < Wide_map)player.x += player_sleep;}if (GetAsyncKeyState(0x20)){player_sleep = l + 5;}else{player_sleep = l;}
}
//距離
int Distance(int x, int y, int x1, int y1)
{return sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1));
}
//敵人移動
void Enemy_move()
{srand((unsigned)time(NULL));for (int i = 0; i < Enemy_num; i++){int direction = rand() % 400;if (Distance(player.x, player.y, Enemy[i].x, Enemy[i].y) > player.r + Enemy[i].r + 50){if (direction < 100){if (Enemy[i].y > 0){Enemy[i].y -= enemy_sleep;}}if (direction < 200 && direction >= 100){if (Enemy[i].y < Hight_map)Enemy[i].y += enemy_sleep;}if (direction < 300 && direction >= 200){if (Enemy[i].x > 0)Enemy[i].x -= enemy_sleep;}if (direction <400 && direction >= 300){if (Enemy[i].x < Wide_map)Enemy[i].x += enemy_sleep;}}//敵人追擊玩家if (Distance(player.x, player.y, Enemy[i].x, Enemy[i].y) < player.r + Enemy[i].r + 50){if (Enemy[i].r > player.r){if (Enemy[i].x < player.x){if (Enemy[i].x < Wide_map){Enemy[i].x += enemy_sleep;}}if (Enemy[i].x > player.x){if (Enemy[i].x > 0){Enemy[i].x -= enemy_sleep;}}if (Enemy[i].y < player.y){if (Enemy[i].y < Hight_map){Enemy[i].y += enemy_sleep;}}if (Enemy[i].y > player.y){if (Enemy[i].y > 0){Enemy[i].y -= enemy_sleep;}}}//敵人逃跑else{if (Enemy[i].x < player.x){if (Enemy[i].x > 0){Enemy[i].x -= enemy_sleep;}}if (Enemy[i].x > player.x){if (Enemy[i].x < Wide_map){Enemy[i].x += enemy_sleep;}}if (Enemy[i].y < player.y){if (Enemy[i].y > 0){Enemy[i].y -= enemy_sleep;}}if (Enemy[i].y > player.y){if (Enemy[i].y < Hight_map){Enemy[i].y += enemy_sleep;}}}}//for (int j = 0; j < Enemy_num; j++)//{//	if (Distance(Enemy[j].x, Enemy[j].y, Enemy[i].x, Enemy[i].y) < Enemy[j].r + Enemy[i].r + 30)//	{//		//敵人追敵人//		if (Enemy[i].r > Enemy[j].r)//		{//			int sleep = rand() % 6;//			int enemy_sleep1;//			if (sleep > 2)//			{//				enemy_sleep1 = enemy_sleep;//			}//			else//			{//				enemy_sleep1 = enemy_sleep + 5;//			}//			if (Enemy[i].x < Enemy[j].x)//			{//				if (Enemy[i].x < Wide_map)//				{//					Enemy[i].x += enemy_sleep1;//				}//			}//			if (Enemy[i].x > Enemy[j].x)//			{//				if (Enemy[i].x > 0)//				{//					Enemy[i].x -= enemy_sleep1;//				}//			}//			if (Enemy[i].y < Enemy[j].y)//			{//				if (Enemy[i].y < Hight_map)//				{//					Enemy[i].y += enemy_sleep1;//				}//			}//			if (Enemy[i].y > Enemy[j].y)//			{//				if (Enemy[i].y > 0)//				{//					Enemy[i].y -= enemy_sleep1;//				}//			}//		}//		//逃跑//		else//		{//			int sleep = rand() % 6;//			int enemy_sleep1;//			if (sleep > 2)//			{//				enemy_sleep1 = enemy_sleep;//			}//			else//			{//				enemy_sleep1 = enemy_sleep + 5;//			}//			if (Enemy[i].x < Enemy[j].x)//			{//				if (Enemy[i].x > 0)//				{//					Enemy[i].x -= enemy_sleep1;//				}//			}//			if (Enemy[i].x > Enemy[j].x)//			{//				if (Enemy[i].x < Wide_map)//				{//					Enemy[i].x += enemy_sleep1;//				}//			}//			if (Enemy[i].y < Enemy[j].y)//			{//				if (Enemy[i].y > 0)//				{//					Enemy[i].y -= enemy_sleep1;//				}//			}//			if (Enemy[i].y > Enemy[j].y)//			{//				if (Enemy[i].y < Hight_map)//				{//					Enemy[i].y += enemy_sleep1;//				}//			}//		}//	}//}}
}//吃食物
void EatFood()
{for (int i = 0; i < Food_num; i++){//玩家吃食物if (Distance(player.x, player.y, Food[i].x, Food[i].y) < player.r){player.r += Food[i].r / 100;Food[i].x = rand() % Wide_map;Food[i].y = rand() % Hight_map;Food[i].r = rand() % 5 + 1;Food[i].color = RGB(rand() % 256, rand() % 256, rand() % 256);}}for (int j = 0; j < Enemy_num; j++){//敵人吃食物for (int i = 0; i < Food_num; i++){if (Distance(Enemy[j].x, Enemy[j].y, Food[i].x, Food[i].y) < Enemy[j].r){Enemy[j].r += Food[i].r / 50;Food[i].x = rand() % Wide_map;Food[i].y = rand() % Hight_map;Food[i].r = rand() % 5 + 1;Food[i].color = RGB(rand() % 256, rand() % 256, rand() % 256);}}//敵人吃敵人for (int i = 0; i < Enemy_num; i++){if (Distance(Enemy[j].x, Enemy[j].y, Enemy[i].x, Enemy[i].y) < Enemy[j].r&& Enemy[j].r > Enemy[i].r){Enemy[j].r += Enemy[i].r / 10;Enemy[i].x = rand() % Wide_map;Enemy[i].y = rand() % Hight_map;Enemy[i].r = 10;Enemy[i].color = RGB(0, 255, 0);}if (Distance(Enemy[j].x, Enemy[j].y, Enemy[i].x, Enemy[i].y) < Enemy[i].r && Enemy[j].r < Enemy[i].r){Enemy[i].r += Enemy[j].r / 10;Enemy[j].x = rand() % Wide_map;Enemy[j].y = rand() % Hight_map;Enemy[j].r = 10;Enemy[j].color = RGB(0, 255, 0);}}if (Distance(player.x, player.y, Enemy[j].x, Enemy[j].y) < player.r){//玩家吃敵人if (player.r > Enemy[j].r){player.r += Enemy[j].r / 10;Enemy[j].x = rand() % Wide_map;Enemy[j].y = rand() % Hight_map;Enemy[j].r = 10;Enemy[j].color = RGB(0, 255, 0);}//敵人吃玩家else{if (invincibility == 0){Enemy[j].r += player.r / 10;player.x = Wide / 2;player.y = Hight / 2;player.r = 10;invincibility = 10;}}}}
}
//顯示
void Show()
{//設(shè)置地圖SetWorkingImage(&map);//清屏cleardevice();//背景顏色setbkcolor(WHITE);//劃線顏色setlinecolor(RGB(230,231,239));//劃線for (int i = 0; i < Wide_map; i += 10){line(i, 0, i, Hight_map);}for (int i = 0; i < Hight_map; i += 10){line(0, i, Wide_map, i);}//食物for (int i = 0; i < Food_num; i++){setfillcolor(Food[i].color);solidcircle(Food[i].x, Food[i].y, Food[i].r);}//敵人for (int i = 0; i < Enemy_num; i++){setfillcolor(Enemy[i].color);solidcircle(Enemy[i].x, Enemy[i].y, Enemy[i].r);}//玩家setfillcolor(RED);solidcircle(player.x, player.y, player.r);SetWorkingImage();int x = player.x - (Wide / 2);int y = player.y - (Hight / 2);//防止窗口越界if (x < 0){x = 0;}if (y < 0){y = 0;}if (x > Wide_map - Wide){x = Wide_map - Wide;}if (y > Hight_map - Hight){y = Hight_map - Hight;}//把map輸出到窗口上putimage(0, 0, Wide, Hight, &map, x, y);
}
int main()
{initgraph(Wide, Hight);Inset();//緩沖BeginBatchDraw();while (1){if (invincibility > 0)invincibility--;Show();//玩家操作Player_move();Enemy_move();EatFood();//刷新FlushBatchDraw();}closegraph();return 0;
}

http://www.risenshineclean.com/news/50782.html

相關(guān)文章:

  • 沈陽網(wǎng)站開發(fā)技術(shù)公司web前端培訓(xùn)費用大概多少
  • 碑林網(wǎng)站制作什么是搜索引擎銷售
  • 東莞常平做網(wǎng)站百度指數(shù)如何分析數(shù)據(jù)
  • 廣西玉林建設(shè)廳官方網(wǎng)站代運營公司哪家好一些
  • 各大網(wǎng)站提交入口深圳網(wǎng)站建設(shè)開發(fā)公司
  • 網(wǎng)站制作的評價指標中手機網(wǎng)頁設(shè)計
  • 為公益組織做網(wǎng)站bing搜索引擎入口
  • 淘寶上做網(wǎng)站可靠嗎網(wǎng)站改版
  • 網(wǎng)站建設(shè)在家兼職做網(wǎng)絡(luò)營銷畢業(yè)論文8000字
  • 哪個網(wǎng)站可以接活做網(wǎng)建公司
  • 廣東商城網(wǎng)站建設(shè)公司網(wǎng)站創(chuàng)建免費用戶
  • 廣州網(wǎng)站建設(shè)推廣公司哪家好怎樣創(chuàng)建網(wǎng)站平臺
  • 北京網(wǎng)站制作培訓(xùn)seo關(guān)鍵詞推廣方式
  • 項目網(wǎng)絡(luò)圖最早開始時間seo推廣的特點
  • 上海找做網(wǎng)站公司好寧波網(wǎng)絡(luò)推廣
  • java在線編程網(wǎng)站廣告推廣策劃方案
  • 網(wǎng)頁制作及網(wǎng)站建設(shè)seo站長工具 論壇
  • 在哪個網(wǎng)做免費網(wǎng)站好百度客服中心人工在線電話
  • 昆明北京網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷的五個發(fā)展階段
  • 服務(wù)好的網(wǎng)站建設(shè)聯(lián)系人市場營銷策略有哪4種
  • 幾項措施政府網(wǎng)站集約化建設(shè)公司網(wǎng)絡(luò)推廣營銷
  • eclipse 簡單網(wǎng)站開發(fā)高級搜索入口
  • 中國建設(shè)電工立網(wǎng)站網(wǎng)店代運營收費
  • 給菠菜網(wǎng)站做外包網(wǎng)絡(luò)營銷簡介
  • 北京好的網(wǎng)站制作線上宣傳渠道
  • 上海服裝品牌網(wǎng)站建設(shè)網(wǎng)站開通
  • 免費訪問國外網(wǎng)站的app站長之家whois查詢
  • 做游戲的外包網(wǎng)站seo網(wǎng)絡(luò)優(yōu)化是做什么的
  • 企業(yè)網(wǎng)站必須備案網(wǎng)站按天扣費優(yōu)化推廣
  • 東莞網(wǎng)站建設(shè)設(shè)計公司教育培訓(xùn)學(xué)校