鏀惰棌 (0) +1 璧� (0) +1 韪� (0) +1
鏀惰棌鎴愬姛鏌ョ湅鏀惰棌>>

正在阅读:利用C++实现的贪吃蛇游戏利用C++实现的贪吃蛇游戏

2004-10-08 14:53 出处:CSDN 作者:oosky2004 责任编辑:linjixiong


  Node Dequeue()
  {
  Node *p=snake.head;
  Node outNode=*p;
  snake.head=p->next;
  snake.length--;
  delete p;
  return outNode;
  }

  int Hit(int x,int y)
  {
  if(x<frame.left||x>=frame.right||y<frame.top||y>=frame.bottom)//hit the wall
  return 1;
  Node *p=snake.head->next;
  for(int i=snake.length-1;i>3;i--,p=p->next)//hit itself
  if(x==p->x&&y==p->y)
  return 1;
  return 0;
  }

  bool GameOver()
  {
  int x=getmaxx()/2-50;
  int y=getmaxy()/2-20;
  setfillstyle(SOLID_FILL,DARKGRAY);
  bar(x+3,y+3,x+103,y+43);
  setfillstyle(SOLID_FILL,MAGENTA);
  bar(x,y,x+100,y+40);
  setlinestyle(0,3,1);
  setcolor(RED);
  rectangle(x,y,x+100,y+40);
  outtextxy(x+20,y+10,"GAGE OVER!");
  char c;
  while(true)                                        //按q或Q表示退出程序,按r或R表示重新开始游戏
  {
  c=getch();
  if(c=='q'||c=='Q')
  return false;
  else if(c=='r'||c=='R')
  return true;
  }
  }
  //conf.h                                                          
  #ifndef _conf_h
  #define _conf_h
  #define RowOfFrame    20         //主框架的行数
  #define ColumnOfFrame 20         //主框架的列数
  #define BlockWidth    15        //每个蛇节点的宽度
  #define BlockHeight   15        //每个蛇节点的高度
  #define UP   18432
  #define DOWN  20480
  #define LEFT  19200
  #define RIGHT  19712
  #define ESC   283
  #define ENTER  7181
  #define PAGEUP  18688
  #define PAGEDOWN 20736
  #endif

察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
手机访问回到顶部