[問題] 1A2B遊戲 B的判斷

看板C_Sharp作者 (小葉)時間7年前 (2017/01/11 23:17), 7年前編輯推噓2(2016)
留言18則, 9人參與, 最新討論串1/1
大家好 不好意思請問一下大家 如何判斷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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.63.53 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1484147852.A.837.html ※ 編輯: LeafLu (223.138.45.242), 01/11/2017 23:22:43

01/12 00:46, , 1F
為什麼會是4B,照理說應該是2B而已
01/12 00:46, 1F

01/12 00:47, , 2F
目前只想到用迴圈一個一個判斷,位子不會就B++
01/12 00:47, 2F

01/12 00:47, , 3F
期待高手解題
01/12 00:47, 3F

01/12 02:02, , 4F
這個迴圈有判斷到B的時候就可以離開(break)了,不然
01/12 02:02, 4F

01/12 02:02, , 5F
後面第二次判斷到相同的又會B++
01/12 02:02, 5F

01/12 11:11, , 6F
以前玩這個,印象數字不能重覆?
01/12 11:11, 6F
因為想做1P或2P模式 1P用亂數 想說保全一點.. 問了一下別人說 相同的話把陣列的元素清掉 EX: guess={7,7,0,0}; p2number={1,1,7,7}; 逐步檢查 guess[0]=p2number[3] ==>B+1==>p2number={1,1,7} guess[1]=p2number[3] ==>B+1==>p2number={1,1} 結果:0A2B 請問一下如何把陣列相同的東西完全清除掉? 用了Array.Clear好像只是把它變成0 陣列大小一樣 ※ 編輯: LeafLu (140.123.225.131), 01/12/2017 17:49:18

01/13 09:07, , 7F
p2number.Distinct().ToArray();
01/13 09:07, 7F

01/13 14:43, , 8F
先把a位置排除 再去算b
01/13 14:43, 8F

01/13 14:59, , 9F
這方法排除7777給到2a2b的回答
01/13 14:59, 9F

01/13 21:30, , 10F
數字重複感覺會玩到天亮XD
01/13 21:30, 10F

01/13 23:14, , 11F
其實你 1P 直接 shuffle 一個 int[10] 就好了啊...
01/13 23:14, 11F

01/13 23:18, , 12F
int[] source = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
01/13 23:18, 12F

01/13 23:21, , 13F
source.OrderBy(i => ran.Next()) 然後取前四個
01/13 23:21, 13F

01/13 23:22, , 14F
(忘了 var ran = new Random())
01/13 23:22, 14F

01/16 10:02, , 15F
怎麼會是4B...B的定義應該是有這個數字,但位置錯了吧
01/16 10:02, 15F

01/16 10:03, , 16F
7700 前兩個7是B,後兩個0沒中
01/16 10:03, 16F

01/16 10:05, , 17F
P[i]==Q[i] 時A++,否則P.Contains(Q[i])時B++
01/16 10:05, 17F

01/25 05:49, , 18F
可以參考看看 http://tinyurl.com/zclx9rw
01/25 05:49, 18F
文章代碼(AID): #1OTaoCWt (C_Sharp)