Portál AbcLinuxu, 11. května 2024 04:13


Dotaz: Opravení C# piškvorek

12.1.2014 14:59 ahmedzBrna
Opravení C# piškvorek
Přečteno: 557×
Odpovědět | Admin
obrý večer, do školy jsem dostal úkol udělat piškvorky v C# a programování neumím ( nechápu proč se to na středních školách učí ( když na IT nejdu ) a proto to dělám podle : http://kuc.cz/p2q4c0 jsem u programování UI a když spustím program tak to vyhodí chybu : Index je mimo hranice pole. Tak bych se rad zeptal zdali by se mě na to někdo nepodíval a tu chybu našel ( zase bude nějaký problém s velikostí písmen ( 3-4x jsem to kontroloval a nic) http://leteckaposta.cz/346965078¨

děkuju všem
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.1.2014 16:43 MadCatX
Rozbalit Rozbalit vše Re: Opravení C# piškvorek
Odpovědět | | Sbalit | Link | Blokovat | Admin
V Calculations.cs je v metodě AddPiece() tohle:
for (int pos2 = 0; pos2 < rowLength; pos2++)
{
    int posXF = posX + pos2 * directHor;
    int posYF = posY + pos2 * directVer;
    RecalcValue(
        PiecesInRow[posX, posY, (Int16)direction, (Int16)player],
        PiecesInRow[posX, posY, (Int16)direction, (Int16)GetOpponent(player)],
        ref FieldsValues[posXF, posYF, (Int16)player],
        ref FieldsValues[posXF, posYF, (Int16)GetOpponent(player)]
        );
}
Když necháte vypsat hodnoty posXF a posYF, zjistíte, že už při druhé iteraci cyklu je posXF záporná a záporné indexy pole nejsou přípustné - aspoň ne v C#. Opravit se to dá fakt jednoduše, zkuste se trochu zamyslet:)

Mám minimální tušení, co ta metoda dělá, sledoval jsem jen výstup debuggeru.
Tarmaq avatar 13.1.2014 15:03 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Opravení C# piškvorek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Uděláte za mě úkol?
Don't panic!
13.1.2014 17:58 MadCatX
Rozbalit Rozbalit vše Re: Opravení C# piškvorek
Já bych řekl, že tazatel podmínky (skoro) splnil. Opsat kód podle videotutoriálu na YouTube sice nemá žádný didaktický efekt, což je vidět např. na skutečnosti, že tazatel neví, kdy přistoupit k proměnné přímo a kdy getterem a jaký je v tom vlastně rozdíl (ta narážka na "problém s velkými písmeny").

Předpokládám, že když tazatel nemá v plánu studovat IT, bude mu tato zkušenost stejně k ničemu a opisovat nějaký kód písmenko po písmenku nemaje tucha, co vlastně provádím chce IMHO docela silné nervy:) Po opravení té části kódu, co jsem postnul to zdá se funguje, jak má.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.