大二下的遊戲程式設計第乙個小作業,以此篇記錄一下,感謝李仕老師的循循善誘和同學們的熱情討論。
#include
#include
#include
using
namespace std;
#define leftborder 3;
#define topborder 3;
bool gameover,died;
//遊戲結束否
bool gamepause,fruitflash;
//遊戲暫停否
const
int width =50;
//遊戲視窗寬度
const
int height =20;
//遊戲視窗高度
int x, y, fruitx, fruity;
//蛇頭座標;果子座標
int score;
//得分
int level;
int tailx[
100]
, taily[
100]
, ntail;
//enum edirection
;//方向列舉
edirection dir;
//方向變數
handle h =
getstdhandle
(std_output_handle)
;//遊戲初始化
void
initial()
void
setpos
(int cursorx,
int cursory)
void
drawmap()
cout << endl;
}setpos(0
, height+1)
;for
(int i =
0; i < width +
2; i++
) cout <<
"#";
setpos
(tailx[0]
, taily[0]
);setconsoletextattribute
(h,0x09);
cout <<
"o";
setpos
(width +10,
0); cout <<
"====歡迎來到我做的辣雞貪吃蛇===="
;setpos
(width +14,
2); cout <<
"■規則: 1、自撞就算死亡"
;setpos
(width +14,
4); cout <<
" 2、可以自由穿牆"
;setpos
(width +14,
6); cout <<
"■控制: 1、wasd控制方向"
;setpos
(width +14,
7); cout <<
" 2、wasd任意鍵開始"
;setpos
(width +14,
8); cout <<
" 3、x鍵退出,p鍵暫停,r鍵重新開始"
;setpos
(width +14,
10); cout <<
;setpos
(width +14,
15); cout <<
"■當前難度: "
<< level;
setpos
(width +14,
17); cout <<
"■當前得分: "
<< score;
}//方向鍵輸入
void
input()
else
case
'd':
//右
if(dir == left)
else
case
'w'://上
if(dir == down)
else
case
's'://下
if(dir == up)
else
case
'x':
//退出
gameover =
true
;setpos
(width /
2, height +3)
; cout <<
"按任意鍵關閉視窗"
;system
("pause");
break
;case
'p':
gamepause =
!gamepause;
break
;case
'r':
system
("cls");
initial()
;drawmap()
;default
:break;}
}}void
logic()
int prex = tailx[0]
;int prey = taily[0]
;int pre2x, pre2y;
tailx[0]
= x;
taily[0]
= y;
for(
int i =
1; i < ntail; i++
)//移動蛇頭位置
switch
(dir)
if(level<10)
level = score /30;
for(
int i =
1; i < ntail; i++)}
}void
erasesnake()
}void
drawlocally()
else
for(
int i =
0; i < ntail; i++
)else
}//穿牆
if(x <1)
x = width;
if(x > width)
x =1;
if(y <1)
y = height;
if(y > height)
y =1;
setpos
(width +28,
15); cout << level;
setpos
(width +28,
17); cout << score;
}//主控程式
intmain()
while
(died)
}return0;
}
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 ...
貪吃蛇 控制台
本文把遊戲區域就行編號,第一行從0到width 1,到height 1 到 width height 1 二維陣列 並用trace len 陣列儲存snake移動的軌跡 儲存的是數值,數值就能表現出所在的行和列 trace 0 始終為snake的頭部 根據display 函式繪圖,延時,在繪圖,達到...
C語言控制台貪吃蛇
貪吃蛇 這個蛇是怎麼變長的.遊戲就是方塊和空格的更新 沒有牆的地方初始化為0,有牆的地方初始化為1,有蛇的地方初始化為2,食物初始化為3 所有的操作都在snakegroup裡面進行 include include include include include include include con...