[问题] 1A2B游戏 B的判断

楼主: LeafLu (小叶)   2017-01-11 23:17:29
大家好
不好意思请问一下大家
如何判断B的个数?
我想要让2位使用者textbox输入数字(4位数)让对方来猜
模板:http://imgur.com/a/3X6M2
(左上textBox1 右上textBox2
左中textBox3 右中textBox4)
用到了
int A=0,B=0;
char[] guess=new char[4];
guess=textBox3.Text.ToCharArray();
char[] p2number=new char[4]
p2number=textBox2.Text.ToCharArray();
爬文看到的都是数字不能重复的范例
请问一下有什么办法判断完重复的数字就决定(B)个数?
EX:
设定的数字是1177
猜的数字7700
现在想到的是用循环一个一个判断
第一个7跟后面两个7重复=>2B
第二个7也跟后面2个7重复=>2B
显示出的是4B
作者: te426odin (小胖老师)   2017-01-12 00:46:00
为什么会是4B,照理说应该是2B而已目前只想到用循环一个一个判断,位子不会就B++期待高手解题
作者: Phenomenon (Kuma)   2017-01-12 02:02:00
这个循环有判断到B的时候就可以离开(break)了,不然后面第二次判断到相同的又会B++
作者: pili100 (zelda)   2017-01-12 11:11:00
以前玩这个,印象数字不能重复?
作者: smmoon (邦)   2017-01-13 09:07:00
p2number.Distinct().ToArray();
作者: testPtt (测试)   2017-01-13 14:43:00
先把a位置排除 再去算b这方法排除7777给到2a2b的回答
作者: jeffic0730 (重生)   2017-01-13 21:30:00
数字重复感觉会玩到天亮XD
作者: uranusjr (←這人是超級笨蛋)   2017-01-13 23:14:00
其实你 1P 直接 shuffle 一个 int[10] 就好了啊...int[] source = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};source.OrderBy(i => ran.Next()) 然后取前四个(忘了 var ran = new Random())
作者: Litfal (Litfal)   2017-01-16 10:02:00
怎么会是4B...B的定义应该是有这个数字,但位置错了吧7700 前两个7是B,后两个0没中P[i]==Q[i] 时A++,否则P.Contains(Q[i])时B++
作者: ssas1115577 (Holey)   2017-01-25 05:49:00
可以参考看看 http://tinyurl.com/zclx9rw

Links booklink

Contact Us: admin [ a t ] ucptt.com