首页游戏c语言小游戏代码,游戏代码大全

c语言小游戏代码,游戏代码大全

编程之家2026-05-18641次浏览

老铁们,大家好,相信还有很多朋友对于c语言小游戏代码和游戏代码大全的相关问题不太懂,没关系,今天就由我来为大家分享分享c语言小游戏代码以及游戏代码大全的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

c语言小游戏代码,游戏代码大全

用C语言编写的小游戏代码是什么

“猜数字小游戏”,每个数字后按空格,最后按回车确认

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

int a[4],b[4];

int count=0;//计算猜测次数

c语言小游戏代码,游戏代码大全

void csh();//初始化

void start();//开始游戏

int main()

{ csh();

start();

}

c语言小游戏代码,游戏代码大全

void csh()//初始化

{ printf("

猜数字小游戏

");

printf(“猜四个数字,如数字与顺序都正确记为A,数字正确位置不对记为B.

”);

}

void start()//开始游戏

{int m,n;//m是完全猜对的个数,n是顺序不对的个数

while(1)

{srand((unsigned)time(NULL));//初始化随机数发生器srand()

while(1){ for(int i=0;i<4;i++) a[i]=rand()%10;//rand()函数每次随机产生一个0-9的数

if((a[3]!=a[2]&&a[3]!=a[1]&&a[3]!=a[0])&&

(a[2]!=a[1]&&a[2]!=a[0])&&a[1]!=a[0]) break;}//4个随机数各自不相等

printf("请依次输入4个一位整数:

");

while(1)

{for(int i=0;i<4;i++) scanf(“%d”,&b[i]);

printf("你输入的是:%d%d%d%d",b[0],b[1],b[2],b[3]);

m=0;n=0;

for(int i=0;i<4;i++)

{for(int j=0;j<4;j++)

{ if(b[i]==a[j]&&i==j)m=m+1; if(b[i]==a[j]&&i!=j)n=n+1;}

}

count=count+1;

printf("%dA%dB你试了%d次

",m,n,count);

if(m==4)break;

if(count==8){ count=0; break;}

}

printf("

");

if(m==4)printf("你猜对了(^-^)!就是:%d%d%d%d

",a[0],a[1],a[2],a[3]);

else printf("你输了(T-T)!哈哈!应该是:%d%d%d%d

",a[0],a[1],a[2],a[3]);

int z;

printf("(要继续吗?1或0)

");

scanf(“%d”,&z);

if(z==0) break;

}

}

求几C语言个小游戏代码,简单的,要注释、、谢谢了、

// Calcu24.cpp: Defines the entry point for the console application.

//

/*

6-6

24点游戏

*/

#include"conio.h"

#include"stdlib.h"

#include"time.h"

#include"math.h"

#include"string.h"/*

从一副扑克牌中,任取4张。

2-10按其点数计算(为了表示方便10用T表示),J,Q,K,A统一按 1计算

要求通过加减乘除四则运算得到数字 24。

本程序可以随机抽取纸牌,并用试探法求解。

*/void GivePuzzle(char* buf)

{

char card[]={'A','2','3','4','5','6','7','8','9','T','J','Q','K'}; for(int i=0; i<4; i++){

buf[i]= card[rand()% 13];

}

}

void shuffle(char* buf)

{

for(int i=0; i<5; i++){

int k= rand()% 4;

char t= buf[k];

buf[k]= buf[0];

buf[0]= t;

}

}

int GetCardValue(int c)

{

if(c=='T') return 10;

if(c>='0'&& c<='9') return c-'0';

return 1;

}

char GetOper(int n)

{

switch(n)

{

case 0:

return'+';

case 1:

return'-';

case 2:

return'*';

case 3:

return'/';

} return'';

}double MyCalcu(double op1, double op2, int oper)

{

switch(oper)

{

case 0:

return op1+ op2;

case 1:

return op1- op2;

case 2:

return op1* op2;

case 3:

if(fabs(op2)>0.0001)

return op1/ op2;

else

return 100000;

} return 0;

}

void MakeAnswer(char* answer, int type, char* question, int* oper)

{

char p[4][3];

for(int i=0; i<4; i++)

{

if( question[i]=='T')

strcpy(p[i],"10");

else

sprintf(p[i],"%c", question[i]);

}

switch(type)

{

case 0:

sprintf(answer,"%s%c(%s%c(%s%c%s))",

p[0], GetOper(oper[0]), p[1], GetOper(oper[1]), p[2], GetOper(oper[2]), p[3]);

break;

case 1:

sprintf(answer,"%s%c((%s%c%s)%c%s)",

p[0], GetOper(oper[0]), p[1], GetOper(oper[1]), p[2], GetOper(oper[2]), p[3]);

break;

case 2:

sprintf(answer,"(%s%c%s)%c(%s%c%s)",

p[0], GetOper(oper[0]), p[1], GetOper(oper[1]), p[2], GetOper(oper[2]), p[3]);

break;

case 3:

sprintf(answer,"((%s%c%s)%c%s)%c%s",

p[0], GetOper(oper[0]), p[1], GetOper(oper[1]), p[2], GetOper(oper[2]), p[3]);

break;

case 4:

sprintf(answer,"(%s%c(%s%c%s))%c%s",

p[0], GetOper(oper[0]), p[1], GetOper(oper[1]), p[2], GetOper(oper[2]), p[3]);

break;

}

}

bool TestResolve(char* question, int* oper, char* answer)

{

//等待考生完成

int type[5]={0,1,2,3,4};//计算类型

double p[4];

double sum=0;

//

for(int i=0; i<4; i++)//循环取得点数

{

p[i]=GetCardValue(int(question[i]));

} for(i=0;i<5;i++)

{

MakeAnswer(answer,type[i],question,oper);//获取可能的答案

switch(type[i])

{

case 0:

sum=MyCalcu(p[0],MyCalcu( p[1],MyCalcu(p[2], p[3], oper[2]),oper[1]),oper[0]);//A*(B*(c*D))

break;

case 1:

sum=MyCalcu(p[0],MyCalcu(MyCalcu(p[1], p[2], oper[1]),p[3],oper[2]),oper[0]);//A*((B*C)*D)

break;

case 2:

sum=MyCalcu(MyCalcu(p[0], p[1], oper[0]),MyCalcu(p[2], p[3], oper[2]),oper[1]);//(A*B)*(C*D)

break;

case 3:

sum=MyCalcu(MyCalcu(MyCalcu(p[0], p[1], oper[0]),p[2],oper[1]),p[3],oper[2]);//((A*B)*C)*D

break;

case 4:

sum=MyCalcu(MyCalcu(p[0],MyCalcu(p[1], p[2], oper[1]),oper[0]),p[3],oper[2]);//(A*(B*C))*D

break;

}

if(sum==24) return true;

}

return false;

}

/*

采用随机试探法:就是通过随机数字产生加减乘除的组合,通过大量的测试来命中的解法

提示:

1.需要考虑用括号控制计算次序的问题比如:( 10- 4)*( 3+ A),实际上计算次序的数目是有限的:

A*(B*(c*D))

A*((B*C)*D)

(A*B)*(C*D)

((A*B)*C)*D

(A*(B*C))*D

2.需要考虑计算结果为分数的情况:( 3+(3/ 7))* 7

3.题目中牌的位置可以任意交换

*/

bool TryResolve(char* question, char* answer)

{

int oper[3];//存储运算符,0:加法 1:减法 2:乘法 3:除法

for(int i=0; i<1000* 1000; i++)

{

//打乱纸牌顺序

shuffle(question);

//随机产生运算符

for(int j=0; j<3; j++)

oper[j]= rand()% 4; if( TestResolve(question, oper, answer)) return true;

} return false;

}

int main(int argc, char* argv[])

{

//初始化随机种子

srand((unsigned)time( NULL)); char buf1[4];//题目

char buf2[30];//解答

printf("***************************\n");

printf("计算24\n");

printf("A J Q K均按1计算,其它按牌点计算\n");

printf("目标是:通过四则运算组合出结果:24\n");

printf("***************************\n\n");

for(;;)

{

GivePuzzle(buf1);//出题

printf("题目:");

for(int j=0; j<4; j++){

if( buf1[j]=='T')

printf("10");

else

printf("%c", buf1[j]);

} printf("\n按任意键参考答案...\n");

getch(); if( TryResolve(buf1, buf2))//解题

printf("参考:%s\n", buf2);

else

printf("可能是无解...\n"); printf("按任意键出下一题目,x键退出...\n");

if( getch()=='x') break;

} return 0;

}

如何用c语言编写一个小游戏

一、数学知识:

长方形的面积S=a*b

长方形周长L=2*(a+b)

其中a b分别为长方形的宽和高。

二、算法分析:

长方形面积及周长均依赖于宽和高,所以先要输入宽高值,然后根据公式计算,输出结果即可。

三、参考代码:

#include<stdio.h>

voidmain()

{

doublea,b;

doubleL,S;

scanf("%lf%lf",&a,&b);//输入宽和高。

L=2*(a+b);//计算周长。

S=a*b;//计算面积。

printf("面积=%lf,周长=%lf

",S,L);//输出结果。

}四、注意事项:

因为没有限制输入为整型,所以使用浮点型用来存储各项值。输入输出要用%lf。

OK,关于c语言小游戏代码和游戏代码大全的内容到此结束了,希望对大家有所帮助。

小学生计算机编程入门?新手怎么开始学编程fopen打开文件路径 c语言打开文件路径