⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 face.c

📁 使用c语言实现aloha算法的简单模拟
💻 C
字号:
/* WIN-TC BGI 图形编程模板 */

#include "Conio.h"
#include "graphics.h"


void initgr(void) /* BGI初始化 */
{
  int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */
  registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
  initgraph(&gd, &gm, "");
}

void map()
{
    setbkcolor(14);
    cleardevice();

    setcolor(BLUE);

    setlinestyle(0,0,3);
    line(0,300,440,300);
    line(0,400,440,400);

    setlinestyle(1,0,1);
    line(0,320,440,320);
    line(0,380,440,380);

    setlinestyle(0,0,3);
    rectangle(440,280,640,420);
    floodfill(450,300,BLUE);

    setcolor(2);
    setlinestyle(0,0,3);
    rectangle(50,50,90,80);
    rectangle(45,85,95,90);
    line(52,50,52,85);
    line(88,50,88,85);
    setfillstyle(1,WHITE);
    floodfill(55,55,2);
    floodfill(50,88,2);


    setcolor(2);
    rectangle(110,40,240,100);

    setfillstyle(1,WHITE);
}

void drawletter()
{
    int dsp=0;
    int i;
    int j;

    setwritemode(1);
    setcolor(3);
    setlinestyle(0,0,1);
    for(i=0;i<=40;i++)
    {
        line(150,110,150+i,110);
        line(150,140,150+i,140);
        delay(8000);

    }


    for(i=0;i<=3;i++)
    {
        line(150,110,150,110+i);
        line(190,110,190,110+i);
        delay(8000);
    }

    for(i=0;i<20;i++)
    {
        line(170,130,170+i,130-i);
        line(170,130,170-i,130-i);
        delay(8000);
    }
    setwritemode(0);
    setcolor(3);
    for(i=0;i<=40;i++)
    {
        line(150,110,150+i,110);
        line(150,140,150+i,140);
        delay(8000);

    }
    for(i=0;i<=30;i++)
    {
        line(150,110,150,110+i);
        line(190,110,190,110+i);
        delay(5000);
    }

    for(i=0;i<20;i++)
    {
        line(170,130,170+i,130-i);
        line(170,130,170-i,130-i);
        delay(8000);
    }
}

void formPack(int x1,int y1,int x2,int y2)
{
    rectangle(x1,y1,x2,y2);
    line((x1+x2)/2,y1+20,x1,y1);
    line((x1+x2)/2+1,y1+20-1,x2,y1);
}
void go()
{
    int x1=150,x2=190,y1=110,y2=140;
    int ox1,oy1,ox2,oy2;
    int dsp;
    setcolor(3);
    setlinestyle(0,0,1);
    setwritemode(1);
    ox1=x1;
    oy1=y1;
    ox2=x2;
    oy2=y2;


    for(dsp=1;dsp<158;dsp++)
    {
        formPack(ox1,oy1,ox2,oy2);
        y1++;
        y2++;
        formPack(x1,y1,x2,y2);
        oy1=y1;
        oy2=y2;
        delay(8000);
    }

}

void busy()
{

    int i=48;
    setlinestyle(1,0,3);
    setwritemode(1);

    while(i)
    {
        setcolor(i);
        line(0,340,440,340);
        line(0,360,440,360);
        delay(200);
        i--;

    }
/*    setcolor(15);
    line(0,340,440,340);
    line(0,360,440,360);
    line(0,340,440,340);
    line(0,360,440,360);
*/
}
void back()
{
    int x1=150,x2=190,y1=267,y2=297;
    int ox1,oy1,ox2,oy2;
    int dsp;
    setcolor(3);
    setlinestyle(0,0,1);
    setwritemode(1);
    ox1=x1;
    oy1=y1;
    ox2=x2;
    oy2=y2;

    for(dsp=1;dsp<158;dsp++)
    {
        formPack(ox1,oy1,ox2,oy2);
        y1--;
        y2--;
        formPack(x1,y1,x2,y2);
        oy1=y1;
        oy2=y2;
        delay(8000);
    }

}


void succesSend()
{
    int x1=150,x2=190,y1=267,y2=297;
    int ox1,oy1,ox2,oy2;
    int dsp;
    setcolor(3);
    setlinestyle(0,0,1);
    setwritemode(1);

    for(dsp=0;dsp<420;dsp++)
    {
        if(dsp<70)
        {
            formPack(ox1,oy1,ox2,oy2);
            y1++;
            y2++;
            formPack(x1,y1,x2,y2);
            oy1=y1;
            oy2=y2;
        }
        else
        {
            formPack(ox1,oy1,ox2,oy2);
            x1++;
            x2++;
            formPack(x1,y1,x2,y2);
            ox1=x1;
            ox2=x2;    
        }
        delay(8000);
    }

/*    for(dsp=0;dsp < 150; dsp++)
    {
        formPack(ox1,oy1,ox2,oy2);
        x1++;
        x2++;
        formPack(x1,y1,x2,y2);
        ox1=x1;
        ox2=x2;
        delay(10000);

    }
  */
}


void show(char *str)
{
    int i=100;
    setcolor(7);
    setwritemode(0);
    setfillstyle(1,WHITE);

    while(i)
    {
        bar(460,300,600,400);
        outtextxy(460,350,"success:");
        
        outtextxy(530,350,str);
        delay(8000);
        bar(460,300,600,400);
        i--;
    }

}




void sendOne(char *pack)
{
    char str[9];
    int i = 0;
    float tt=1.0;
    int k=900000;
    setfillstyle(1,14);
    bar(120,50,220,90);

    for(i = 0;i < 8;i++)
    {
        strcpy(str,pack);
        str[i+1]='\0';
        outtextxy(140,65,str);
        delay(10000);
        while(k)
        {
            k--;
            tt+=1.786786786786986;
        }
        k=900000;
    }


    drawletter();
/*    go();
    back();
 */
}


 /*
main()
{
    initgr();
    map();
    getch();
    busy();
    getch();
  *//*  sendOne("10010001");
    *//*go();
    succesSend();
    show("00111111");
    getch();
}
        */


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -