2019C語言課程設計

2021-09-25 10:19:23 字數 2119 閱讀 4270

六,c語言編寫貪吃蛇遊戲

貪吃蛇遊戲是乙個經典小遊戲,一條蛇在封閉圍牆裡,圍牆裡隨機出現乙個食物,通過按鍵盤四個游標鍵控制蛇向上下左右四個方向移動,蛇頭撞倒食物,則食物被吃掉,蛇身體長一節,同時記10分,接著又出現食物,等待蛇來吃,如果蛇在移動中撞到牆或身體交叉蛇頭撞倒自己身體遊戲結束。

下面就先說說遊戲的規則:

開始:按左鍵開始遊戲,按按鈕或選單重新開始。

下鍵:按下時,是蛇向下行, 當碰到牆壁時,遊戲結束。

左鍵:按左時,是蛇向左行, 當碰到牆壁時,遊戲結束。

右鍵:按右時,是蛇向右行, 當碰到牆壁時,遊戲結束。

上鍵:按上時,是蛇向上行, 當碰到牆壁時,遊戲結束。

當碰到目標時 計分器 加10分

#include #include #include #include #define down_wall 20

#define right_wall 58

typedef struct s_snack //每一段蛇身的座標位置

snake;

void mcursor(int x, int y);

int i****wall();

int isbiteyouself();

void drawframe();

void initsnake();

void createfood();

void playgame();

int move();

void welcome();

void free_snack(snake *head);

snake *head, *end;

snake *p;

int speed = 310;

int level = 0, score = 0;

int foodx, foody;

char key;

int main()

else

return 0;

}void mcursor(int x, int y)

; handle output = getstdhandle(std_output_handle);

setconsolecursorposition(output, pos);

}int i****wall()

return 0;

}int isbiteyouself()

} return 0;

}void drawframe()

for (i = 1; i < down_wall; i++) }

void initsnake()//初始化蛇身 頭插法

while (end->next != null) }

void createfood()

p = head;

while (1)

mcursor(foodx, foody);

printf("☆");

}void playgame()

}mcursor(p->x, p->y);

printf(" ");

}else}}

}} if (score == level && speed > 10)

mv_ret = move();

if (mv_ret == 1)

}}int move()

ret = i****wall();

ret += isbiteyouself();

if (ret == 1)

p = (snake*)malloc(sizeof(snake));

p->next = head;

switch (key)

mcursor(p->x, p->y);

printf("■");

head = p;

sleep(speed);

if (p->x == foodx && p->y == foody)

else

return 0;

}void welcome()

void free_snack(snake *head)

while ((p = head) != null)

free(p);

}

不足之處,請多指教!

2019c語言課程設計

三,棋盤遊戲 簡單計算機模擬期棋盤對弈。其中棋盤左上角座標為 1,1 右下角座標為 3,3 遊戲規則如下 1 計算機移動時,使用相應函式掃瞄棋盤矩陣,尋找未佔單元 發現空單元之後,置為 o 未發現時,報告平局後推出。2 輪到對弈者時,使用想要函式要求對弈者回答想把 x 放在哪 3 誰先三點連成一線了...

2019C語言課程設計

八,五子棋遊戲 程式應用c語言編寫程式,可以在計算機上實現二人對弈五子棋功能。功能要求 1 歡迎介面生成 遊戲介面生成 2 游標移動和落子顯示 3 判斷勝負 悔棋功能,提供音效 4 綜合應用結構體 陣列 按鍵處理和圖形程式設計等程式設計方法。include include include inclu...

2019 C語言測試

求一元二次方程ax bx c 0的解 a,b,c為任意整數。10分 編寫乙個口令輸入程式,讓使用者不停輸入口令,直到輸對為止,假設口令為456。8分 輸出1000 9999之間能對3整除的回文數。8分 10分 定義乙個結構體變數 包括年,月,日 計算該日在本年中是第幾天 規定一月一日為第一天 10分...