Update of /cvsroot/lib/LIB In directory usw-pr-cvs1:/tmp/cvs-serv20172 Modified Files: ChangeLog LIB.c config2.h.in configure.in ekran.c ekran.h ostatnia_zmiana postac.c przedmioty.c przedmioty.h Log Message: * zmienione wybierz_przedmiot() * dodane ile_przedmiotow() * przy podnoszeniu w razie potrzeby wywo³ywane jest wybierz_przedmiot() Index: ChangeLog =================================================================== RCS file: /cvsroot/lib/LIB/ChangeLog,v retrieving revision 1.307 retrieving revision 1.308 diff -C2 -d -r1.307 -r1.308 *** ChangeLog 25 Aug 2002 09:06:35 -0000 1.307 --- ChangeLog 25 Aug 2002 18:13:56 -0000 1.308 *************** *** 1,2 **** --- 1,7 ---- + 2002/08/25 20:13:23 przewdnik + * zmienione wybierz_przedmiot() + * dodane ile_przedmiotow() + * przy podnoszeniu w razie potrzeby wywo³ywane jest wybierz_przedmiot() + 2002/08/25 11:05:51 przewdnik * usuniêcie acconfig.h Index: LIB.c =================================================================== RCS file: /cvsroot/lib/LIB/LIB.c,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** LIB.c 24 Aug 2002 18:51:06 -0000 1.47 --- LIB.c 25 Aug 2002 18:13:56 -0000 1.48 *************** *** 234,242 **** rysuj_postacie(&Poziom); rysuj_przedmioty(&Poziom, &Poziom.Przedmioty); - /* wyczysc_gore(); - strcpy(tmp2, _("\nPowód ¶mierci: ")); - strcat(tmp2, powod_smierci); - strcat(tmp2, _(" \nNaci¶nij co¶.")); - dodaj_napis(tmp2); */ dodaj_napis(_("Nie ¿yjesz... \nNaci¶nij dowolny klawisz.")); wyswietl_opis_gracza(&Poziom); --- 234,237 ---- Index: config2.h.in =================================================================== RCS file: /cvsroot/lib/LIB/config2.h.in,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** config2.h.in 25 Aug 2002 09:06:36 -0000 1.13 --- config2.h.in 25 Aug 2002 18:13:56 -0000 1.14 *************** *** 1,5 **** /* config2.h.in. Generated from configure.in by autoheader. */ ! /* "Languages" */ #undef ALL_LINGUAS --- 1,5 ---- /* config2.h.in. Generated from configure.in by autoheader. */ ! /* Languages */ #undef ALL_LINGUAS *************** *** 9,13 **** #undef CRAY_STACKSEG_END ! /* "Do we build on Cygwin" */ #undef CYGWIN --- 9,13 ---- #undef CRAY_STACKSEG_END ! /* Do we build on Cygwin */ #undef CYGWIN *************** *** 15,22 **** #undef C_ALLOCA ! /* "Do we use debbuging" */ #undef DEBUG ! /* "Do we use parser debbuging" */ #undef DEBUG_PARSER --- 15,22 ---- #undef C_ALLOCA ! /* Do we use debbuging */ #undef DEBUG ! /* Do we use parser debbuging */ #undef DEBUG_PARSER *************** *** 212,222 **** #undef INTDIV0_RAISES_SIGFPE ! /* "Do we build on Linux box" */ #undef LINUX ! /* "Magic taxis" */ #undef MAGIC_TAXIS ! /* "Do we have optimization on" */ #undef OPT --- 212,222 ---- #undef INTDIV0_RAISES_SIGFPE ! /* Do we build on Linux box */ #undef LINUX ! /* Magic taxis */ #undef MAGIC_TAXIS ! /* Do we have optimization on */ #undef OPT *************** *** 259,263 **** #undef VERSION ! /* "Do we build on Djgpp" */ #undef _DJGPP --- 259,263 ---- #undef VERSION ! /* Do we build on Djgpp */ #undef _DJGPP Index: configure.in =================================================================== RCS file: /cvsroot/lib/LIB/configure.in,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** configure.in 25 Aug 2002 09:06:37 -0000 1.31 --- configure.in 25 Aug 2002 18:13:56 -0000 1.32 *************** *** 17,21 **** AC_DEFINE_UNQUOTED(VERSION, "$VERSION") ALL_LINGUAS="de en fr" ! AC_DEFINE_UNQUOTED(ALL_LINGUAS,"$ALL_LINGUAS","Languages") AC_SUBST(PACKAGE) AC_SUBST(VERSION) --- 17,21 ---- AC_DEFINE_UNQUOTED(VERSION, "$VERSION") ALL_LINGUAS="de en fr" ! AC_DEFINE_UNQUOTED(ALL_LINGUAS,"$ALL_LINGUAS",Languages) AC_SUBST(PACKAGE) AC_SUBST(VERSION) *************** *** 36,46 **** AC_CHECK_FUNCS(getcwd getwd mkdir putenv strcspn strdup strstr) ! AH_TEMPLATE(DEBUG, "Do we use debbuging") ! AH_TEMPLATE(DEBUG_PARSER, "Do we use parser debbuging") ! AH_TEMPLATE(OPT, "Do we have optimization on") ! AH_TEMPLATE(MAGIC_TAXIS, "Magic taxis") ! AH_TEMPLATE(LINUX, "Do we build on Linux box") ! AH_TEMPLATE(CYGWIN, "Do we build on Cygwin") ! AH_TEMPLATE(_DJGPP, "Do we build on Djgpp") AC_MSG_CHECKING(--enable-debug) --- 36,46 ---- AC_CHECK_FUNCS(getcwd getwd mkdir putenv strcspn strdup strstr) ! AH_TEMPLATE(DEBUG, Do we use debbuging) ! AH_TEMPLATE(DEBUG_PARSER, Do we use parser debbuging) ! AH_TEMPLATE(OPT, Do we have optimization on) ! AH_TEMPLATE(MAGIC_TAXIS, Magic taxis) ! AH_TEMPLATE(LINUX, Do we build on Linux box) ! AH_TEMPLATE(CYGWIN, Do we build on Cygwin) ! AH_TEMPLATE(_DJGPP, Do we build on Djgpp) AC_MSG_CHECKING(--enable-debug) Index: ekran.c =================================================================== RCS file: /cvsroot/lib/LIB/ekran.c,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -d -r1.74 -r1.75 *** ekran.c 24 Aug 2002 15:08:30 -0000 1.74 --- ekran.c 25 Aug 2002 18:13:56 -0000 1.75 *************** *** 755,759 **** short int wybierz_przedmiot(struct przedmioty *Przedm, short int czy_pytac_o_skrot, ! int flagi, long int klasy) { int koniec = 0, maxl, key; --- 755,759 ---- short int wybierz_przedmiot(struct przedmioty *Przedm, short int czy_pytac_o_skrot, ! int flagi, long int klasy, int x, int y) { int koniec = 0, maxl, key; *************** *** 764,768 **** flagi = ~flagi; klasy = ~klasy; ! if (czy_pytac_o_skrot) { klawisz = pobierz_klawisz(); if (klawisz != '\r') { /* Wybieramy na pamiêæ */ --- 764,768 ---- flagi = ~flagi; klasy = ~klasy; ! if (czy_pytac_o_skrot) { /* XXX Przy podnoszeniu nie mo¿na pytaæ o skrót */ klawisz = pobierz_klawisz(); if (klawisz != '\r') { /* Wybieramy na pamiêæ */ *************** *** 809,815 **** (i < maxl) && (Przedm->aktualny != Przedm->koniec); Przedm->aktualny = Przedm->aktualny->nast) { ! if (!(Przedm->aktualny->flagi & flagi) ! && !(przedmiotyID. ! ID[Przedm->aktualny->ID].klasa_przedmiotu & klasy)) { tab[i] = Przedm->aktualny; if (Przedm->aktualny->literka != ' ') { --- 809,813 ---- (i < maxl) && (Przedm->aktualny != Przedm->koniec); Przedm->aktualny = Przedm->aktualny->nast) { ! if (!(Przedm->aktualny->flagi & flagi) && !(przedmiotyID.ID[Przedm->aktualny->ID].klasa_przedmiotu & klasy) && (x==-1 || (x==Przedm->aktualny->x && y==Przedm->aktualny->y))) { tab[i] = Przedm->aktualny; if (Przedm->aktualny->literka != ' ') { *************** *** 833,836 **** --- 831,838 ---- } } + if (!i) + { + Przedm->aktualny = NULL; + return 0; } wmove(wEkran, maxy-1, 0); zmien_kolor(K_BRAZOWY, wEkran); Index: ekran.h =================================================================== RCS file: /cvsroot/lib/LIB/ekran.h,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** ekran.h 24 Sep 2001 14:53:36 -0000 1.22 --- ekran.h 25 Aug 2002 18:13:56 -0000 1.23 *************** *** 57,61 **** short int wybierz_przedmiot(struct przedmioty *Przedm, short int czy_pytac_o_skrot, int flagi, ! long int klasy); void zmien_kolor(int kolor, WINDOW * okno); --- 57,61 ---- short int wybierz_przedmiot(struct przedmioty *Przedm, short int czy_pytac_o_skrot, int flagi, ! long int klasy, int x, int y); void zmien_kolor(int kolor, WINDOW * okno); Index: ostatnia_zmiana =================================================================== RCS file: /cvsroot/lib/LIB/ostatnia_zmiana,v retrieving revision 1.196 retrieving revision 1.197 diff -C2 -d -r1.196 -r1.197 *** ostatnia_zmiana 25 Aug 2002 09:06:37 -0000 1.196 --- ostatnia_zmiana 25 Aug 2002 18:13:56 -0000 1.197 *************** *** 1 **** ! * usuniêcie acconfig.h --- 1,3 ---- ! * zmienione wybierz_przedmiot() ! * dodane ile_przedmiotow() ! * przy podnoszeniu w razie potrzeby wywo³ywane jest wybierz_przedmiot() Index: postac.c =================================================================== RCS file: /cvsroot/lib/LIB/postac.c,v retrieving revision 1.152 retrieving revision 1.153 diff -C2 -d -r1.152 -r1.153 *** postac.c 24 Aug 2002 18:51:06 -0000 1.152 --- postac.c 25 Aug 2002 18:13:56 -0000 1.153 *************** *** 445,449 **** dodaj_napis(_("Co chcesz przeczytaæ? (ENTER - lista) ")); if (!wybierz_przedmiot ! (&Postac->plecak, 1, WSZYSTKIE_FLAGI, KL_ZWOJ | KL_KSIAZKA)) { return 0; } --- 445,449 ---- dodaj_napis(_("Co chcesz przeczytaæ? (ENTER - lista) ")); if (!wybierz_przedmiot ! (&Postac->plecak, 1, WSZYSTKIE_FLAGI, KL_ZWOJ | KL_KSIAZKA, -1, -1)) { return 0; } *************** *** 485,489 **** if (tolower(key) == _("p - plecak")[0]) { if (!wybierz_przedmiot ! (&Postac->plecak, 0, WSZYSTKIE_FLAGI, KL_NAPOJ)) { return 0; } --- 485,489 ---- if (tolower(key) == _("p - plecak")[0]) { if (!wybierz_przedmiot ! (&Postac->plecak, 0, WSZYSTKIE_FLAGI, KL_NAPOJ, -1, -1)) { return 0; } *************** *** 1635,1639 **** dodaj_napis(_("Co chcesz zje¶æ? (ENTER - lista) ")); if (!wybierz_przedmiot ! (&Postac->plecak, 1, WSZYSTKIE_FLAGI, KL_JEDZENIE)) { return 0; } --- 1635,1639 ---- dodaj_napis(_("Co chcesz zje¶æ? (ENTER - lista) ")); if (!wybierz_przedmiot ! (&Postac->plecak, 1, WSZYSTKIE_FLAGI, KL_JEDZENIE, -1, -1)) { return 0; } Index: przedmioty.c =================================================================== RCS file: /cvsroot/lib/LIB/przedmioty.c,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 *** przedmioty.c 24 Aug 2002 18:51:07 -0000 1.75 --- przedmioty.c 25 Aug 2002 18:13:56 -0000 1.76 *************** *** 6,10 **** struct przedmiot Przedmiot; ! /* Szuka pierwszego przedmiotu na polu(x,y) */ short int szukaj_przedmiotu(int x, int y, struct przedmioty *Przedmioty) { --- 6,10 ---- struct przedmiot Przedmiot; ! /* Szuka pierwszego przedmiotu o x i y */ short int szukaj_przedmiotu(int x, int y, struct przedmioty *Przedmioty) { *************** *** 734,738 **** } ! /* Szuka nastêpnego przedmiotu na polu (x,y) */ short int szukaj_nastepny(int x, int y, struct przedmioty *Przedmioty) { --- 734,738 ---- } ! /* Szuka nastêpnego przedmiotu o x i y */ short int szukaj_nastepny(int x, int y, struct przedmioty *Przedmioty) { *************** *** 748,751 **** --- 748,759 ---- } + short int ile_przedmiotow(int x, int y, struct przedmioty *Przedmioty) + { + wskaznik_przedmiot pierwszy; + if (szukaj_przedmiotu(x,y,Przedmioty)==NIE_ZNALAZL) return 0; + pierwszy=Przedmioty->aktualny; + if (szukaj_nastepny(x,y,Przedmioty)==NIE_ZNALAZL) {Przedmioty->aktualny=pierwszy; return 1;} else {return 2;} + } + short int znajdz_niezaplacony(struct przedmioty *Przedmioty) { *************** *** 977,980 **** --- 985,989 ---- Plecak-> tablica_literek[pozycja_litery(Plecak->aktualny->literka)] = 0; + Plecak->aktualny->literka = ' '; if (Przedmioty->ile) Przedmioty->aktualny = Przedmioty->poczatek->nast; *************** *** 1174,1177 **** --- 1183,1187 ---- Przedmioty->ile++; } + Przedmioty->aktualny->literka = ' '; Przedmioty->aktualny->flagi = flagi; zrob_przedmiot(Przedmioty->aktualny); *************** *** 1602,1606 **** } else { wybierz_przedmiot(&Postac->plecak, 0, WSZYSTKIE_FLAGI, ! dozwolone_klasy(miejsce)); if (Postac->plecak.aktualny == NULL) { /* --- 1612,1616 ---- } else { wybierz_przedmiot(&Postac->plecak, 0, WSZYSTKIE_FLAGI, ! dozwolone_klasy(miejsce), -1, -1); if (Postac->plecak.aktualny == NULL) { /* *************** *** 1707,1713 **** int w_sklepie = czy_jest_w_strefie(SKLEP, Postac->x, Postac->y); ! ! if (szukaj_przedmiotu ! (Postac->x, Postac->y, &Poziom->Przedmioty) == ZNALAZL) { char literka; int ile_tam_jest = Poziom->Przedmioty.aktualny->ilosc; --- 1717,1727 ---- int w_sklepie = czy_jest_w_strefie(SKLEP, Postac->x, Postac->y); ! int jest; ! jest = ile_przedmiotow(Postac->x, Postac->y, &Poziom->Przedmioty); ! if (jest==2) { ! if (!wybierz_przedmiot(&Poziom->Przedmioty, 0, WSZYSTKIE_FLAGI, KL_WSZYSTKIE, Postac->x, Postac->y)) return 0; ! } ! if (jest) ! { char literka; int ile_tam_jest = Poziom->Przedmioty.aktualny->ilosc; *************** *** 1777,1781 **** dodaj_napis(_("Co chcesz upu¶ciæ? (ENTER - lista) ")); if (!wybierz_przedmiot ! (&Postac->plecak, 1, WSZYSTKIE_FLAGI, KL_WSZYSTKIE)) { koncz_runde = 0; return 0; --- 1791,1795 ---- dodaj_napis(_("Co chcesz upu¶ciæ? (ENTER - lista) ")); if (!wybierz_przedmiot ! (&Postac->plecak, 1, WSZYSTKIE_FLAGI, KL_WSZYSTKIE,-1,-1)) { koncz_runde = 0; return 0; Index: przedmioty.h =================================================================== RCS file: /cvsroot/lib/LIB/przedmioty.h,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** przedmioty.h 12 Feb 2002 11:43:37 -0000 1.32 --- przedmioty.h 25 Aug 2002 18:13:56 -0000 1.33 *************** *** 43,47 **** void zapisz_tablice_znanych(char *out, long int *ile); short int szukaj_nastepny(int x, int y, struct przedmioty *Przedmioty); ! /* Szuka kolejnego niezap³aconego przedmiotu, zwraca ZNALAZL albo NIE_ZNALAZL */ short int znajdz_niezaplacony(struct przedmioty *Przedmioty); --- 43,47 ---- void zapisz_tablice_znanych(char *out, long int *ile); short int szukaj_nastepny(int x, int y, struct przedmioty *Przedmioty); ! short int ile_przedmiotow(int x, int y, struct przedmioty *Przedmioty); /* Zwraca 0, 1 albo 2 (gdy >1) */ /* Szuka kolejnego niezap³aconego przedmiotu, zwraca ZNALAZL albo NIE_ZNALAZL */ short int znajdz_niezaplacony(struct przedmioty *Przedmioty); |