Anonymní profil Mutagen – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Mutagen – Programujte.comAnonymní profil Mutagen – Programujte.com

 

Příspěvky odeslané z IP adresy 193.138.154.–

Mutagen
.NET › Někdo ochotný pomoct se C#..…
2. 1. 2018   #219189

#1 houlis
Zkus sem něco víc poslat, třeba zadání těch uloh.

Mutagen
.NET › BinaryWriter/BinaryReader
1. 12. 2017   #218812

#2 gna
Heh, tak to vyřešilo celej problém   Taková blbost   

Mutagen
.NET › BinaryWriter/BinaryReader
1. 12. 2017   #218809

Zdravím,

Chtěl bych se zeptat jak udělat "dobře" binární zápis podle "nějakého" vzoru,

např: ID (30znaků), Size (Long hodnota), MemoryStream o velikosti Size (předchozí long hodnota).

Když jsem udělal

string g = bin.GraphicID.PadRight(30);
w.Write(g);
w.Write((long)bin.Size);
w.Write((byte[])bin.Graphic.ToArray());


Tak při načítání mě to hodí ke stringu (na začátek) nějaký znaky (\u001e) a přečte to špatnou velikost size (takže ve výsledku nemůžu číst dál)

string a = Encoding.UTF8.GetString(r.ReadBytes(30));
long size = BitConverter.ToInt64(r.ReadBytes(8), 0);
MemoryStream s = new MemoryStream();
byte[] bb = r.ReadBytes((int)size);
s.Write(bb, 0, bb.Length);
s.Seek(0, SeekOrigin.Begin);
using (FileStream fs = new FileStream(a.Trim() + ".png", FileMode.OpenOrCreate))

{
   s.CopyTo(fs);
   fs.Flush();
}

Poradíte mi jak tohle elegantně vytvořit tak aby to zapisovalo i četlo korektně?

Mě třeba napadlo si předem nadefinovat struct, který by měl jasně daný velikosti všeho, ale to jsme vypustil protože MemoryStream dopředu neznám velikost.

Díky

PS. Jedná se o zápis ID a Png souborů do jednoho dat. souboru.

Mutagen
.NET › Hra - Vrstvy na postavě
8. 11. 2017   #218423

#6 Ovrscout
Jedenapulruční? O tom jsem ani neslyšel, ale dvouruční ano.

#7 peter
Prej zkus myslet databázově a programově a napíšeš čistě teoretickej text a tom, jak teoreticky provázat celý tělo na ruzný kombinace, ano některé kombinace (štít + štít dokonce už reálně můžu použít, když někdo bude chtít)  ano počítám do budoucna i s váhou itemu, brnění apod (equipload), jinak až tak do detailu, že někdo bude utočit na ruku, nohu, krk apod ... Ne říkal jsem oživím a procvičím C# nedělám žádnou AAA propracovanou gamesu. Čistě základní systém RPGher.

Jinak co si myslíš, že u postavy je ten čtvereček? Ano Layer! Celý systém Layerů je strom (nebo to snad z tý ukázky kodu není poznat, že tam mám strom?) Tzv postava se rozděluje na Hlava, Krk, Hrud, Nohy, Ruce. Ruce mají další části a tak dále... Takže vlastně jsi tu napsal to co je úplně jasný. Jenom ses trošku rozvášnil a předvedl svojí vizi, což ti neberu za zlé, ale do puntíku fakt nehodlám ani jít. Zkušenosti si beru z her co jsem hrál, takže si myslím, že stačí to jen realizovat.

#8 MilanL
Polymorfismus už praktikuju... Jelikož tam v hlavním Layers vracím object (protože části mají jinou class). Ty itemy co nemají další podmnožiny jsou typu ItemLayer (item rozšířen o možnosti layeru/equipu...) a ruce jsou typu HandsLayer. Tzv s polymorfismem pracuju o uroven výš (na Playeru), kde mám vlastně metody Equip/Unequip/Use apod..

Player má v sobě Layers kde defakto mámrozložený typy layeru viz kod, kterým jsem vyřešil práci s layery...

Právě to co řikáš jsme řešil hned jako první věc pole, alenarazil jsme u rukou s tím, že to nešlo do dalších levelů (Hands.Left -> Hands.Left.Ring) ... Já věděl dopředu jak to udělat (teoreticky), ale kodově jsem s tím měl problém, protože práce s tou kolekcí byla otřesná. Nemohl jsem lehce přistupovat k danému itemu a bylo to dost krkolomný. Takhle už od začátku vím, že mám na layeru zbran a potřebuju jí snížit durabilitu ... jednoduše zavolám ((HandsLayer)layers[LayerID])[HandsID][HandID] a hned mám přímo k tomu objektu přístup. Šlo by to k tomu přistupovat i z batohu (jelikož třeba sekera je obsažena v batohu se statusem equipped) ale to bych musel rpojet celej batoh zjistit IDLayerů a podle nich najít tu sekeru a tam jí to snížit... Což dobře je oboje, ale přijde mi víc logicky, že přistoupím přímo k layeru a tam budu obsluhovat objekt, než abych ho obsluhoval z batohu (když je nasazen) ... Ze začátku jsem měl namysli právě to, že se mi to z batohu bude mazat (to by pak nebyla jiná možnost než k tomu tak přistupovat)

Mutagen
.NET › Hra - Vrstvy na postavě
8. 11. 2017   #218403

#4 gna
Též by se dalo použít, ale už není třeba. Možná v budoucnu použiju na rozšíření. Ty layery by se tím daly též využít, to neřikám, ale předělával jsem to na 2x a teď to funguje jak potřebuju, i práce s tím je minimální oproti tomu switch/case jak jsem to měl předtím a přehlednější.

Mutagen
.NET › Hra - Vrstvy na postavě
7. 11. 2017   #218387

Zdravím,

po delší době sem si chtěl trošku oživit C# tak jsem si vymyslel menší projekt (základní systém tahového rpg), všechno se zatím vyvyjí kladně, ale až na jednu věc. Tou jsou vrstvy (layers) na postavě (hlava, hrud, ruce, nohy). Jako první mě napadlo to udělat jednoduše, normální pole/list objektu (IDLayeru, Item) s tím, že každá část je předem definovaná. Tam jsem problém ještě neviděl, fungovalo to jak mělo až do chvíle, kdy jsem chtěl udělat  Item, který musel mít i předem definovaný na jaký layer jde nasadit (což u hlavy, těla a nohou nevadí), ale problém nastal tehdy, když to měla být zbraň, která se dá nasadit do rukou. Jelikož jsem musel při vytváření definovat kam ten item pujde nasadit tak jsem měl navýběr pravá nebo levá ruka (napevno) a nemohl si člověk vybírat do jaké ruky to dá.

Tak jsem to předělal (do aktuální podoby), že Layers je objekt který drží objekty Torso, Head, Legs a Hands (Hands je rozšířen o Hand(Left/Right) a Hand má v sobě objekty Ring, Bracelet, Hand).

Což ve výsledku funguje přesně jak potřebuju, ale to nastavování a práci s těmi objekty mě příjde strašně krkolomná až otřesná. Přes switch/case rozlišuju podle LayerTypu jaký objekt mám naplnit/přepsat/vymazat, což se mi zdá nepraktické, když do rukou můžu nasadit typ Weapon či Armory (štít) a další rozšíření o šperky a další věci co by mohli být na layeru v rukách).

Tím bych se rád zeptat jaké zkušenosti máte Vy, jak vyřešit tento problém, či jestli neuchyluju náhodou špatným směrem.

PS. Kdyby náhodou byl zájem vidět aktuální kod, dodatečně dodám.

Děkuji za pomoc :)

Mutagen
Java › Java - Cykli
2. 11. 2017   #218305

Jak to tak vidím, měla by se tu zavést speciální sekce "Pomoct s domácími úkoly - Zadarmo".

Pokud člověk ví, že je nemocnej a ve škole řeknou, dnes odevzdat, tak se jdu omluvit (normální věc), pokud učitel i tak řekne, že si to měl zjistit dopředu (normální věc), podle mě ani jedno z toho jsi neudělal a ještě tady pěkně kecáš, prostě jsi na to zapomněl a snažíš se to řešit na poslední chvíli. Přece jen takových tu bylo před tebou hodně.

Naopak, nikdo by tu neměl kecy, kdyby jsi ukázal snahu a aspoň něco napsal, tak poradí co je blbě.

Stojím si za stejným názorem jako JoDik

Mutagen
C / C++ › Ukázka kódu
26. 10. 2017   #218198

Já když jsem se třeba hlásil na post Java programátor tak jsem dostal kompletní zadání a zároveň seznam technologií co jsem měl použít při vývoji a cca 2 týdny na vypracování.

Pokud nemáš nějaký vlastní projekt, který jsi dělal (takové portfolio) co by jsi jim mohl zaslat, tak si napiš o zadání nějakého přikladu. Oni ti sami namixují převážně to, co oni preferují si myslím, přesně jak psal KIIV.

A hlavně jak čistý kod umíš napsat, jak umíš dodržovat nějakou sturkturu, zda názvy funkcí vystihuje to co dělá, popřípadě řádně okomentovaný kod. Já osobně jsem se setkal s člověkem co dělal názvy proměnnýh na bázi list1, list2, num1, num2 což není zrovna přivětivé pro nikoho.

Mutagen
Java › Pořadí prováděných metod
9. 6. 2017   #216676

#1 Honza228
Vždit se provedou po sobě. Pokud jde o to aby se spustilo na pozadí, tak spustit ve vlákně

Mutagen
.NET › Visual Basic
18. 4. 2017   #215660

Já absolutně nechápu proč někdo chodí na školu s IT zaměřením, když pak chce aby za něj někdo dělal ukoly.

PS: Ukrajinskej učitel jako učitel a určitě je vystudovanej. Místo brouzdání na netu by stačilo plnit ukoly co vám při hodině dá či vysvětluje a problém by jsi neměl.

Mutagen
Java › čtení ze souboru do swingu
25. 11. 2016   #213767

#3 Domča 

while ((s = br.readLine()) != null)
{
    String predchoziText = mujTextik.getText();      
    mujTextik.setText(predchoziText + "\n\r" + s);
}


Je tam setText neboli se vždy přepíše ...

Mutagen
C / C++ › C# / Java / C++
3. 11. 2016   #213441

Ještě se k tomu přidám já jestli můžu.

Jak už tu bylo psáno udělej si 3 uplně stejné aplikace ve všech jazycích a uvidíš co ti sedne líp ... Pokud bys chtěl aplikace hlavně na rychlost tak na javu zapomen, při větších projektech je to dost výrazné zpomalení ...

Pokud se rozhoduješ podle toho aby to bylo víc userfriendly tak Java je zase na to výborná.

Podle mě por začátečníka je výborný C#, je lehce naučitelná a docela rychlá. A hlavně přecházet mezi Javou a C# je pak docela lehký.... Já se v Javě orientoval do týdne když jsem se jí učil kvůli práci a to jsem přešel z C# ... Do C++ jsem ještě nezavítal víc jak pro konzolové aplikace takže nemůžu nějak extra soudit, ale určitě na rychlost vývoje aplikace mě vždy stačilo C# (a vše co jsem dělal v tom šlo napsat) popřípadě sem využil knihovny z C++...

A dodatek, dělal jsem totožnou aplikaci v C# (pro mě) a Javě (pro kámoše) ... Totožná aplikace mi v C# zabrala necelý 2 hodiny a v javě něco okolo 6 hodin. Takže za mě jednoznačně C# ... Ale pokud budeš chtít někdy dělat android aplikace tak se javě nevyhneš (a nebo jsem slyšel že existuje nějaký Xamarin který se píše C# a je to andorid vývoj)

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032018 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý