C語(yǔ)言-趣味游戲編寫

一、目的

  • demo1:編寫一個(gè)丟沙包型淘汰游戲。
  • demo2:編寫一個(gè)猜數(shù)字的游戲。
  • 了解不同排序方法的原理,掌握其代碼。

二、游戲規(guī)則詳解

游戲一:

1.輸入?yún)⑴c游戲的人數(shù),并給每個(gè)人賦一個(gè)編號(hào)。
2.輸入一個(gè)死亡數(shù)字。
3.所有人圍成一圈,開始報(bào)數(shù),凡是報(bào)到死亡數(shù)字的人都死亡,跳過(guò)此人重新報(bào)數(shù)以此類推最后只剩一個(gè)人。
4.輸出最后一人的編號(hào)。

游戲二:

1.隨機(jī)產(chǎn)生4個(gè)不同的數(shù)字并按從小到大的順序排列。如:1 2 3 4
2玩家輸入四個(gè)數(shù)字。如 :1 4 5 6
3.如果數(shù)值相同且位置一樣用A輸出;如果數(shù)值相同但位置不同用B輸出。如上圖:1A1B
4.當(dāng)達(dá)到4A0B時(shí)即成功通關(guān)。

三、實(shí)現(xiàn)代碼

游戲一:

#include "pch.h"
#include <iostream>

int main()
{
    int c = 1;
    int i;
    int a[100];
    int population;
    int death; int kn=0;
    printf("輸入?yún)⑴c游戲的人數(shù):");
    scanf_s("%d",&population);
    printf("輸入死亡數(shù)字:");
    scanf_s("%d", &death);
    for (i = 0; i < population; i++) {
        a[i] = i + 1;
    }   
    for (i=0; i < population; i++) {
            if (a[i] != 0) {    
                if (c == death) {
                    printf("%d號(hào)死亡\n", a[i]);
                    system("pause");
                    a[i] = 0;
                    kn++;
                    c=0;        
                }
                c++;
            }
            if (i == population - 1) {
                i = -1;
            }
            if (kn==population-1) {
                break;
            }
        }   
    printf("\n");
    for (i=0;i<population;i++) {
        if (a[i] != 0) {
            printf("最后存活的是:%d號(hào)", a[i]);
        }
    }
    printf("\n");
    system("pause");
    return 0;
}

游戲二:

#include "pch.h"
#include <iostream>
#include <time.h>
int main()
{   
    int orgarray[4];
    int guess[4];
    srand((unsigned int)( time(NULL)));
    for (int i=0;i<4;i++) {
        bool isExist = false;
        int temp;
        while(1){
            temp= rand() % 10;
            for (int k = 0; k < i; k++) {
                if (orgarray[k] == temp) {
                    isExist = true;
                    break;
                }               
            }   
            if (isExist == false) {
                break;
            }       
        }   
        orgarray[i] = temp;
    }
    for (int i = 0; i < 4; i++) {
        for (int j=0;j<i;j++) {
            int t;
            if (orgarray[j] > orgarray[i]) {
                t = orgarray[i];
                orgarray[i] = orgarray[j];
                orgarray[j] = t;
            }
        }
    }
    printf("*****************\n");
    printf("    游戲開始!\n");
    printf("*****************\n");
    while (1)
    {
        printf("請(qǐng)輸入猜測(cè)數(shù)字:");
        for (int j = 0; j < 4; j++) {
            scanf_s("%d", &guess[j]);
        }
        int countA = 0; int countB = 0;
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4; j++) {
                if (orgarray[i]==guess[j]) {
                    if (i == j) {
                        countA++;
                    }
                    else {
                        countB++;
                    }
                }
            }
        }
        if (countA == 4) {
            printf("恭喜過(guò)關(guān)!!!\n");
            break;
        }
        else {
            printf("%dA%dB\n",countA,countB);
            countA = 0;
            countB = 0;
        }
    }
    system("pause");
    return 0;
}

四、游戲預(yù)覽

(1):

殺人游戲.gif

(2):

猜數(shù)字.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容