C语言-趣味游戏编写

一、目的

  • demo1:编写一个丢沙包型淘汰游戏。
  • demo2:编写一个猜数字的游戏。
  • 了解不同排序方法的原理,掌握其代码。

二、游戏规则详解

游戏一:

1.输入参与游戏的人数,并给每个人赋一个编号。
2.输入一个死亡数字。
3.所有人围成一圈,开始报数,凡是报到死亡数字的人都死亡,跳过此人重新报数以此类推最后只剩一个人。
4.输出最后一人的编号。

游戏二:

1.随机产生4个不同的数字并按从小到大的顺序排列。如:1 2 3 4
2玩家输入四个数字。如 :1 4 5 6
3.如果数值相同且位置一样用A输出;如果数值相同但位置不同用B输出。如上图:1A1B
4.当达到4A0B时即成功通关。

三、实现代码

游戏一:

#include "pch.h"
#include 

int main()
{
    int c = 1;
    int i;
    int a[100];
    int population;
    int death; int kn=0;
    printf("输入参与游戏的人数:");
    scanf_s("%d",&population);
    printf("输入死亡数字:");
    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号死亡\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

游戏二:

#include "pch.h"
#include 
#include 
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 orgarray[i]) {
                t = orgarray[i];
                orgarray[i] = orgarray[j];
                orgarray[j] = t;
            }
        }
    }
    printf("*****************\n");
    printf("    游戏开始!\n");
    printf("*****************\n");
    while (1)
    {
        printf("请输入猜测数字:");
        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("恭喜过关!!!\n");
            break;
        }
        else {
            printf("%dA%dB\n",countA,countB);
            countA = 0;
            countB = 0;
        }
    }
    system("pause");
    return 0;
}

四、游戏预览

(1):

杀人游戏.gif

(2):

猜数字.gif

你可能感兴趣的:(C语言-趣味游戏编写)