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...