主要運用了游標的移動-.-
教程會在乙個月內發布-.-最近考試好多......
看**應該能看懂....
3.1 規則模組與動畫模組
1)函式原型:void gui( );void dong( );
2)功 能:利用for迴圈語句和printf,coord,sleep()函式完成游標的移動和遊戲規則的輸出。
3)變數及型別:
coord coord; 定義座標結構體,通過它來移動游標的座標。
int x,y,r,i; 定義x,y兩個變數,用來傳遞座標的位置。r為遊戲高度。i為游標與邊界距離。
4)說明:gui();通過for迴圈與游標的移動輸出分割線,然後再通過游標的移動輸出遊戲規則;dong();通過for迴圈和i,x,y的變化和sleep()的停頓效果,改變游標的位置,從外圍到內部逐次輸出,達到動畫的效果。
3.2 遊戲開始與結束選擇模組 和 遊戲難度選擇模組
1)函式原型:int kai( ); int xuan( );
2)功 能:利用for迴圈語句和printf,coord函式完成對遊戲螢幕左側的清空,然後利用printf,scanf函式輸出遊戲的選擇型別和輸入玩家的選擇。
3)變數及型別:
coord coord; 定義座標結構體,通過它來移動游標的座標。
int x,y,lp,xx; 定義x,y兩個變數,用來傳遞座標的位置;lp裡存入玩家的選擇,是kai( )函式的返回值;xx是xuan( )函式的返回值。
4)說明:通過for迴圈和游標的移動,輸出空格使螢幕為空,然後printf函式輸出提示語,scanf函式讓玩家輸入他的選擇,最後返回玩家的選擇。
3.3 遊戲主體模組
1)函式原型:int youxi(int xx,int bei);
2)功 能:利用for迴圈語句,while迴圈語句,if-else,if語句,break語句,結構體,一維,二維陣列,printf,rand,kbhit,getch,coord函式,完成整個遊戲執行的功能。
3)變數及型別:
struct nodeshen[1000]; 定義貪吃蛇的每個身體座標。
coord coord;定義座標結構體,通過它來移動游標的座標。
char map[60][30];定義遊戲地圖。
char xiang[4]=; 存放貪吃蛇的方向。
int x,y,i,r=50,d=24,ll=0,fen=0,p,wu=0,wux,wuy,fafe=0; 定義多個變數,x,y用來傳遞座標的位置;i為變數;r,d 用來代表遊戲右邊界和下邊界;ll表示貪吃蛇的長度;fen記錄貪吃蛇所吃的食物;p記錄貪吃蛇的方向;wux,wuy通過rand函式隨機得到食物的位置;wu表示食物的狀態,fafe表示遊戲的狀態。
4)說明:先通過for迴圈和游標的移動和printf清空遊戲介面和設定邊界,然後通過rand()函式得到第乙個貪吃蛇身體和它的方向;for迴圈,增加貪吃蛇的3個身體;然後rand()使隨機出現乙個食物,乙個while迴圈 + sleep 的停頓效果使遊戲暫停,printf輸出提示語,kbhit和 getch 判斷是否有鍵盤輸入和得到鍵盤輸入值,跳出while進入遊戲操作while迴圈中,通過printf輸出沒時刻的分數,通過sleep,結構體,for,printf使貪吃蛇每隔一段時間向前移動一下。kbhit和 getch 判斷是否有遊戲玩家的方向操作並得到方向值,如果輸入空格遊戲會暫停,然後可以選擇遊戲繼續或退出。食物被貪吃蛇所吃會再次隨機出現乙個食物,while迴圈一直迴圈直至遊戲失敗或遊戲退出返回遊戲得分。
3.4 遊戲失敗提示模組
1)函式原型:void jiesu( );
2)功 能:利用for迴圈語句和printf,coord函式完成對遊戲螢幕左側中間位置的清空,然後利用printf,scanf函式輸出遊戲失敗提示語。
3)變數及型別:
coord coord; 定義座標結構體,通過它來移動游標的座標。
int x,y,i,j; 定義x,y兩個變數,用來傳遞座標的位置;i,j 為迴圈變數。
4)說明:通過for迴圈和游標的移動,輸出空格使螢幕為空,然後printf函式輸出提示語。
**:
#include#include#include#include#include#include#define cx coord.x=x
#define cy coord.y=y
#define scp setconsolecursorposition(getstdhandle(std_output_handle),coord)
char map[60][30];
struct nodeshen[1000];
char xiang[4]=;
void dong();
void gui();
int kai();
int youxi();
void xiao();
int main()
int kp=youxi();
x=51;y=14;
cx;cy;scp;
printf(" ");
xiao();
if (kp==-1)
else
}sleep(100000);
return 0;
}void dong()
}sleep(100);}}
/* else if (zhiling==' ')//有點小難
}/* else
system("pause");*/}}
if (xiang[p]=='w')
if (map[x][y]=='#')
cx;cy;scp;map[x][y]='+';
printf("+");
if (!wu)
shen[1000];
char xiang[4]=;
void dong();
void gui();
int kai();
int youxi();
int xuan();
void jiesu();
int main()
; system("color 74");
gui();
dong();
while (1)
xx=xuan();
kp=youxi(nan[xx],xx);
x=51;y=14;
cx;cy;scp;
printf(" ");//消遊戲中顯示的得分...
if (kp==-1)
else
}sleep(100000);
return 0;
}int xuan()//困難程度
x=0;y=0;cx;cy;scp;
printf("請選擇遊戲困難程度:\n");
printf("1.簡單模式\n");
printf("2.一般模式\n");
printf("3.困難模式\n");
scanf("%d",&xx);
return xx;
}void dong()//開始動畫
}sleep(100);}}
}}
if (xiang[p]=='w')
if (map[x][y]=='#')
cx;cy;scp;map[x][y]='+';
printf("+");
if (!wu)
打造C語言版貪吃蛇(上)
學了程式設計後難免會有些手癢,於是飢渴難耐的我瞄上了小學的經典記憶 貪吃蛇。下面我就遊戲的設計來逐步講解我打造c語言版貪吃蛇的過程。這是乙個系列的文章,共三篇,第一篇講遊戲的主體設計,第二篇就設計的細節及具體實現給出講解,第三篇給出簡易遊戲ai的設計。遊戲中用到了windows的庫,只保證能在win...
貪吃蛇原始碼(C語言版)
貪吃蛇其實就是實現以下幾步 1 蛇的運動 通過 畫頭擦尾 來達到蛇移動的視覺效果 2 生成食物 3 蛇吃食物 實現 畫頭不擦尾 4 遊戲結束判斷 也就是蛇除了食物,其餘東西都不能碰 include include include include include define width 60 def...
用佇列寫貪吃蛇(C語言版)
by tomas 2016.3.2 程式語言 c 程式介紹 利用佇列這個資料結構編寫乙個簡單的貪吃蛇小遊戲。原理分析 佇列的特點就是先進先出 fifo 我們就是利用他的這個特點來模擬一條貪吃蛇。我們首先考慮一下這個遊戲需要哪些元素,然後怎麼用終端模擬這些元素。蛇 蛇在終端上的表示就是很多個字元連在一...