#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
/*最后再优化
struct{
int a[4];//存储电脑的四个随机数
int b[4];//存储用户输入的四个随机数
int count[2];//存储A和B的数量
int win_count;//统计获胜所需次数
}gamer_config;
*/
int a[4];//存储电脑的四个随机数
int b[4];//存储用户输入的四个随机数
int count[2];//存储A和B的数量
int win_count;//统计获胜所需次数
void Four_Randon()
{
int temp;
do
{
temp = rand() % (10000 - 1000 + 1) + 1000;
a[0] = temp % 10;
temp /= 10;
a[1] = temp % 10;
temp /= 10;
a[2] = temp % 10;
temp /= 10;
a[3] = temp;
} while ((a[0] == a[1]) || (a[0] == a[2]) || (a[0]== a[3]) || (a[1] == a[2]) || (a[1] == a[3]) || (a[2] == a[3]));
printf("%d,%d,%d,%d",a[0],a[1],a[2],a[3]);
}
//拆分四位数位四个数
void Get_Four(int input_number){
b[0] = input_number / 1000;
b[1] = input_number / 100 % 10;
b[2] = input_number / 10 % 10;
b[3] = input_number % 10;
}
//比较函数
void compare(){
int countA = 0;
int countB = 0;
int input_number;
printf("please input four number:\n");
scanf("%d",&input_number);
Get_Four(input_number);
for (int i = 0; i < 4;i++){
if (a[i] == b[i]){
countA++;
}
}
for (int i = 0; i < 4; i++){
for (int j = 0; j < 4; j++){
if (a[i] == b[j]){
countB++;
}
}
}
count[0] = countA;
count[1] = countB;
}
void playgame(){
printf("**************start game*************\n");
Four_Randon();
printf("computer have make four random number\n");
while (count[0] != 4){
compare();
win_count++;
printf("%dA%dB", count[0], count[1]);
}
printf("**************you win*************\n");
printf("%d\n",win_count);
}
/*
//写进数据库ID与获胜所需次数
int do_count(MSG * msg, sqlite3 * db,int cishu)
{
char * errmsg;
char sql[128] = { 0 };
sprintf(sql, "insert into history values('%s','%s');", msg->name, cishu);
if (sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s", errmsg);
printf("排序失败");
}
else
{
printf("排序完成\n");
}
return 0;
}
*/
/*
void query(MSG * msg, sqlite3 * db){
//查询数据库中获胜者的前10排名并打印ID与次数
char * errmsg;
char sql[128] = { 0 };
sprintf(sql, "SELECT * FROM COMPANY ORDER BY win_count DESC;");
if (sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s", errmsg);
printf("your count have already exit cannot cover");
}
else
{
printf("your count successfully save\n");
}
if(sqlite3_exec(sql,"select *from history;",NULL,NULL,&errmsg) != SQLITE_OK)
{
printf("%s",errmsg);
}
return 0;
}
*/
int main(){
playgame();
system("pause");
return 0;
}
猜拳游戏c++实现
最新推荐文章于 2024-05-15 08:14:18 发布