亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

DOS簡易版C語言貪吃蛇

2020-01-26 11:44:55
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C語言實現貪吃蛇的具體代碼,供大家參考,具體內容如下

#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <time.h>#include <windows.h>   #define WALL_LENGTH 22 #define LEFT 0x4b #define RIGHT 0x4d #define DOWN 0x50 #define UP 0x48  struct Snakes{ int x; int y; struct Snakes *prev; struct Snakes *next;}; struct Food{ int x; int y;};  struct Snakes *header; struct Snakes *tailer; struct Food *food;  int wall[WALL_LENGTH][WALL_LENGTH];int direction = RIGHT;   /**/void init();void draw();void move();void doMove(int x1, int y1);void eat(); void keydown(); void foods();int isOver();int isDrawSnake(int x, int y);int isDrawFood(int x, int y);  int main(){ init();  while(1){    if(isOver()){ break; }     move();  eat(); draw();  _sleep( 100 ); keydown();    }  printf("GAME OVER!");  system("pause");}  void init(){ int y, x;  for(y=0; y < WALL_LENGTH; y++){  for(x=0; x < WALL_LENGTH; x++){ if(y == 0 || y == WALL_LENGTH - 1 || x == 0 || x == WALL_LENGTH - 1){  wall[y][x] = 1; } } }   header=(struct Snakes *)malloc(sizeof(struct Snakes)); header->x=10; header->y=10; header->prev=NULL;   tailer=(struct Snakes *)malloc(sizeof(struct Snakes)); tailer->x=9; tailer->y=10; tailer->next=NULL; tailer->prev=header;  header->next=tailer;  foods(); } void draw(){ int y, x;  system("cls"); for(y=0; y < WALL_LENGTH; y++){  for(x=0; x < WALL_LENGTH; x++){  if(wall[y][x] == 1){ printf("[]"); }else if(isDrawSnake(x, y)){ printf("[]"); }else if(isDrawFood(x, y)){ printf("()"); }else{ printf(" ");   } } printf("/n"); } } void move(){  switch(direction){ case LEFT :  doMove(-1, 0);  break; case RIGHT :  doMove(1, 0);  break; case UP :  doMove(0, -1);  break; case DOWN :  doMove(0, 1);  break; } } void doMove(int x1, int y1){  struct Snakes *temp_tailer = tailer->prev;  tailer->x=header->x + x1; tailer->y=header->y + y1;  tailer->next=header; tailer->prev->next = NULL; tailer->prev = NULL;  header->prev=tailer;  header = tailer; tailer = temp_tailer;  } void eat(){  if(header->x == food->x && header->y == food->y){ int x1=0, y1 =0; struct Snakes *temp_tailer = tailer;  tailer=(struct Snakes *)malloc(sizeof(struct Snakes));  switch(direction){ case LEFT :  x1 = -1; y1 = 0; break;  case RIGHT :  x1 = 1; y1 = 0; break;  case UP :  x1 = 0; y1 = -1; break;  case DOWN :  x1 = 0; y1 = 1; break; }  tailer->x=temp_tailer->x + x1; tailer->y=temp_tailer->y + y1; tailer->next=NULL; tailer->prev=temp_tailer;  temp_tailer->next = tailer;  foods(); } }  void foods(){  int y,x;  struct Snakes *temp = header;  _sleep(20);  srand((unsigned)time(NULL));  y=rand()%WALL_LENGTH;  x=rand()%WALL_LENGTH;   if(y == 0 || y == WALL_LENGTH - 1 || x == 0 || x == WALL_LENGTH - 1 ){  return foods(); }  do{ if(temp->x == x && temp->y == y){ return foods(); } temp = temp->next; }while(temp != NULL);    if(food == NULL){ food=(struct Food *)malloc(sizeof(struct Food)); } food->x = x; food->y = y; } void keydown(){ char keycode;  if(_kbhit()&&(keycode =_getch())) {    switch(keycode) {  case LEFT:  if(RIGHT!=direction) {  direction=LEFT; // move(); // draw(); } break;   case RIGHT:  if(LEFT!=direction) {  direction=RIGHT; // move(); // draw(); } break;   case UP:  if(DOWN!=direction) {  direction=UP; // move(); // draw(); } break;   case DOWN:  if(UP!=direction){  direction=DOWN; // move(); // draw(); } break;    }  }  }  int isDrawSnake(int x, int y){ struct Snakes *temp = header; do{ if(temp->x == x && temp->y == y){ return 1; } temp = temp->next; }while(temp != NULL); return 0;} int isDrawFood(int x, int y){ if(food->x == x && food->y == y){ return 1; } return 0;} int isOver(){ int x1=0, y1 =0; switch(direction){ case LEFT :  x1 = -1; y1 = 0; break;  case RIGHT :  x1 = 1; y1 = 0; break;  case UP :  x1 = 0; y1 = -1; break;  case DOWN :  x1 = 0; y1 = 1; break; }  if(header->x + x1 <= 0 || header->x + x1 >= WALL_LENGTH - 1  || header->y + y1 <= 0 || header->y + y1 >= WALL_LENGTH - 1){  return 1; } return 0; } 

好久沒寫過C語言了,隨便寫個貪吃蛇玩一玩,BUG不少,當記錄了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲女人初尝黑人巨大| 亚洲性夜色噜噜噜7777| 亚洲天堂av图片| 欧洲精品毛片网站| 91国内精品久久| www.久久草.com| 亚洲美女免费精品视频在线观看| 日韩欧美一区二区三区久久| 日韩av影视综合网| 日韩免费在线观看视频| 97精品伊人久久久大香线蕉| 精品日韩视频在线观看| 欧美日韩免费网站| 欧美夫妻性生活xx| 91久久嫩草影院一区二区| 久久综合伊人77777尤物| 国语自产在线不卡| 国产福利成人在线| 亚洲爱爱爱爱爱| 久久久久女教师免费一区| 国产91对白在线播放| 国产精品直播网红| 日韩精品免费一线在线观看| www.日韩av.com| 久久九九精品99国产精品| 精品国偷自产在线视频99| 久久免费视频这里只有精品| 亚洲片在线观看| 免费不卡在线观看av| 色偷偷亚洲男人天堂| 欧美尺度大的性做爰视频| 国产区亚洲区欧美区| 欧美做爰性生交视频| 国产欧美一区二区白浆黑人| 欧美一级淫片播放口| 国产精品成人观看视频国产奇米| 国产精品久久久久影院日本| 成人午夜一级二级三级| 亚洲精品国产综合久久| 精品久久久久久久久久久久| 日本精品在线视频| 欧美在线视频一二三| 亚洲美女性生活视频| 亚洲欧美日韩成人| 欧美在线性爱视频| 国产一区二区三区视频在线观看| 欧美性猛交xxxx久久久| 日韩av最新在线观看| 亚洲一区二区三区四区在线播放| 国产在线一区二区三区| 亚洲精品国产综合久久| 97免费在线视频| 尤物yw午夜国产精品视频明星| 日韩一区二区三区xxxx| 91精品国产99久久久久久| 一区二区三区国产在线观看| 亚洲欧美第一页| 国产精品中文久久久久久久| 亚洲午夜女主播在线直播| 亚洲精品视频网上网址在线观看| 两个人的视频www国产精品| 韩国日本不卡在线| 国产97色在线|日韩| 亚洲影视中文字幕| 欧美高清videos高潮hd| 亚洲japanese制服美女| 国产精品久久久久一区二区| 97精品国产97久久久久久春色| 亚洲精品美女久久久久| 国产精品日韩欧美| 国内精品视频一区| 午夜精品一区二区三区在线| 超碰97人人做人人爱少妇| 成人亚洲激情网| 亚洲在线视频观看| 美女福利视频一区| 国产国语刺激对白av不卡| 久久人人爽人人爽爽久久| 国产中文欧美精品| 精品露脸国产偷人在视频| 亚洲精品国精品久久99热一| 色偷偷亚洲男人天堂| 国色天香2019中文字幕在线观看| 亚洲精品久久久一区二区三区| 欧美精品在线网站| 韩日精品中文字幕| 亚洲人a成www在线影院| 日韩视频永久免费观看| 九九热这里只有在线精品视| 7m第一福利500精品视频| 日韩在线观看视频免费| 国产精品美女免费看| 欧美一区三区三区高中清蜜桃| 国产午夜精品全部视频在线播放| 亚洲国产日韩欧美在线动漫| 久久久久久国产精品美女| 久久精品99久久香蕉国产色戒| zzijzzij亚洲日本成熟少妇| 狠狠躁夜夜躁人人爽超碰91| 国产精品大陆在线观看| 中文字幕在线观看日韩| 日韩欧美精品在线观看| www日韩中文字幕在线看| 久久久精品免费| 国产精品久久999| 欧美一级黑人aaaaaaa做受| 亚洲国产高清自拍| 亚洲国产精品va| 欧美综合一区第一页| 日本一区二区在线播放| 一本色道久久综合狠狠躁篇的优点| 91最新在线免费观看| 国产精品91视频| 日本欧美精品在线| 久久久久免费视频| 欧美有码在线观看视频| 欧美在线视频网站| 日本精品免费观看| 久久天天躁狠狠躁夜夜躁2014| 国产精品色视频| 国产欧美精品一区二区三区-老狼| 中文字幕亚洲综合久久| 久久久久久亚洲| 欧美老妇交乱视频| 亚洲欧美日韩一区二区在线| 456国产精品| 欧美国产日韩中文字幕在线| 精品久久中文字幕久久av| 成人黄色av免费在线观看| 久久影院在线观看| 亚洲国产一区自拍| 国模极品一区二区三区| 欧美成人免费小视频| 一区国产精品视频| 美乳少妇欧美精品| 色偷偷偷亚洲综合网另类| 久久久久久久久久婷婷| 欧美成人午夜剧场免费观看| 久久亚洲精品视频| 欧美日韩黄色大片| 国产精品视频公开费视频| 色哟哟网站入口亚洲精品| 欧美激情精品久久久久久免费印度| 欧美日韩午夜视频在线观看| 久久久久久com| 精品成人在线视频| 一区二区三区四区在线观看视频| 中国人与牲禽动交精品| 国产亚洲美女精品久久久| 欧美性xxxx极品高清hd直播| 亚洲国产欧美精品| 欧美wwwwww| 自拍偷拍亚洲欧美| 九九热这里只有在线精品视| 91精品国产91久久久久| 欧美中文字幕第一页| 国产成人+综合亚洲+天堂| 国产97免费视| 国产z一区二区三区| 欧美精品日韩三级| 日韩的一区二区| 日韩在线播放一区| 欧美激情久久久久| 色婷婷综合久久久久|