贪吃蛇游戏源码

本文提供了一个使用C++实现的贪吃蛇游戏源代码,详细展示了游戏的各种功能,包括初始化图形模式、创建游戏框架、蛇的移动及碰撞检测等。通过阅读本文,读者可以了解如何从零开始构建一个简单的贪吃蛇游戏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

贪吃蛇游戏源码


 // greedsnake.cpp

  #include <bios.h>

  #include <conio.h>

  #include <dos.h>

  #include <graphics.h>

  #include <stdlib.h>

  #include <time.h>

  #include "conf.h"

  typedef struct node

  {

  int x,y;

  struct node *next;

  }Node;

  typedef struct

  {

  Node *head,*tail;

  int length;

  }Snake;

  typedef struct                   

  {

  int left,top,right,bottom;

  }Frame;

 

  typedef enum                    //四个方向

  {

  up,down,left,right

  }Direction;

  typedef enum

  {

  false,true

  }bool;

  void InitGraphMode();                     //初始化图形驱动

  void CloseGraphMode();               

  void Foot(int,int);                           

  void Head(int,int);

  void CreateFrame();                    //完成整个游戏框架的绘制   

  void CreateSnake();                    //创建一条两个节点的蛇,蛇的每一节是队列中的一个节点

  bool PlayGame();                        //游戏的主体函数,

  int Hit(int,int);                               //判断是否越界,或者撞到自身,两个参数分别是新的头接点的x,y坐标

  bool GameOver();                        //绘制游戏结束时弹出的对话框                      

  void Enqueue(Node);                    //入队函数

  Node Dequeue();                        //出队函数

  void ClearKeyBuf();                       //清除键盘缓冲,此函数可以消除不停的按无效键的影响

  Snake snake;

  Frame frame;

  void main()

  {

  InitGraphMode();

  do

  {

  CreateFrame();

  }while(PlayGame());

  CloseGraphMode();

  }

  void InitGraphMode()

  {

  int gdriver=DETECT,gmode;

  initgraph(&gdriver,&gmode,"../bgi/");

  cleardevice();

  }

  void CloseGraphMode()

  {

  cleardevice();

  closegraph();

  }

  查看全部源码

转载于:https://www.cnblogs.com/b2tang/archive/2010/01/02/1637970.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值