- One mobilszolgáltatások
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Honor 200 - kétszázért pont jó lenne
- Milyen okostelefont vegyek?
- iPhone topik
- Mobil flották
- Samsung Galaxy A55 - új év, régi stratégia
- Bemutatkozott a Poco X7 és X7 Pro
- Xiaomi 15 - kicsi telefon nagy energiával
- Xiaomi 13 - felnőni nehéz
Új hozzászólás Aktív témák
-
biigi
tag
válasz
atti1848 #3264 üzenetére
Amennyiben adatokat csak a játék indítása előtt vársz, akkor a legtisztább megoldás ha a játékForm construktorába paraméterként megadod a formról az adatokat.
Ha játék során is szeretnél adatokat kapni akkor a játékform osztályban minden adathoz létre kell hozni Propertiket és azok változásaira reagálnék (set).
Nem biztos hogy ez a legjobb módszer de én így csinálnám. -
Jhonny06
veterán
válasz
atti1848 #3200 üzenetére
Dobhat, mert gyakorlatilag az idő függvényében generálódnak a számok, így minél kisebb az értéktartomány, annál valószínűbb, hogy lesz több ugyanolyan elem is. Ha késleltetés nélkül fut, akkor meg pláne, hiszen nincs idő nagyobb tartományban generálni, ezért érdemes.
Viszont a késleltetés megtétele után még mindig ott van a Te megoldásod, miszerint ellenőrizheted, hogy nincs-e két ugyanolyan érték a tömbben, egy egymásba ágyazott for ciklussal. Azért ajánlottam előbb a késleltetést, mert ha kicsi az értéktartomány és kvázi majdnem mindig hasonló értéket generál a kód, akkor szépen "végtelen" (persze nem teljesen) ciklus jön létre, mert ugye kap a tömb egy számot és összehasonlítja az következővel, ami ugyanaz, meg újra ugyanaz, stb. és csak akkor csinál valamit, ha a két szám nem egyezik meg, tehát ezzel nem árt vigyázni.
Szóval az a legjobb megoldás, ha először ellenőrzöd, hogy nincs-e benne már, majd generálsz és késleltetsz.
for (int i = 0; i < szamok.Length; i++)
{
for(int j = 0; j < szamok.Length; j++)
{
if(szamok[i] != szamok[j])
{
szamok[i] = rnd.Next(1, 90);
Thread.Sleep(100);
}
}
} -
Jhonny06
veterán
válasz
atti1848 #3197 üzenetére
Nem árt késleltetni egy kicsit:
Thread.Sleep(1000);
A paramétert ezredmásodpercben kell megadni, azaz a fenti kód 1 másodperccel fogja késleltetni, de ez sok a program futásakor, azaz olyan 10-100 közötti érték már ideális. Túl gyorsan generálódnak az értékek.
Ilyesmit is lehet:
using System;
using System.Threading;
public static class RandomHelper
{
private static int seedCounter = new Random().Next();
[ThreadStatic]
private static Random rng;
public static Random Instance
{
get
{
if (rng == null)
{
int seed = Interlocked.Increment(ref seedCounter);
rng = new Random(seed);
}
return rng;
}
}
}Amúgy a dupla for ciklusnak semmi értelme, mert pont akkor nem tesz bele értéket, amikor nem egyenlő egy másik számmal és neked pont akkor kéne, amikor nem egyenlő. Így akkor tesz bele, amikor egyenlő.
Ennyi az egész:
Random rnd = new Random();
int[] szamok = new Int32[5];
for (int i = 0; i < szamok.Length; i++)
{
szamok[i] = rnd.Next(1, 90);
Thread.Sleep(100);
}
for (int i = 0; i < szamok.Length; i++)
Console.WriteLine(szamok[i]);System.Threading-et using-olni kell természetesen.
-
ArchElf
addikt
válasz
atti1848 #2907 üzenetére
Ha ezt egy kicssit továbbfejleszted úgy hogy a képek nem látszanak alapból és a buttonok helyett checkboxot használsz button formában gyakorlatilag memóriajátékot csinálsz - szerintem ez már elég lehet a kettesért. De ha már ötletek - tag mezőbe ne magát a képet rakd be, hanem csinálj egy List<Image> - et, amiből csak az indexet teszed bele a Tag-be. Jobban is néz ki, és szerintem jobban is értékeli a tanerő.
Tipp: esemény kezelésnél ne buttononként generálj kezelő eseményt, hanem csak egyet csinálj, ami az összes button eseményét lekezeli. Bár jobban belegondolva szerintem már neked is eszedbe jutott, amikor kipattant az ötlet
AE
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Revolut
- Óra topik
- Milyen egeret válasszak?
- Ingatlanos topic!
- Témázgatunk, témázgatunk!? ... avagy mutasd az Android homescreened!
- Futás, futópályák
- PlayStation 5
- Mielőbb díjat rakatnának a görögök az olcsó csomagokra az EU-ban
- Modding és elektronikai kérdések
- Rágyúr a macOS-re a 3DMark
- További aktív témák...
- AKCIÓ!! i9 9900 , RX 5700 XT , 32GB DDR4 , 512GB NVME , 2TB HDD
- Inspiron 14 7440 2-in-1 14" FHD+ IPS érintő Core 5 120U 16GB 512GB NVMe magyar vbill ujjolv gar
- Garis ZOTAC GeForce RTX 4070 Ti Trinity 12GB GDDR6X videokártya
- Nokia mobilgyűjtemény - E-series + 2 klasszikus
- Siemens SL 45 - magyar, dobozos, ingyen Fox
- Új monitor állvány - csak össze lett szerelve
- Beszámítás! Apple iPad Pro 13 2024 M4 512GB Cellular tablet garanciával hibátlan működéssel
- AKCIÓ! Lenovo Legion Slim 5 16AHP9 notebook - R7 8845HS 16GB RAM 512GB SSD RTX 4060 8GB Win11
- DELL T40 EMC Szerver
- Azonnali készpénzes AMD CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest