Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[allegro] saper..

Ostatnio zmodyfikowano 2011-02-15 18:45
Autor Wiadomość
tookie009
Temat założony przez niniejszego użytkownika
» 2011-02-15 18:07:15
Po przerwie znow wznowilem prace nad moim saperem. Juz w sumie bylbym zadowolony z efektow, ale przypadkiem natknalem sie jeszcze na blad, ktorego w zaden sposob nie moge odkryc. Mam podzielona plansze na 100 pol (10x10) o wymiarach 80x60. I za nic nie moge nic zrobic na tym ostatnim - w tablicy 99. tzn. przypisac moge tam bombe, policzyc, ile wkolo bomb, ale jak chce odkryc to juz nie dziala. Prosze wiec kogos o pomoc. Tu jest paczka:

http://sendfile.pl/51354/Nowy_folder_2.rar

Mam tam zapisana os X jako wys a os Y jako szer, takze to moze sie najbardziej mylic :)
Na razie jest to taka wersja bardzo na brudno. Jak juz mi sie uda ukonczyc, to bede sie staral zrobic wszystko obiektowo z funkcjami, menu...

Przy okazji moglby mi ktos od razu wytlumaczyc, dlaczego jezeli na polu jest bomba, i przytrzymuje lewy przycisk myszy, to widac w tle moje 0 - to juz mam, ale nie chce mi sie przepakowywac, wiec bedzie z tym bledem. I kolejne pytanie, czy mozna zrobic tak, zeby zaznaczac flage prawym przyciskiem myszy i prawym odznaczac ? Chodzi mi o to, zeby kazde klikniecie bylo traktowane jednorazowo, tak jak w domyslnym windosowskim saperze( obecnie mam tak, ze dwoma przyciskami sie zaznacza flage, a prawym zdejmuje)

Z gory dziekuje za wszelka pomoc. POzdrawiam.



P-28248
malan
» 2011-02-15 18:34:15
wymiar t[ 99 ];
 - ja tu widzę 99 elementów, a nie 100 :). 99 element tablicy nie istnieje. Piszesz poza tablicą. Ostatnim elementem w tablicy
t
 jest element o indeksie 98.

C/C++
int array[ 3 ];
array[ 0 ] = 1; // Pierwszy element...
array[ 1 ] = 2; // Drugi element...
array[ 2 ] = 3; // Trzeci element...
array[ 3 ] = 4; // Czwarty element... Zaraz! Tablica przecież ma 3 elementy! Błąd!

I kolejne pytanie, czy mozna zrobic tak, zeby zaznaczac flage prawym przyciskiem myszy i prawym odznaczac ?
Można.
C/C++
if( mouse_b == 2 )
{
    int squareIndex = getSquareIndex( mouse_x, mouse_y ); // Wyliczasz kwadracik, w który kliknął użytkownik i zwracasz jego indeks.
    if( squares[ squareIndex ].flag == true ) // Jeżeli ustawiono flagę...
         squares[ squareIndex ].flag = false; // ...zdejmij flagę z pola...
    else // Jeżeli nie ustawiono flagi...
         squares[ squareIndex ].flag = true; // ...ustaw ją....
   
}
Wyświetlanie:
C/C++
for( int i = 0; i < 100; ++i )
{
    //...
    if( squares[ i ].flag ) masked_blit( flag, buffer,...);
    //...
}
Ja bym to widział mniej więcej tak... :)
P-28249
tookie009
Temat założony przez niniejszego użytkownika
» 2011-02-15 18:45:14
wymiar t[ 99 ];
 - ja tu widzę 99 elementów, a nie 100 :). 99 element tablicy nie istnieje. Piszesz poza tablicą. Ostatnim elementem w tablicy
t
 jest element o indeksie 98.

ale sie osmieszam na tym forum ;p. Wielkie dzieki!!!
P-28251
1 « 2 »
Poprzednia strona Strona 2 z 2