NO.4【嫿骨】の小房子程式

嫿骨有心麼發表於2020-12-29

要求

原題

列印個房子

審題

/*
需求:列印個房子
心形建築->毀滅
->變房子(出現周圍環境)->出現!(出現人)->左右走->走到門口->芝麻開門!->新的場景_>上床睡覺,關不關煤油燈->關 ->做夢(結束)
->不關->著火(一層層燒完,掛了)
*/

程式碼

void SetTitle(char *title)  //視窗標題
 {
     SetConsoleTitle(title); //SetConsoleTitle()為<windows.h>中的函式
 }
void Choice(int temp)    //重複的選項函式
{
    while(1)    //錯誤後可進行迴圈
    {
        if(temp != 1 && temp != 2)
        {
            printf("錯了,重新輸入,只能1或2\n");
            printf("請輸入:\n");
            scanf("%d",&temp);
        }
        if(temp == 1 || temp == 2)
        {
            printf("採取行動!\n");
            break;
        }
    }
}
void Heart()    //列印大愛心
{
    int k,l;    //控制心形圖形中間的行列
    printf(
    "         ***** *****\n"
    "     ********* *********\n"
    " ************* *************\n");
    //前三排的規律性不強,所以直接顯示
    for(k=0;k<3;k++)//顯示中間三排
    {
    for(l=0;l<29;l++)
    printf("*");
    printf("\n");
    }
    for(k=0;k<7;k++)//顯示呈遞減趨勢規dao律的中間7排
    {
        for(l=0;l<2*(k+1)-1;l++)
        printf(" ");
        for(l=0;l<27-k*4;l++)
        printf("*");
        printf("\n");
    }
}
void House()    //列印樓房
{
    printf("  ◢██████果果の小屋██████◣\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █(*^▽^*)███(*><*)███(*^▽^*)█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█               (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█            (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█         (*) * (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█       \\ (*) * (*) * (*) /\n");
    printf("  █田█田█田█田█田█田█田█田█田█          \\ \\ \\ | / / /\n");
    printf("  █田█田█田█田█田█田█田█田█田█            \\ \\ Y / //\n");
    printf("●◢██ ┏———————————┓  ██◣●          \\\\ | //\n");
    printf("●◢██ │          ◎          │  ██◣●           \\\\Y//\n");
    printf("●◢██ │          ◎          │  ██◣●            >=<\n");
    printf("●◢██ ┗———┰————┰———┛  ██◣●           //*\\\\\n");
}
void Space(int temp)    //控制小人行走左方的空格數
{
    for(; temp > 10; temp--)
    {
        printf(" ");
    }
}
void Human()    //控制小人行走
{
    int i = 45;//小人位置
    while(1)
    {
        int choice2;    //該函式中的選項控制
        if(i%2 == 0)    //取餘數,更改動作
        {
            system("cls");
            House();    //列印樓房
            Space(i); printf("    @\n");
            Space(i); printf("  \\\\|//\n");
            Space(i); printf("    |\n");
            Space(i); printf("    |\n");
            Space(i); printf("  // \\\\ \n");
            Space(i); printf(" //   \\\\ \n");
        }
        if(i%2 == 1)    //取餘數,更改動作
        {
            system("cls");
            House();   //列印樓房
            Space(i); printf("    @\n");
            Space(i); printf("    |\n");
            Space(i); printf("  //|\\\\ \n");
            Space(i); printf("    |\n");
            Space(i); printf("  // \\\\ \n");
            Space(i); printf(" //   \\\\ \n");
        }
        scanf("%d",&choice2);
        Choice(choice2);     //對輸入選項進行判斷
        if(i > 26)
        {
            if(choice2 == 1)
            {
                i--;
            }
            if(choice2 == 2)
            {
                i++;
            }
        }
        if(i == 26)
        {
            printf("到地方了!\n");
            break;
        }
    }
}
void Door()     //進門
{
    int rush;   //用於按鍵進門的緩衝
    int choice3;    //選項
    system("cls");
    printf("●◢██ ┏———————————┓  ██◣●\n");
    printf("●◢██ │          ◎          │  ██◣●\n");
    printf("●◢██ │          ◎          │  ██◣●\n");
    printf("●◢██ ┗———┰————┰———┛  ██◣●\n");
    printf("等等!(按任意鍵並回車繼續)\n");
    scanf("%d", &rush);
    fflush(stdin);
    printf("先別開門!(按任意鍵並回車繼續)\n");
    scanf("%d", &rush);
    fflush(stdin);
    printf("請輸入暗號!\n1、芝麻開門!\n2、蠶豆開門!\n");
    scanf("%d", &choice3);
    Choice(choice3);
    fflush(stdin);
    if(choice3 == 1)
    {
        printf("密碼不對哦~回家撿芝麻去吧!小盆友\n");
        exit(0);
    }

    printf("密碼正確!\n那~你進?(按任意鍵並回車進門,併到一個房間)\n");
    scanf("%d", &rush);
    fflush(stdin);
}
void Bed()
{
    printf("見識見識你的床套叭!\n\n\n");
    Sleep(2000);
    printf("    ┴┬┴┬/ ̄\_/ ̄\  \n");
    printf("┬┴┬┴▏  ▏▔▔▔▔\   \n");
    printf("┴┬┴/\ /      ﹨ \n");
    printf("┬┴∕       /   )  \n");
    printf("┴┬▏        ●  ▏   \n");
    printf("┬┴▏           ▔█◤   \n");
    printf("┴◢██◣       \__/ \n");
    printf("┬█████◣       /\n");
    printf("┴█████████████◣   \n");
    printf("◢██████████████▆▄   \n");
    printf("◢██████████████▆▄   \n");
    printf("█◤◢██◣◥█████████◤\n");
}
void Lamp() //關燈
{
    int choice4;    //選項
    Sleep(2000);
    printf("該睡覺覺啦~關不關煤油燈呢今天?\n1、滅掉\n2、不滅\n");
    scanf("%d", &choice4);
    fflush(stdin);
    Choice(choice4);
    if(choice4 == 1)
    {
        printf("一夜無事,早上起來你發現你已躺在自己家中……\n");
        printf("e");
        Sleep(1000);
        printf("n");
        Sleep(1000);
        printf("d");
        exit(0);
    }
}
void Fire() //著火(應該可以用陣列的叭0.0)
{
    system("cls");  //0
    printf("  ◢██████果果の小屋██████◣\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █(*^▽^*)███(*><*)███(*^▽^*)█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█               (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█            (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█         (*) * (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█       \\ (*) * (*) * (*) /\n");
    printf("  █田█田█田█田█田█田█田█田█田█          \\ \\ \\ | / / /\n");
    printf("  █田█田█田█田█田█田█田█田█田█            \\ \\ Y / //\n");
    printf("●◢██ ┏———————————┓  ██◣●          \\\\ | //\n");
    printf("●◢██ │          ◎          │  ██◣●           \\\\Y//\n");
    printf("●◢██ │          ◎          │  ██◣●            >=<\n");
    printf("●◢██ ┗———┰————┰———┛  ██◣●           //*\\\\\n");
    Sleep(1000);
    system("cls");  //1
    printf("  \n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █(*^▽^*)███(*><*)███(*^▽^*)█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█               (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█            (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█         (*) * (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█       \\ (*) * (*) * (*) /\n");
    printf("  █田█田█田█田█田█田█田█田█田█          \\ \\ \\ | / / /\n");
    printf("  █田█田█田█田█田█田█田█田█田█            \\ \\ Y / //\n");
    printf("●◢██ ┏———————————┓  ██◣●          \\\\ | //\n");
    printf("●◢██ │          ◎          │  ██◣●           \\\\Y//\n");
    printf("●◢██ │          ◎          │  ██◣●            >=<\n");
    printf("●◢██ ┗———┰————┰———┛  ██◣●           //*\\\\\n");
    Sleep(1000);
    system("cls");  //2
    printf("  \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █(*^▽^*)███(*><*)███(*^▽^*)█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█               (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█            (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█         (*) * (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█       \\ (*) * (*) * (*) /\n");
    printf("  █田█田█田█田█田█田█田█田█田█          \\ \\ \\ | / / /\n");
    printf("  █田█田█田█田█田█田█田█田█田█            \\ \\ Y / //\n");
    printf("●◢██ ┏———————————┓  ██◣●          \\\\ | //\n");
    printf("●◢██ │          ◎          │  ██◣●           \\\\Y//\n");
    printf("●◢██ │          ◎          │  ██◣●            >=<\n");
    printf("●◢██ ┗———┰————┰———┛  ██◣●           //*\\\\\n");
    Sleep(1000);
    system("cls");  //3
    printf("  \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("  █(*^▽^*)███(*><*)███(*^▽^*)█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█\n");
    printf("  █田█田█田█田█田█田█田█田█田█               (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█            (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█         (*) * (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█       \\ (*) * (*) * (*) /\n");
    printf("  █田█田█田█田█田█田█田█田█田█          \\ \\ \\ | / / /\n");
    printf("  █田█田█田█田█田█田█田█田█田█            \\ \\ Y / //\n");
    printf("●◢██ ┏———————————┓  ██◣●          \\\\ | //\n");
    printf("●◢██ │          ◎          │  ██◣●           \\\\Y//\n");
    printf("●◢██ │          ◎          │  ██◣●            >=<\n");
    printf("●◢██ ┗———┰————┰———┛  ██◣●           //*\\\\\n");
    Sleep(1000);
    system("cls");  //4
    printf("  \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("  █(*^▽^*)███(*><*)███(*^▽^*)█\n");
    printf("  █田█田█田█田  \n");
    printf("  █田█田█田█田█田 \n");
    printf("  █田█田█田█田█田█田█田█田█田█               (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█            (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█         (*) * (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█       \\ (*) * (*) * (*) /\n");
    printf("  █田█田█田█田█田█田█田█田█田█          \\ \\ \\ | / / /\n");
    printf("  █田█田█田█田█田█田█田█田█田█            \\ \\ Y / //\n");
    printf("●◢██ ┏———————————┓  ██◣●          \\\\ | //\n");
    printf("●◢██ │          ◎          │  ██◣●           \\\\Y//\n");
    printf("●◢██ │          ◎          │  ██◣●            >=<\n");
    printf("●◢██ ┗———┰————┰———┛  ██◣●           //*\\\\\n");
    Sleep(1000);
    system("cls");  //5
    printf("  \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("  █(* \n");
    printf("  █田█田█   \n");
    printf("  █田█田█田█ \n");
    printf("  █田█田█田█田█田█田█田█田█田█            (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█         (*) * (*) * (*)\n");
    printf("  █田█田█田█田█田█田█田█田█田█       \\ (*) * (*) * (*) /\n");
    printf("  █田█田█田█田█田█田█田█田█田█          \\ \\ \\ | / / /\n");
    printf("  █田█田█田█田█田█田█田█田█田█            \\ \\ Y / //\n");
    printf("●◢██ ┏———————————┓  ██◣●          \\\\ | //\n");
    printf("●◢██ │          ◎          │  ██◣●           \\\\Y//\n");
    printf("●◢██ │          ◎          │  ██◣●            >=<\n");
    printf("●◢██ ┗———┰————┰———┛  ██◣●           //*\\\\\n");
    Sleep(1000);
    system("cls");  //6
    printf("  \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("  █田█田█田█田█田█田█田█田█田█            \\ \\ Y / //\n");
    printf("●◢██ ┏———————————┓  ██◣●          \\\\ | //\n");
    printf("●◢██ │          ◎          │  ██◣●           \\\\Y//\n");
    printf("●◢██ │          ◎          │  ██◣●            >=<\n");
    printf("●◢██ ┗———┰————┰———┛  ██◣●           //*\\\\\n");
    Sleep(1000);
    system("cls");  //7
    printf("  \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf("   \n");
    printf(" \n");
    printf(" \n");
    printf(" \n");
    printf(" \n");
    printf("●◢██ ┗———┰————┰———┛  ██◣●           //*\\\\\n");
    Sleep(2000);
    printf("房子著火了\n");
    Sleep(2000);
    printf("你~");
    Sleep(2000);
    printf("沒~");
    Sleep(2000);
    printf("了~\n");
    Sleep(2000);
    printf("(【果果小屋】參觀之旅,完美收官~~~)");
}

int main()
{
    int choice1 = 0;     //選項
    SetTitle("【嫿骨】の小房子程式");
    Heart();    //列印大愛心
    printf("開門見山,你在路上走,碰到一個【大愛心】,這時候應該怎麼辦?\n");
    printf("1、砸了算了\n2、過去看看\n");
    scanf("%d",&choice1);
    Choice(choice1);     //對輸入選項進行判斷
    if(choice1 == 1)
    {
        printf("你把它砸了,然後就回家了(無事發生)\n");
        Sleep(1000);
        printf("殘骸如下:\n");
        printf("         ***** *****\n");
    }
    printf("就在你靠近的一瞬間,你的眼中白光一閃!\n");
    Sleep(1500);
    system("color f4");     //視窗的背景顏色與字型顏色
    system("cls");  //清屏
    Sleep(2000);
    system("color fa");     //視窗的背景顏色與字型顏色
    House();     //列印樓房
    printf("你的眼前出現一座高樓大廈,走到門那裡看看吧!(1/2控制方向)");
    Sleep(3000);
    Human();    //列印小人,並行走
    Door();     //進門
    Bed();  //上床
    Lamp(); //關燈
    Fire(); //著火
    return 0;
}

部分執行結果

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

知識點

/*
邏輯非 ! >算術 > 邏輯與 &&、邏輯或 || > 賦值=
使用getch() 標頭檔案應包含 <conio.h>
更改視窗的背景顏色與字型顏色 system(“color 背景顏色字型顏色”);
0-黑色 1-藍色 2-綠色 3-淺綠色
4-紅色 5-紫色 6-黃色 7-白色
8-灰色 9-淺藍色 a-淺綠色 b-淡淺綠色
c-淡紅色 d-淡紫色 e-淡黃色 f-亮白色
*/

溜了溜了,早上考試

相關文章