字符遊戲--貪吃蛇(智能)
来源:互联网 发布:日本爱知流量计 编辑:程序博客网 时间:2024/06/08 02:59
先藉由自頂向下之邏輯使用偽代碼方式將架構完成
#include<...>int ... ;char ... ;void 生成地圖() ;void 生成蛇() ;void 生成食物() ;void 蛇移動() ;void 畫面刷新() ;void 吃() ;void 避免覆蓋() ;void 碰撞() ;void 輸入() ;生成地圖(){...}生成蛇(){...}生成食物(){...}蛇移動(){...}畫面刷新(){...}吃(){...}避免覆蓋(){...}碰撞(){...}輸入(){...}主程序(){...}
逐步完善代碼
#include <stdio.h>#include <conio.h>#include <stdlib.h>#include <time.h>const int W = 12;const int H = 12;char map[12][12];char key;int direct = 4;int food[2] = {8,7};int head;int snake[400][3];void init(char map[12][12], int snake[400][3]);void makeMap(char map[12][12],int snake[400][3],int food[]);void move(int snake[400][3],int direct);void makeFood(int food[]);void showView(char map[12][12]);int ifEat(int head, int food[2]);int ifReprat(int snake[400][3], int x, int y);int ifBump(int head);void getKey();int main() { init(map, snake); while (1) { getKey(); system("cls"); Sleep(100); move(snake, direct); if (!food[0]&&!food[1]) { makeFood(food); } makeMap(map, snake, food); showView(map); if (ifBump(head)) { printf("遊戲結束,你的成績為:%d", head-4); break; } getKey(); } getchar(); return 0;}void init(char map[12][12], int snake[400][3]) { %初始蛇頭蛇身 %建造遊戲外框(牆)void showView(char map[12][12]) { ...}void move(int snake[400][3],int direct) { %上下左右更改X、Y值 %吃 = 身體 + 1}void makeFood(int food[]) { %隨機生成食物 %避開蛇身、牆}void makeMap(char map[12][12], int snake[400][3], int food[]) { %建造遊戲外框(牆) %新蛇頭蛇身 %食物}int ifEat(int head,int food[2]) { %身長 + 1}int ifReprat(int snake[400][3],int x,int y) { ...}int ifBump(int head) { ...}void getKey() { %輸入 %方向}
大功告成
阅读全文
0 0
- 字符遊戲--貪吃蛇(智能)
- 字符遊戲--貪吃蛇(智能)玩法
- 字符游戏-智能蛇
- 字符游戏-智能蛇
- 字符游戏-智能蛇
- 字符游戏-智能蛇
- sql智能分割字符函数
- 图像智能字符识别搜集
- 超长字符的智能分页-支持HTM
- 超长字符的智能分页-支持HTML
- 超长字符的智能分页-支持HTML
- Java OCR 图像智能字符识别技术
- 智能显示输入的剩余字符
- OCR 图像智能字符识别技术
- 字符游戏-智能蛇(上)
- 字符游戏-智能蛇(下)
- 字符游戏——智能蛇
- 字符游戏-智能蛇(学习体会)
- Machine Schedule
- 72. Edit Distance
- angularjs ng-if表达式为true的情况下标签仍不显示内容
- 微信公众号开发入门
- PhantomJS安装过程中遇到的问题
- 字符遊戲--貪吃蛇(智能)
- 用日志了解你的 Linux 系统
- coursera Machine Learning 第八周 测验quiz2答案解析 Principal Component Analysis
- Loading transformation from repository [addSyncDate] in directory [/] [Fatal Error]
- 莫比乌斯反演入门
- 洛谷 P2607 [ZJOI2008]骑士
- (信息学奥赛一本通 1301)大盗阿福
- 基础备忘:细说new与malloc的10点区别
- 交流学习DSO代码