• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    CERMINEK
    CERMINEK --- ---
    Tak jsem to nakonec vyřešil, že to naplním natvrdo... To pole se takhle vytvoří jen na začátku... teď pro změnu řeším jak to rozepsat do objektů a tady jsem v koncích i s nápovědou...
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    MORMEGIL: retezec jsem vybral v duchu pseudokodu, pac jsem netusil jak to definuje :) nicmene s rozlozenim sutru mas recht, je videt ze uz jsem nad ranem moc pozor nedaval.

    MORMEGIL
    MORMEGIL --- ---
    SHIGORBIRDMAN: Tak puristi by hlavně takovýhle věci nereprezentovali řetězcem, žeáno. Navíc on očividně nechce střídání barev na pozadí (ty se ostatně dají zjistit přes (x+y)%2), ale počáteční pozice kamenů. ;-)

    Nějakým cyklem se to dá zařídit třeba zcela obecně takto:
    const int INITIAL_PIECE_ROWS = 3;
    const int ROWS = 8;
    const int COLUMNS = 8;
    for (int player = 0; player < 2; ++player)
    {
    	for (int row = 0; row < INITIAL_PIECE_ROWS; ++row)
    	{
    		int realRow = player == 0 ? row : ROWS - row - 1;
    		for (int col = realRow % 2; col < COLUMNS; col += 2)
    		{
    			Console.WriteLine("Kámen hráče {0} na {1};{2}", player + 1, col, realRow);
    		}
    	}
    }
    


    Anebo by to mohlo fungovat i nějak takhle ;-)
    var pieces = Enumerable.Range(0, ROWS)
    	.Where(row => row < INITIAL_PIECE_ROWS || row >= ROWS - INITIAL_PIECE_ROWS)
    	.Join(Enumerable.Range(0, COLS), _ => 0, _ => 0, (row, col) => new { Row = row, Col = col, Player = row >= INITIAL_PIECE_ROWS ? 2 : 1 } )
    	.Where(x => (x.Row + x.Col) % 2 == 0);
    
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    (puristi a optimalizatori by pochopitelne dali misto x a y < 8 porovnavani s length, aby mel compiler radost a mohl vypnout boundary check :))
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    CERMINEK: nic elegantnejsiho nez tohle mne nenapada.

    bool markh1 = true;
    for (var y = 0 ; y < 8; y++)
    {
    for (var x = 0; x < 8; x++)
    {
    if (markh1) pole[x,y] = "h1";
    else pole[x,y] = h2;
    markh1 = !markh1;
    }
    marhh1 = !markh1;
    }

    nicmene v tomhle pripade bych opravdu spis udelal statickou inicializaci typu

    pole = { {"h1", "h2", "h1", "h2", "h1", "h2", "h1", "h2"},
    { "h2", "h1", "h2", "h1", "h2", "h1", "h2", h1}, a tak dal....
    CERMINEK
    CERMINEK --- ---
    CERMINEK: TAk jsem začal pracovat na tomhle úkolu a narazil jsem na první věc, kterou tak nějak nevím :/ Potřebuji naplnit dvourozměrné pole pro hru dáma, tzna uložit na pozice 0,0 2,0 4,0 6,0 1,1 3,1 5,1 7,1 0,2 2,2 4,2 6,2 hodnotu "H1" a na pozice 1,7 3,7 5,7 7,7 0,6 2,6 4,6 6,6 1,5 3,5 5,5 7,5 hodnotu "H2", ale nedaří se mi vymyslet elegantní cyklus, kterým bych to pole naplnil.. Nebude lepší to naplnit "ručně"? Tohle pole se naplní vždy na začátku, než se s ním začne pracovat...
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    H_U_N_T_E_R: aha.. kazda konference misi mit zrejme svuj retro koutek pro pametniky, chapu ;D

    TENCOKACISTROMY: a podobne je to i s tim Springem prave :))
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    H_U_N_T_E_R: obzvlast FoxPro je zajimava oblast pro dusevni masochisty :)
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    BUTHRAKAUR: starší technologie jsou potřeba. Třeba loni podle user voice hlasování byl největší zájem o FoxPro :-D
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    H_U_N_T_E_R: je to proste z pohledu .NET cca 5let stara technologie preportovana z Javy. XML hell, IOC s tak max 50% funkcionalitou .NET konkurence a tak. Bohuzel jsem ted nucen s tim cca pul roku zapasit (zrovna kousek od Petra) a je to vazne jedna z nejhorsich veci, co se kdy .NETu prihodila :) Ale prednaset umi dobre - to je pravda..
    Proste mne jen zarazilo, ze mezi tema vesmes hodne zajimavejma prednaskama o novejch/modernich tematech, pristalo zrovna tohle.
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    BUTHRAKAUR: vybíráme tak, že pošlem request do MVP konfery, na Microsoft a po lidech, kteří něco zajímavého přednášeli, případně o nich víme, že umí dobře přednášet.
    Petr Puš je zrovna ta poslední kategorie :-). Se Spring.NET jsem nikdy nedělal, takže upřímě netuším jak moc je to zavržení hodné. Když mi tohle téma posílal, tak jsem mlčky předpokládal, že když v tom dělá Unicorn ty svý mega projekty, tak to bude mít i nějaké výhody.
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    H_U_N_T_E_R: taky se zkusim zastavit - vetsina prednasek vypada zajimave.. akorat mne teda zarazi Spring.NET - jakym zpusobem se vlastne vybiraji na ms-fest prednasky, ze muze takova zavrzenihodna technologie ukoristit prostor? :)))
    MIRROR
    MIRROR --- ---
    OODOOW: Zkusil bych tohle, to ma i fci na autowidth http://epplus.codeplex.com/
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    OODOOW: To se obavam, ze jen tak jednoduse neudelas. Precijen, tahle funkcionalita vyzaduje zmerit ten obsah a to asi bez vykreslovaciho jadra nezvladnes :/. Budes si tu sirku muset spocitat/odhadnout sam.
    OODOOW
    OODOOW --- ---
    Měl bych dotaz k exportu z c# do excelu pomocí open xml. Podařilo se mi pomocí nějakých tutorialů z netu vytvořit excelový soubor xlsx, ale teď nevím, jak nastavit, aby se tam sloupce automaticky rozšířily na šířku nejdelšího záznamu. Prostě aby uživatel nemusel vždycky všecky sloupce ručně rozšiřovat, aby viděl celá data. Vím jak to udělat ručně, že nastavím šířku pro každý sloupec, ale chtěl bych to automaticky. :)
    NECROMAN
    NECROMAN --- ---
    H_U_N_T_E_R: Budu tam mit prednasku o novinkach ve Windows Phone 8 a zakladny vyvoje pro Windows 8 v C#.
    Pokud mate nejake specificke dotazy, co byste se tam radi dozvedeli, tak napiste bud sem, nebo do posty. Dik :)
    CRANK
    CRANK --- ---
    H_U_N_T_E_R: Jj. To vím. Ale ta ošklivá ASP.NET 1.1-like chybová hláška je zlo (imho) ;)
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    CRANK: link nejde otevřít proto, že nyx tam naparsoval i závorku a tečku ;-)
    Správně je: http://www.ms-fest.cz
    SLUPKA
    SLUPKA --- ---
    H_U_N_T_E_R: fakt mne mrzí, že tam letos nebudu, program máte pěkný...
    CRANK
    CRANK --- ---
    H_U_N_T_E_R: Jo, přijdu! :-)
    Kliknutím sem můžete změnit nastavení reklam