love2000 发表于 2015-12-28 18:58:10

谢谢前面的师兄弟们、

loo 发表于 2015-12-28 22:56:23

很好 用的了了谢谢

hfut_wangfei 发表于 2015-12-29 09:05:04

还有C/C++函数参考手册,这个我喜欢:smile

wlssre 发表于 2015-12-29 21:57:51

支持一下

多线程 发表于 2015-12-31 16:14:26

### 不错不哈
- 给力

wzy997991067 发表于 2016-1-16 14:48:50

好啊

1606312389 发表于 2016-1-16 15:40:03

好像不错

ftimes 发表于 2016-1-16 17:08:09

多谢楼主 会试试看

distooy 发表于 2016-1-16 23:18:52

就是喜欢这种轻量级的编译器    VS什么的 简直不想用

Favor 发表于 2016-3-5 08:00:15

真心不错呀,感谢!

林小甲鱼 发表于 2016-3-5 09:54:36

已下载,谢谢楼主

黑色晚礼服 发表于 2017-5-17 16:44:02

楼楼觉得DEV C++ 怎么样

宝妹 发表于 2017-11-10 11:43:11

谢谢,非常好用,赞!!!{:10_254:}

宝妹 发表于 2017-11-10 12:14:59

谢谢 风介前辈提供的编译器,我已经下载了, 感觉看起来很舒服的一款编译器,功能也很多,但当我把原来在VC++6.0里可以运行的贪食蛇程序复制进去的时候,结果是下面截图的结果,有6个错误1个警告,后来我还是不甘心,又把头文件graphics 拖到了Free.5.0的include里,复制了
/* 贪食蛇程序 by champking */

#define N 200

#include'graphics.h'

#include <stdlib.h>

#include <dos.h>


#define LEFT 0x4b00

#define RIGHT 0x4d00

#define DOWN 0x5000

#define UP 0x4800

#define ESC 0x011b

int i, key;

int score = 0;/*得分*/

int gamespeed = 100000;/*游戏速度自己调整*/

struct Food
{
    int x;/*食物的横坐标*/
    int y;/*食物的纵坐标*/
    int yes;/*判断是否要出现食的变量*/
}food;/*食物的结构体*/

struct Snake
{
int x ;
int y ;

int node;/*蛇的节数*/
int direction;/*蛇移动方向*/
int life;/*蛇的生命,0活着,1死亡*/
}snake;

void Init(void);/*图形驱动*/
void Close(void);/*图形结束*/
void Drawk(void);/*开始画面*/
void GameOver(void);/*结束游戏*/
void GamePlay(void);/*玩游戏具体过程*/
void PrScore(void);/*输出成绩*/
/*主函数*/

void main(void)
{
    Init();/*图形驱动*/
    DrawK();/*开始画面*/
    GamePlay();/*玩游戏具体过程*/
    Close();/*图形结束*/
}

/*图形驱动*/

void Init(void)
{
    int gd = DETECT,gm;
    initgraph(&gd,&gm,"c:\\tc");
    cleardevice();
}
/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/

void DrawK(void)
{
    /*setbkcolor(LIGHTGREEN);*/
    setcolor(11);
    setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/

    for(i = 50; i<=600; i+=10)/*画围墙*/
    {
      rectangle(i,40, i + 10, 49);/*上边*/
      rectangle(i,451, i + 10,460);/*下边*/
    }

    for(i = 40; i <=450; i+=10)
    {
      rectangle(50,i,59,i+10);/*左边*/
      rectangle(601,i,610,i + 10);/*右边*/
    }
}


/*玩游戏具体过程*/

void GamePlay(void)
{
    randomize();/*随机数发生器*/
    food.yes = 1;/*1表示需要出现新食物,0表示已经存在食物*/
    snake.life = 0; /*活着*/
    snake.direction = 1; /*方向往右*/
    snake.x = 100; snake.y =100; /*蛇头*/
    snake.x = 110; snake.y =100;
    snake.node = 2; /*节数*/
    PrScore();/*输出得分*/


    while(1)/*可以重复玩游戏,压ESC键结束*/
    {
      while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/
      {
            if(food.yes = = 1)/*需要出现新食物*/
            {
               food.x = rand()%400 + 60;
               food.y = rand()%350 + 60;

               while(food.x % 10)! = 0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/

                     food.x ++;

               while(food.y % 10)! = 0)

                     food.y ++;

               food.yes = 0 ;/*画面上有食物了*/
               
            }

            if(food.yes == 0)/*画面上有食物了就要显示*/
            {
               setcolor(GREEN);
               rectangle(food.x,food.y,food.x +10, food.y -10);
            }


            for(i = snake.node -1; i>0; i--)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/
            {
               snake.x = snake.x;
               snake.y = snake.y;
            }

            /*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头 */

            switch(snake.direction)
            {
                case 1: snake.x+= 10; break;
                case 2: sanke.x-= 10; break;
                case 3: snake.y-= 10; break;
                case 4: snake.y+= 10; break;
                default:break;
            }

            for(i = 3; i < snake.node; i++)/*从蛇的第四节开始判断是否撞到自己了,因为蛇头为两节,第三节不可能拐过来*/
            {

                if(snake.x = = snake.x&& snake.y = = snake.y)
               {
                  GameOver();/*显示失败*/
                  snake.life = 1 ;
                  break;
               }
            }

            if(snake.x<55||snake.x>595||snake.y<55||snake.y>455)/*蛇是否撞到墙壁*/
            {
                GameOver();/*本次游戏结束*/
                snake.life=1; /*蛇死*/
            }

            if(snake.life = = 1)/*以上两种判断以后,如果蛇死就出内循环不,重新开始*/
                break;


            if(snake.x == food.x && snake.y == food.y)/*吃到食物以后*/
            {
                setcolor(0);/*把画面上的食物东西去掉*/
                rectangle(food.x,food.y,food.x +10,food.y -10);
                snake.x =- 20; snake.y=-20;
                /*新的一节先放在看不见的位置,下次循环就取前一节的位置*/
                snake.node++;/*蛇的身体长一节*/
                food.yes =1; /*画面上需要出现新的食物*/
                score + = 10 ;
                PrScore();/*输出新得分*/
            }

            setcolor(4);/*画出蛇*/
            for(i = 0; i<snake.node; i++)
                rectangle(snake.x,snake.y,snake.x + 10,snake.y-10);

            delay(gamespeed);
            setcolor(0);/*用黑色去除蛇的最后一节*/
            rectangle(snake.x,snake.y,snake.x+10,snake.y-10);
      }/*endwhile(!kbhit)*/

      if(snake.life == 1)/*如果蛇死就跳出循环*/
            break;

      key = bioskey (0);/*接收按键*/

      if(key == ESC)/*按ESC键退出*/
            break;
      else if(key == UP&& snake.direction)! =4)
            /*判断是否往相反的方向移动*/
            snake.direction =3;
      else if(key == RIGHT && snake.direction! = 2)
            snake.direction=1;
      else if(key == LEFT && snake.direction! =1)
            snake.direction =2;
      else if(key == DOWN && snake.direction! =3)
            snake.direction = 4 ;
    }
    /*endwhile(1)*/
}

/*游戏结束*/

void GameOver(void)
{
    cleardevice();
    PrScore();
    setcolor(RED);
    settextstyle(0,0,4);
    outtextxy(200,200,"GAME OVER");
    getch();
}

/*输出成绩*/

void PrScore(void)
{
    char str;
    setfillstyle (SOLID_FILL,YELLOW);
    bar(50,15,220,35);
    setcolor(6);
    settextstyle(0,0,2);
    sprintf(str,"score:%d",score);
    outtextxy (55,20,str);
}

/*图形结束*/

void Close(void)
{
    getch();
    closegraph();
}
这一款贪食蛇的程序,结果出现的是50个错误,请问这是怎么一回事啊?

宝妹 发表于 2017-11-10 12:18:02

对了,风介前辈,更让人不解的是:在FREE 5.0里面运行您好!世界和星的循环嵌套程序正常,可以运行!

erdaye007 发表于 2017-11-10 12:29:09

这么高的回帖奖励,鼓励!!!

磨牙耗子 发表于 2018-5-4 16:04:14

看到回帖奖励反手就是一个棒棒

AP_LB 发表于 2018-5-31 13:01:25

已下载

迟醒的老幺 发表于 2018-7-1 18:08:29

好厉害

迟醒的老幺 发表于 2018-7-1 18:22:21

请教一下,小白想把基础打得更实一点,用哪个编译器比较好?
页: 1 2 3 4 5 6 7 8 [9] 10 11
查看完整版本: 【C/C++】比VC++6.0更好的C/C++编译器