一、目的
- 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