猜数字的游戏规则
1.两个人玩
2.第一个人先比一个数字,不能让另一个人看到,然后猜到正确的数字那个人就会获得奖励,猜错就没有奖励
猜数字游戏
一个完整的c程序如下,程序在win-tc和Dev-c++下都调试通过。
#include
#include
#include
int main()
{
int stime,a,z,t,i,c,m,g,s,j,k,l[4]; /*j:数字正确的位数 k:位置正确的位数*/
long ltime;
ltime=time(NULL); /*l:数字相同时,人所猜中数字的正确位置*/
stime=(unsigned int)ltime/2;
srand(stime);
z=random(9999); /*计算机想一个随机数*/
printf("I have a number with 4 digits in mind,please guess.\n\n");
for(c=1;;c++) /*c: 猜数次数计数器*/
{
printf("Enter a number with 4 digits:");
scanf("%d",&g); /*请人猜*/
a=z;j=0;k=0;l[0]=l[1]=l[2]=l[3]=0;
for(i=1;i<5;i++) /*i:原数中的第i位数。个位为第一位,千位为第4位*/
{
s=g;m=1;
for(t=1;t<5;t++) /*人所猜想的数*/
{
if(a%10==s%10) /*若第i位与人猜的第t位相同*/
{
if(m&&t!=l[0]&&t!=l[1]&&t!=l[2]&&t!=l[3])
{
j++;m=0;l[j-1]=t; /*若该位置上的数字尚未与其它数字“相同”*/
} /*记录相同数字时,该数字在所猜数字中的位置*/
if(i==t) k++; /*若位置也相同,则计数器k加1*/
}
s/=10;
}
a/=10;
}
printf("Correctly guessed %d digits,",j);
printf("and guessed %d digits in exact position.\n\n",k);
if(k==4) break; /*若位置全部正确,则人猜对了,退出*/
}
printf("Now correctly guessed the whole number after %d times.\n",c);
}
求猜数字1——26游戏排列规则
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Random;
// 一上来导入包不用说了吧
public class Caishuzi {
//服务器端口号8181
static final int PORT = 8181;
//声明一个服务器套接字
ServerSocket serverSocket;
//客户端套接字
Socket socket;
//数据输入流
DataInputStream netIn;
//数据输出流
DataOutputStream netOut;
//随机数的数组
int randomNum[];
//游戏等级
int level = 0;
public Caishuzi() { //猜数字的构造函数
initRandomNum();
waitConnect();
}
//
private void initRandomNum() {//初始化随机数
randomNum = new int[5];//数组初始化,大小为5
Random ran = new Random();//随机数类
for (int i = 0; i < 5; i++) {
randomNum[i] = ran.nextInt(100);//生成5个随机数,范围0~99
}
}
//
private void waitConnect() {//等待客户端连接
BufferedReader ansiIn = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("服务器启动.");
try {
serverSocket = new ServerSocket(PORT);//服务器套接字
System.out.println("等待客户端连接......");
socket = serverSocket.accept();//侦听并接受到此套接字的连接,注意这句话会一直运行直到有客户端连上
System.out.println(" " + socket);
netIn = new DataInputStream(socket.getInputStream());
netOut = new DataOutputStream(socket.getOutputStream());//分别得到客户端的输入输出流,这样就可以Client—Server间相互传递数据了
} catch (Exception e) {
e.printStackTrace();
}
}
//
private void processAnswer() {//应答客户端
try {
String clientMsg = netIn.readUTF();//取得客户端传过来的字符
while (!clientMsg.equals("end")) {//不停循环,但如果客户端传过来的字符是"end",就结束了
System.out.println("客户端:" + clientMsg);
System.out.print("生成随机数为" + randomNum);
int clientInputNum = Integer.parseInt(clientMsg);//把客户端猜的数字转成int型
if (clientInputNum < 0 || clientInputNum >100)//小于0或大于100不行哦
System.out.print("输入超过范围,请输入0~100以内的数字");
String serverMsg = " ";
if (clientInputNum == randomNum[level]) {
serverMsg = "恭喜你猜对了!";
} else if (clientInputNum >randomNum[level]) {
serverMsg = "您输入太大了!";
} else if (clientInputNum < randomNum[level]) {
serverMsg = "您输入太小了!";
}
//以上为猜的数字和服务器生成的随机数比,究竟是大于小于还是等于呢,把结果设到serverMsg变量
netOut.writeUTF(serverMsg);//然后把信息传到客户端
if (serverMsg.equals("end")) {
return;
}
clientMsg = netIn.readUTF();//继续下一次猜数字
}
} catch (Exception e) {
//
System.out.print("连接关闭或数据处理错误");
}
}
public static void main(String[] args) {
Caishuzi s = new Caishuzi();
}
}
另外补充,你给的程序是服务器端的代码,光这一个可玩不了猜数字游戏哦,还得要客户端的程序。
甲、乙两人玩猜数字游戏,游戏规则如下:有四个数字0、1、2、3,先由甲心中任选一个数字,记为m,再由乙
。
做动作猜字的游戏规则是什么?
1.每组2名选手参加,一人比划一人猜。
2.每组20个词,限时3分钟。
3.比划着只能用肢体语言的形式向猜词者传达信息,不得说出任何字。
4.猜不出可以喊pass,只能喊过3次。
5.观众不能提醒。
猜字游戏是一款益智游戏,喜欢玩具有挑战性单词游戏的你就可以来体验一下了,给你一个字母板。尝试通过想象相邻字母的单词。您将获得一个分数,根据您使用的字母,你已经使用了多少个字母,并以这些字母相关联的任何修饰符都可以的。
java 猜数字游戏 (和常见的规则有不同)
1234猜4231则输入1??????? 这个猜数字的几A几B的 扩展 你和上面那位“大海贼福尔摩斯”说的都对,可是我选不出来谁说的好,这样吧,我给你提了一个问题,你只要随便回答一下,我就把财富值5给你!二南小帆! 补充 你说吧。 import java.util.*; 不知你意思, 新课改理念是让学生亲身经历数学的学习全过程,体验数学知识的形成,发现、探索数学知识的由来和过程,实现学生自我的、可持续发展的、幸福的人生。做为一个教师的我,在教学过程中时常关注学生的活动和喜好,关注他们的成长。在一次数学课后,有个学生冲到我跟前说:“老师,我做个谜语你猜好吗?”我说:“好呀!”学生说:“七上八下。猜一个数。”我想了一下说:“应该是7/8吧!”学生非常开心的走了。看到学生的高兴样子,我想要是让大家都动起来,去找一找有关的数学谜语来大家猜,不是很有趣吗?于是,动员全体学生都去收集。有部分学生收集到了一些。如:125678,猜一个成语(丢三落四)。54321,猜一个数学名词(倒数)。1+7=八,猜一个字(积)等等。学生果然猜得很开心。我又趁热打铁,鼓动大家去查些有关谜语的资料,看看谜语的有关知识,能不能自已编一些谜语呢!学生的兴致更高,都动起来了,编了不少。如:不拐湾的路。打一数学名词(直线)。牛郎织女。打一数学符号(除号)等等。鼓励学生收集、自编数学谜语在班级给同学们猜,为程度不同的学生搭建一个都能得到学习和展现自我的平台,于是我产生了评选“数学‘谜语小能手’”的想法,这样即可以培养特长生,又能激发学生学习数学的兴趣。通过思考和实践,于是形成了一个评选方案。如下:数学“谜语小能手”评选方案一、活动的目的和意义:根据课改的精神,做大数学课堂,让学生的学习拓展到课外,调动学生的学习兴趣,扩大学生的视野。让学生通过自己喜欢的活动去学习,在快乐的学习中成长。二、学生展示过程:1、学生呈送有关谜语的申报材料( ①有关的谜语知识。②收集的有关数学谜语。)2、展示自已这方面的特长( ①展示有关的谜语知识; ②展示部分收集的数学谜语,让同学猜一猜。)3、展示自己对数学谜语的理解:怎么理解收集到的谜语。4、展示自设计的谜语让同学猜一猜。三、评选方法及要求:1、评选方法如下表: 项目 内 容 得分收集资料 有关的谜语知识(30分) 有关数学谜语(20分) 展示才能 善于猜谜 语(20分) 会设计谜语(30分) 成绩 合计得分 2、要求: 学生自编的谜语,能猜、会象就可以,保护学生的兴趣。3评选得90--100分者为“一级小能手”、70—90分为“二级小能手”、50—70分为“三级小能手”。没有评选上的可以继续努力。方案出来以后,我又引导个别特别有兴趣的学生去收集、学习有关谜语的知识,以及有关数学谜语。学习编数学谜语,将课本中的有关数学名词、概念等编成谜语,让全班同学来猜。通过这样的活动,学生不仅提高学习数学的兴趣,同时也有利于对数学知识的理解和掌握。这样“谜语小能手”这个方案就自然生成了。通过引导,学生为了展示自己的成果,确实动了不少脑筋。还将谜语进行归类展示。“谜语小能手”展示材料。猜谜语的方法归纳如下:1、字义分析法:旭日东升(打一数字) 九你盼我来,我盼你来。(打一数学名词) 相等1:1(打一成语) 势均力敌 两牛相斗(打一数学名词) 对角再见吧,妈妈!(打一数学名词) 分母 2、会意选拼法:半价出售(打字一) 催有一半,有一半,又有一半(打常用词一) 朋友合二而一(打字一) 面 杂(打五字俗语一) 八九不离十 (分解法)一笔写成两个字(打一植物名) 毛竹3、运算组合法:纸一万张(打一字) 苓 (纸一令500张)五角(打一几何学名词) 半园 (一元的一半)0.3元(打一几何学名词) 三角形15分 一千元 (打一成语) 一刻千金4、综合法:3.4(打一成语) 不三不四两牛相对(打一数学符号) 大括号以下是学生收集和自编的部分谜语:1、一看就知方向(打一仪器) 指南针2、它无处不在,伴着你了伴着我,你说它是谁?(打一名词)时间3、什么东西能装下世界(打一物品名称) 地图4、个兄弟一般大,7个大哥,4个二哥同生日,1个小不一般,你说这个大家庭是谁?(打一物品名) 年历5、牛郎织女(打一数学符号) 除号6、国家元首当会计(打一数学名词) 统计7、一刀两断 (打一数学名词) 分数。
23两个啊哥哥
最有效率的猜发会让游戏失去意味
<1000可以高位对齐啊
猜0000 1111到9999 将猜中的四个数排列组合24种
34(-1 次0000 不用猜)次万能解法,幸运的话1112返回3就能省去一大堆次数了
让电脑更人性化一点??
为电脑给出10个权重几率int[10]初始值10左右
比如猜1234 返回 2 int[0-3]各+2
1233 返回 1 int[0-2]各+1 int[3]各+1
权重懂吧,不用说了吧
最终权重推荐使用log()平滑一下
每次取数字用如下.........
double sum=log(int[0])+-------log(int[9])
double dice=Math.random()*sum;
if(dice请问这个猜数字游戏怎么玩,几A几B的!
A前面的数字指的是有几个数你猜对了,而且位置也对了; (就是有这个数而且就在那里)
B前面的数字指的是有几个数你猜对了,但是位置是个错的。(就是有个数但是不在那个位置上)JAVA猜数字游戏:现在规则如下,输入一个1-100之间的数请人猜
import java.io.*;
public class CaiShu{
public static void main(String[] args) throws IOException{
Random a=new Random();
int num=a.nextInt(100);
System.out.println("请输入一个100以内的整数:");
for (int i=0;i<=9;i++){
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
String str=bf.readLine();
int shu=Integer.parseInt(str);
if (shu>num)
System.out.println("输入的数大了,输小点的!");
else if (shu
else {
System.out.println("恭喜你,猜对了!");
if (i<=2)
System.out.println("你真是个天才!");
else if (i<=6)
System.out.println("还将就,你过关了!");
else if (i<=8)
System.out.println("但是你还……真笨!");
else
System.out.println("你和猪没有两样了!");
break;}
}
}
}猜数学字谜的游戏规则