Her er et hint: Overvej hvordan det vil hjælpe at placere dine terninger i en liste, og sortere dem efter antal øjne.
--
http://www.jkg.dk[...] altså jeg har lavet, så consolen tæller antal 1´ere, antal 2´ere osv og skriver dem, så det fremstår i consolen efter hvert slag :)
--
Only real friends stop their friends in doing stupid things and then do it with them!
Du behøver ikke mere end to if-sætninger, hvis du gemmer antallet af 1'ere, 2'ere osv. Du skal bare tjekke i den første if-sætning, om der er nogen tal, som har været der 3 gange. Inde i den tjekker du, om der er nogen tal, som har været der 2 gange. Hvis den også bliver sand ved du, at der har været fuldt hus.
--
#2: Hvis du har et Dictionary _count, der f.eks. ser sådan ud:
//Dit slag: 1,1,3,3,3
_count[1] = 2;
_count[2] = 0;
_count[3] = 3;
_count[4] = 0;
_count[5] = 0;
_count[6] = 0;
Så kan man konkludere, at hvis én af værdierne er =2 og en anden er =3, så har man fuldt hus. Dette kan gøres i LinQ:
if(_count.Values.Any(x => x == 2) && _count.Values.Any(x => x == 3)) { Console.WriteLine("Fuldt hus!"); }
--
MB: ASUS Z77 Sabertooth | CPU: i7 2600K | GPU: GTX 580 | RAM: 16GB 1866MHz | CASE: Silencio 550 | SSD: Samsung 840 | HDD: 1TB WD Black
sådan her har vi prøvet og løse den
https://www.dropbox.com[...]
efter straight koden ;)
problemet er at den siger at der er fuld hus når der bare er 3 terninger med samme nummer og ikke 3*sammenummer + 2*samme nummer
--
Only real friends stop their friends in doing stupid things and then do it with them! Problemet er, at i siger at blot én af værdierne skal være større end 2 og at en af værdierne skal være større end 1.
Da [3,3,3,1,2] giver 3 3'ere, vil '3' opfylde begge betingelser. Det, i mangler, er at det ikke må være det samme værdi, der går igen. Dette vil kræve, at i 'husker' hvilken værdi, der har >2 og bruger denne i anden if-statement. Dette giver hurtigt en masse nestede ifs.
Gem værdierne i et Dictionary eller en List, så er det lettere at check om det er den samme værdi, der går igen.
--
MB: ASUS Z77 Sabertooth | CPU: i7 2600K | GPU: GTX 580 | RAM: 16GB 1866MHz | CASE: Silencio 550 | SSD: Samsung 840 | HDD: 1TB WD Black
I behøver iøvrigt ikke bruge LinQ. Det kan også skrive i en simpel foreach loop.
--
MB: ASUS Z77 Sabertooth | CPU: i7 2600K | GPU: GTX 580 | RAM: 16GB 1866MHz | CASE: Silencio 550 | SSD: Samsung 840 | HDD: 1TB WD Black
vi har fået det til at virke nu ved at sætte nummer 2 if til at være == 2 og ikke >2.
tak for hjælpen :)
--
Only real friends stop their friends in doing stupid things and then do it with them!
#9: Det vil også løse det, ja. Men det kan hurtigt blive rodet, hvis i skal tilføje flere checks senere. Jeg vil anbefale, at i så flytter den sidste 'if' ind i den anden (så sparer i også de to booleans).
--
MB: ASUS Z77 Sabertooth | CPU: i7 2600K | GPU: GTX 580 | RAM: 16GB 1866MHz | CASE: Silencio 550 | SSD: Samsung 840 | HDD: 1TB WD Black
Jeg vil råde dig til allerede nu at begynde at smide ting på github eller andre pasting sites, istedet for at sende screenshots af din kode.
Du kan også lige så godt nu begynder at skrive din kode på engelsk. Du må ikke have variable navne som et, to, tre.
Jeg ville bruge en groupby og så tjekke count.
Derudover kunne man lave en definitation for de andre ting der findes (lille, stor, osv)
Og lige en sidste ting, det hedder bare C#, Visual Studio er blot editoren.
--
Gæstebruger, opret dit eget login og få din egen signatur.