| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4773 人关注过本帖
标题:这个贪吃蛇程序在什么环境下才能运行?
只看楼主 加入收藏
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:15 
这个贪吃蛇程序在什么环境下才能运行?
TCS.rar (1.6 KB)
搜索更多相关主题的帖子: 贪吃蛇 
2016-07-15 12:26
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
用tc编译的。
2016-07-15 12:26
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:14 
是不是需要图形库?类似这样处理试试:
请将程序中的main()函数中的
initgraph(&gdriver,&gmode,"e:\\TC");    函数中的"e:\\TC"
更改为你的TC安装目录。

比如你的TC安装目录为D盘的Tools目录下的TC目录,那么上述语句改为:
initgraph(&gdriver,&gmode,"d:\\Tools\\TC");

[此贴子已经被作者于2016-7-15 12:44编辑过]

2016-07-15 12:43
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
还是不行!
#include <graphics.h>
#include <stdlib.h>
#include <dos.h>
#include <conio.h>
#include <bios.h>
#include <stdio.h>
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
#define N 100
int i,key;
int speed;
void GameOver();
void Play();
void dwall();
void wall(int x,int y);
int Speed();
struct FOOD
{
   int x;
   int y;
   int flag;
}food;
struct Snake
{
   int x[N];
   int y[N];
   int node;
   int dir;
   int life;
}snake;
void wall(int x,int y)
{
   int sizx=9;
   int sizy=9;
   setcolor(15);
   line(x,y,x+sizx,y);
   line(x,y+1,x+sizx-1,y+1);
   line(x,y,x,y+sizy);
   line(x+1,y,x+1,y+sizy-1);
   setcolor(4);
   line(x+1,y+sizy,x+sizx,y+sizy);
   line(x+2,y+sizy-1,x+sizx,y+sizy-1);
   line(x+sizx-1,y+2,x+sizx-1,y+sizy-1);
   line(x+sizx,y+1,x+sizx,y+sizy);
   setfillstyle(1,12);
   bar(x+2,y+2,x+sizx-2,y+sizy-2);
}
void dwall()
{
   int j;
   for(j=50;j<=600;j+=10)
   {
      wall(j,40);
      wall(j,451);
   }
   for(j=40;j<=450;j+=10)
   {
      wall(50,j);
      wall(601,j);
   }
}
int Speed()
{
   int m;
   gotoxy(20,10);
   printf("level1\n");
   gotoxy(20,12);
   printf("level2\n");
   gotoxy(20,14);
   printf("level3\n\t\tplease choose:");
   scanf("%d",&m);
   switch(m)
   {
      case 1:return 60000;
      case 2:return 40000;
      case 3:return 20000;
      default:
      cleardevice();
      Speed();
   }
   return 0;
}
void Play(void)
{
   srand((unsigned long)time(0));
   food.flag=1;
   snake.life=0;
   snake.dir=1;
   snake.x[0]=300;
   snake.y[0]=240;
   snake.x[1]=290;
   snake.y[1]=240;
   snake.node=2;
   do
   {
      while(!kbhit())
      {
     if(food.flag==1)
     do
     {
        food.x=rand()%520+60;
        food.y=rand()%370+60;
        food.flag=0;
     }
     while(food.x%10!=0||food.y%10!=0);
     if(food.flag==0)
     {
        setcolor(GREEN);
        setlinestyle(3,0,3);
        rectangle(food.x,food.y,food.x+10,food.y+10);
     }
     for(i=snake.node-1;i>0;i--)
     {
        snake.x[i]=snake.x[i-1];
        snake.y[i]=snake.y[i-1];
     }
     switch(snake.dir)
     {
        case 1:
        snake.x[0]+=10;
        break;
        case 2:
        snake.x[0]-=10;
        break;
        case 3:
        snake.y[0]-=10;
        break;
        case 4:
        snake.y[0]+=10;
        break;
     }
     for(i=3;i<snake.node;i++)
     {
        if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0])
        {
           GameOver();
           snake.life=1;
           break;
        }
     }
     if(snake.x[0]<60||snake.x[0]>590||snake.y[0]<50||snake.y[0]>440)
     {
        GameOver();
        snake.life=1;
        break;
     }
     if(snake.x[0]==food.x&&snake.y[0]==food.y)
     {
        setcolor(0);
        rectangle(food.x,food.y,food.x+10,food.y+10);
        snake.node++;
        food.flag=1;
     }
     setcolor(4);
     for(i=0;i<snake.node;i++)
     {
        setlinestyle(0,0,1);
        rectangle(snake.x[i],snake.y[i],snake.x[i]+10,snake.y[i]+10);
     }
     delay(speed);
     setcolor(0);
     rectangle(snake.x[snake.node-1],snake.y[snake.node-1],
     snake.x[snake.node-1]+10,snake.y[snake.node-1]+10);
      }
      if(snake.life==1)
      {
     break;
      }
      key=bioskey(0);
      if(key==UP&&snake.dir!=4)
      {
     snake.dir=3;
      }
      else
      {
     if(key==DOWN&&snake.dir!=3)
     {
        snake.dir=4;
     }
     else
     {
        if(key==RIGHT&&snake.dir!=2)
        {
           snake.dir=1;
        }
        else
        {
           if(key==LEFT&&snake.dir!=1)
           {
          snake.dir=2;
           }
        }
     }
      }

   }while(key!=ESC);
}
void GameOver(void)
{
   cleardevice();
   setcolor(RED);
   settextstyle(0,0,4);
   outtextxy(50,200,"GAME OVER,BYE BYE!");
   sleep(3);
}
main()
{
   int gdriver=DETECT,gmode;
   initgraph(&gdriver,&gmode,"F:\\tc1\\TC20H");
   speed=Speed();
   cleardevice();
   dwall();
   Play();
   getch();
   closegraph();
   return 0;
}
2016-07-15 14:03
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
不知道对tc版本有什么要求?
2016-07-15 14:04
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:0 
你用的TC?提示编译的错误是什么?不是说你加了头文件就行了,看下你的错误提示是什么,不知道是不是没有图形库

[此贴子已经被作者于2016-7-15 14:43编辑过]

2016-07-15 14:42
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 6楼 wanglianyi1
提示很多符号未定义!像line,closegraph,initgraph,等。是不是没有图形库,该怎么办?
2016-07-20 17:11
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
能运行啊
图片附件: 游客没有浏览图片的权限,请 登录注册

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2016-07-20 17:22
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
BGI error:
2016-07-20 17:23
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
以下是引用zhulei1978在2016-7-20 17:22:34的发言:

能运行啊
你的tc是什么版本呀?
2016-07-20 17:47
快速回复:这个贪吃蛇程序在什么环境下才能运行?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015711 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved