c語言控制台遊戲 貪吃蛇魔改版

2021-09-13 18:08:17 字數 3285 閱讀 9533

介紹:

比普通的貪吃蛇遊戲增加了 蛇的加速的,蛇節數越多速度越大。

增加了柱子,隨機出現在地圖裡,個數也隨機

採用跳轉列印方法,不會閃屏!不會閃屏!不會閃屏!

玩到後面會很刺激哦

**:

/*

1、資料設計

2、模組化設計

3、實現過程

*/#include

#include

#include

//游標設計api

#include

//食物隨機

#include

//按鍵監控

#define mapwidth 60

//地圖寬x

#define mapheight 25

//地圖高y

#define snakesize 100

//蛇的最大節數

//資料設計

/// 食物的結構體

struct

food;

// 蛇的結構體

struct

snake;

// 柱子的結構體

struct

column;

//全域性變數

int key =

'w';

//初始化移動方向

int changefalg =0;

//蛇的變化標記

int score =0;

//得分

//模組化設計

/// 1、繪製地圖 ■ ⑨ ★

void

drawmap()

;void

createfood()

;void

keydown()

;int

snakestatus()

;void

gotoxy

(int

,int);

void

drawmap()

上下邊框

for(

int i =

0; i <= mapwidth; i +=2

)//2、畫蛇

確定蛇的屬性

snake.len =3;

snake.speed =

330;

//開始蛇頭在螢幕**

snake.x[0]

= mapwidth /2;

snake.y[0]

= mapheight /2;

畫蛇gotoxy

(snake.x[0]

, snake.y[0]

);printf

("■");

for(

int i =

1; i < snake.len; i++

)//3、畫食物

確定座標

int falg =1;

while

(falg)}if

(food.x %2!=

0)}畫出來即可

gotoxy

(food.x, food.y)

;printf

("⑨");

gotoxy

(mapwidth +2,

0);printf

("得分:%d"

, score)

;//4畫柱子

falg =1;

column.len =

rand()

%6+5

;while

(falg)

for(

int j =

0; j < snake.len; j++)}

for(

int j = i +

1; j < column.len; j++)}

if(column.x[i]%2

!=0)}

if(falg ==0)

}}}// 2、重新整理食物

void

createfood()

}for

(int i =

0; i < column.len; i++)}

//x座標必須為偶數

if(food.x %2!=

0)}gotoxy

(food.x, food.y)

;printf

("⑨");

snake.len++

; changefalg =1;

//蛇的標記

score++

;gotoxy

(mapwidth +2,

0);printf

("得分:%d"

, score);}

}// 3、按鍵操作

void

keydown()

else}}

if(!changefalg)

//後面的蛇身往前移

for(

int i = snake.len -

1; i >

0; i--

)//移動方向的處理

switch

(key)

gotoxy

(snake.x[0]

, snake.y[0]

);printf

("■");

changefalg =0;

gotoxy

(mapwidth +10,

0);}

// 4、蛇的狀態: 判斷是否結束

intsnakestatus()

for(

int i =

1; i < snake.len; i++)}

for(

int i =

0; i < column.len; i++)}

return1;

}// 5、輔助函式: 游標移動

void

gotoxy

(int x,

int y)

intmain()

sleep

(speed)

;createfood()

; over =

snakestatus()

;}system

("cls");

gotoxy

(mapwidth /

2, mapheight /2)

;printf

("gameover");

system

("pause");

return0;

}

C語言控制台貪吃蛇

貪吃蛇 這個蛇是怎麼變長的.遊戲就是方塊和空格的更新 沒有牆的地方初始化為0,有牆的地方初始化為1,有蛇的地方初始化為2,食物初始化為3 所有的操作都在snakegroup裡面進行 include include include include include include include con...

C 控制台貪吃蛇

軟體實訓作品,現放出個人源 供需要的同學參考 int startx 8 x起點 const int starty 4 y起點 const int rangex 60 x範圍 const int rangey 20 y範圍 const int endx startx rangex x終點 const ...

C 控制台貪吃蛇

大二下的遊戲程式設計第乙個小作業,以此篇記錄一下,感謝李仕老師的循循善誘和同學們的熱情討論。include include include using namespace std define leftborder 3 define topborder 3 bool gameover,died 遊戲...