怎么在这个代码里面添加一个文件,使停车场的信息可以写在文件内?(C语言实现)

img

img

img

img

img

在这个代码里面再编写一个文件,把停车场信息输入到文件里面,这个应该怎么实现啊?

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/355603
  • 你也可以参考下这篇文章:C语言 输入一行字符,统计其中有多少个单词 和 有三个字符串(网上找的代码有瑕疵已解决),找出其中最大者的完整代码及分析过程
  • 除此之外, 这篇博客: C语言 贪吃蛇代码 控制头尾调换,转向的算法非常完美的中的 三年前的代码,自己又没写注释忘得差不多了😅,复制代码可以直接运行! 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • #include<stdio.h>
    #include<conio.h>
    #include<graphics.h>
    #include<time.h>
    #include<bios.h>
    #define size 10
    #define w 18432
    #define s 20480
    #define a 19200
    #define d 19712
    int i,j,v=0;
    int direct = d;
    char str[10];
    
    struct coor
    {
        int x;
        int y;
    }food;
    
    
    struct snake
    {
        int n;
        struct coor scr[1000];
    
    }snake,snake1;
    
    void paintsnake()
    {
        setcolor(0);
        rectangle(snake.scr[snake.n].x, snake.scr[snake.n].y, snake.scr[snake.n].x + size, snake.scr[snake.n].y + size);
        setcolor(15);
        sprintf(str,"%d ",snake.n);
        outtextxy(20,5,"snake.n:");
        outtextxy(70+snake.n*15,5,str);
        for (i = snake.n - 1; i > 0; i--)
        {
            rectangle(snake.scr[i].x, snake.scr[i].y, snake.scr[i].x + size, snake.scr[i].y + size);
        }
        setcolor(2);
        rectangle(snake.scr[0].x, snake.scr[0].y, snake.scr[0].x + size, snake.scr[0].y + size);
    }
    
    void movesnake()
    {
        for (i = snake.n; i > 0; i--)
        {
            snake.scr[i].x = snake.scr[i - 1].x;
            snake.scr[i].y = snake.scr[i - 1].y;
        }
        switch (direct)
        {
        case w:
            snake.scr[0].y -= size; break;
        case s:
            snake.scr[0].y += size; break;
        case a:
            snake.scr[0].x -= size; break;
        case d:
            snake.scr[0].x += size; break;
        }
    }
    
    void overturn()
    {
       for(i=snake.n;i>=0;i--)
            {
               snake1.scr[i].x=snake.scr[i].x;
               snake1.scr[i].y=snake.scr[i].y;
            }
       for(i=snake.n-1;i>=0;i--)
            {
               snake.scr[snake.n-1-i].x=snake1.scr[i].x;
               snake.scr[snake.n-1-i].y=snake1.scr[i].y;
            }
    }
    
    
    void reverse()
    {
        switch(snake.scr[snake.n].x-snake.scr[snake.n-1].x)
        {
        case size:
            overturn();
            direct=d;break;
        case -size:
            overturn();
            direct=a;break;
        }
        switch(snake.scr[snake.n].y-snake.scr[snake.n-1].y)
        {
        case size:
            overturn();
            direct=s;break;
        case -size:
            overturn();
            direct=w;break;
        }
    }
    
    void changedirect()
    {
        switch (bioskey(0))
        {
        case w:
            if (direct == s)
            {
                reverse();
                break;
            }
            direct = w;
            break;
        case s:
            if (direct == w)
            {
                reverse();
                break;
            }
            direct = s;
            break;
        case a:
            if (direct == d)
            {
                reverse();
                break;
            }
            direct = a;
            break;
        case d:
            if (direct == a)
            {
                reverse();
                break;
            }
            direct = d;
            break;
        }
    }
    
    void eatfood()
    {   for(i=snake.n-1;i>=0;i--)
        {
           if (snake.scr[i].x == food.x&&snake.scr[i].y == food.y)
            {
               i=snake.n-1;
               while(i>=0)
               {
                srand((unsigned)time(NULL));
                food.x = rand() % 61 * size+2*size;
                food.y = rand() % 45 * size+2*size;
                for(i=snake.n-1;i>=0;i--)
                   {
                    if(snake.scr[i].x==food.x&&snake.scr[i].y==food.y)
                    break;
                   }
               }
               snake.n++;
               v++;
               break;
            }
        }
    
        setcolor(4);
        rectangle(food.x, food.y, food.x + size, food.y + size);
    }
    
    void gameover()
    {
        if(snake.scr[0].x<20||snake.scr[0].x>620||snake.scr[0].y<20||snake.scr[0].y>460)
        {
           cleardevice();
           moveto(200,240);
           outtext("gameover");
           sleep(5);
        }
        for (i = snake.n - 1; i > 3; i--)
        {
            if (snake.scr[0].x == snake.scr[i].x&&snake.scr[0].y == snake.scr[i].y)
            {
                cleardevice();
                outtextxy(220, 240,"gameover");
                sleep(5);
            }
        }
    }
    
    
    void speed()
    {
       delay(100000);
       delay(100000-snake.n*50);
    }
    int main()
    {
        int driver,mode;
        driver=DETECT;
        initgraph(&driver,&mode,"c:\\tc");
        snake.n = 1;
        snake.scr[0].x = 320;
        snake.scr[0].y = 220;
        food.x = 320;
        food.y = 320;
        setcolor(4);
        rectangle(15,15,634,472);
        while (1)
        {
            while (bioskey(1))
            {
                changedirect();
            }
            movesnake();
            paintsnake();
            gameover();
            eatfood();
            speed();
        }
        return 0;
    }
    
  • 您还可以看一下 韦语洋(Lccee)老师的一机一码加密、被破解自动销毁随时授权回收升级系列视频课程课程中的 演示如何破解一个软件绕过注册机(仅作为后续课程的了解)小节, 巩固相关知识点