一、目的
- 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 <iostream>
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<population;i++) {
if (a[i] != 0) {
printf("最后存活的是:%d号", 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("请输入猜测数字:");
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;
}