貪吃蛇c語言 實操篇

2021-08-21 07:53:42 字數 4149 閱讀 6692

1.鍊錶

2.控制代碼相關了解

3.簡單遊戲策劃

簡單策劃篇:

一、遊戲概述

貪吃蛇是一款經典的小遊戲,在此貪吃蛇中,加入了彩蛋和大彩蛋,一方面提高使用者的可玩性,另一方面,通過彩蛋的製作,提高了本人的**寫作能力和興趣。

二、遊戲規則

貪食蛇移動規則:↑:上移↓:無←:左移動→:右移

得分規則:吃乙個食物得10分,彩蛋中吃乙個加100分

獲勝規則:通過前5關,後進入彩蛋關卡,達到一定分數,進入大彩蛋,遊戲結束。

遊戲結束規則:撞牆,通關

同時,此小遊戲最終大彩蛋送給我女票,感謝讓我遇見了她,遇見不一樣的人生。

**篇

//author:co-mi

//version:4.0

//up to date:2018/7/9

#include #include #include #include#define ix 58

#define iy 26

#define sn_len 2

#define up 8

#define left 4

#define right 6

#define down 2

#define i 20

#define r 340

typedef struct snake

snake;

snake *snake_head;///蛇頭

int direction; ///方向

int m,n;

int score; ///得分

int sleeptime=250;///休眠時間

snake *snake_init();

void main();

void setpos(int x,int y);

void createmap();

int move();

void restart();

void egg();

void bigegg();

void createmap2();

void createfood2();

void score2();

void snake_move2();

/*函式名:void setpos(int x,int y)

函式功能:游標設定

引數:x,y位置座標

返回值:無

*/void setpos(int x,int y) ///設定座標

/*函式名:void createmap()

函式功能:貪吃蛇地圖建立

引數:無

返回值:無

*/void createmap() ///創造地圖

prear->next=null;

return snake_head;}/*

函式名:void start()

函式功能:遊戲啟動介面

引數:無

返回值:無

*/void start()

/*函式名:int move()

函式功能:蛇的移動

引數:無

返回值:成功返回 0 ,撞牆返回 -1

*/int move()

else if(direction==left) //左

else if(direction==down) //下

else if(direction==right) //右

setpos(node->x,node->y);

printf("s");

snake_head=node;

if(snake_head->x==m&&snake_head->y==n)

else

setpos(temp->x,temp->y);

printf(" ");

free(temp);

prear->next=null;

}sleep(sleeptime);

if(snake_head->x==2||snake_head->x==ix-3||snake_head->y==1||snake_head->y==iy-1)//邊界測試

return 0;}/*

函式名:void createfood()

函式功能:創造食物

引數:無

返回值:無

*/void createfood()

else

}setpos(m,n);

printf("o");}/*

函式名:void score()

函式功能:得分介面

引數:無

返回值:無

*/void score()

else if(score==100)

else if(score==200)

else if(score==300)

else if((score==400))

else if((score==500))

if(score==200)

}}/*

函式名:void main()

函式功能:主函式

引數:無

返回值:無

*/void main()

else if(getasynckeystate(vk_left))

else if(getasynckeystate(vk_right))

else if(getasynckeystate(vk_down))

else if(getasynckeystate(vk_space))

status=move();

if(status==-1)

break;

score();

}setpos(70,20);

printf("game over!");

sleep(10000);}/*

函式名:void egg()

函式功能:彩蛋

引數:無

返回值:無

*/void egg()

else if(getasynckeystate(vk_left))

else if(getasynckeystate(vk_right))

else if(getasynckeystate(vk_down))

else if(getasynckeystate(vk_space))

snake_move2();

score2();

if(score>=1000)

}}void snake_move2()

else if(direction==left) //左

else if(direction==down) //下

else if(direction==right) //右

setpos(node->x,node->y);

printf("s");

snake_head=node;

if(snake_head->x==m&&snake_head->y==n)

else

setpos(temp->x,temp->y);

printf(" ");

free(temp);

prear->next=null;

}sleep(100);

return 0;

}void score2()

/*函式名:void createmap2()

函式功能:地圖2

引數:無

返回值:無

*/void createmap2()

for(i=1; i<20; i++) ///y

}void createfood2()

else

}score+=100;

setpos(m,n);

printf("o");

}void bigegg()

for(i=1; i<80; i++)

printf("\3");

}printf("\n");

for(i=1; i<=r/2; i++)

for(; ; )

}

C語言實現貪吃蛇

貪吃蛇是我們耳熟能詳的遊戲,遊戲思路很簡單,我們操縱一條蛇在螢幕上游走尋找食物,當吃到食物時蛇就會變長,當蛇頭碰到牆壁或者自己的身體時,此時蛇就會死亡,而遊戲也就結束了。那麼我們設計遊戲的時候,需要注意三點 1 及時重新整理蛇的位置 2 蛇吃到食物時,蛇的身體會變長,同時及時重新整理新的食物 3 蛇...

貪吃蛇 C語言實現

首先 必備知識棧 由於是用c實現,c的基礎就不廢話了 1.鍊錶相關知識的熟練使用 2.動態記憶體的簡單使用與釋放方法 3.隨機數的生成與儲存 4.監聽鍵盤函式的使用 5.window.h中基本的控制台函式 6.時間函式的簡單應用 其次 下面是實現的具體 有詳細的注釋解釋 pragma comment...

C語言實現貪吃蛇

include include include include include define up w define down s define left a define right d define quit q 函式宣告 void welcome 開始介面 void chose 選擇難度 vo...