Skocz do zawartości
Zamknięcie Forum PC LAB

Szanowny Użytkowniku,

Informujemy, że za 30 dni tj. 30 listopada 2024 r. serwis internetowy Forum PC LAB zostanie zamknięty.

Administrator Serwisu Forum PC LAB - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie: wypowiada całość usług Serwisu Forum PC LAB z zachowaniem miesięcznego okresu wypowiedzenia.

Administrator Serwisu Forum PC LAB informuje, że:

  1. Z dniem 29 listopada 2024 r. zakończy się świadczenie wszystkich usług Serwisu Forum PC LAB. Ważną przyczyną uzasadniającą wypowiedzenie jest zamknięcie Serwisu Forum PC LAB
  2. Dotychczas zamowione przez Użytkownika usługi Serwisu Forum PC LAB będą świadczone w okresie wypowiedzenia tj. do dnia 29 listopada 2024 r.
  3. Po ogłoszeniu zamknięcia Serwisu Forum od dnia 30 października 2024 r. zakładanie nowych kont w serwisie Forum PC LAB nie będzie możliwe
  4. Wraz z zamknięciem Serwisu Forum PC LAB, tj. dnia 29 listopada 2024 r. nie będzie już dostępny katalog treści Forum PC LAB. Do tego czasu Użytkownicy Forum PC LAB mają dostęp do swoich treści w zakładce "Profil", gdzie mają możliwość ich skopiowania lub archiwizowania w formie screenshotów.
  5. Administrator danych osobowych Użytkowników - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie zapewnia realizację praw podmiotów danych osobowych przez cały okres świadczenia usług Serwisu Forum PC LAB. Szczegółowe informacje znajdziesz w Polityce Prywatności

Administrator informuje, iż wraz z zamknięciem Serwisu Forum PC LAB, dane osobowe Użytkowników Serwisu Forum PC LAB zostaną trwale usunięte ze względu na brak podstawy ich dalszego przetwarzania. Proces trwałego usuwania danych z kopii zapasowych może przekroczyć termin zamknięcia Forum PC LAB o kilka miesięcy. Wyjątek może stanowić przetwarzanie danych użytkownika do czasu zakończenia toczących się postepowań.

Pecet256

Forumowicze
  • Liczba zawartości

    136
  • Rejestracja

  • Ostatnia wizyta

Odpowiedzi dodane przez Pecet256


  1. Dzisiaj w mo komputer -> właściwości nie wyświetla już tego komunikatu..... -> Cały ram dostępny. Ciekawe.

     

    CPU to Ryzen 5 2600, ale on nie ma wbudowanego GPU.

    Mam już ten problem co najmniej drugi raz (wygląda na to, że taka sytaucja powtarza się co jakiś czas), i nie wiem jak zrobić aby Win10 nie rezerwował tak pamięci.

     


  2. Znowu mam ten sam problem.

    Komputer ma 2 kostki RAMu 8 GB DDR4 1200 MHz.

    W monitorze zasobów połowa pamięci, czyli cała jedna kość - uzykała status "Sprzeętowa zarezerwowana"?

    W mój komputer -> właściwości  wyświetla 16 GB 7,94 GB dostępne 

    System to MS Windows 10 Home. Płyta Asus Prime B350 plus, CPU Ryzen.

    Raz problem zniknął po zamienieniu kości miejscami - ale czy jest jakiś "permanentny" sposób naprawy tego?

    Czy to normalna sytuacja przy Win10 i kilku kostkach ramu?


  3. [Przepraszam za podwójny post]

    Chciałbym wyczyścić dokładnie (pędzelkami) bo mam dużo kurzu w tym odpromienniku ciepła nad procesorem. Tam nie wydmuchasz (PC był wydmuchiwany już kilka razy). Od nowości nie było tam czyszczone i chcę to zrobić bezpiecznie.

    PS. Mam jeszcze jedno pytanie: Słyszałem, że najbezpiecznej czyścć komputer podpięty do prądu, ale z wyłączonym zasilaczem (tylny przełącznik na poz. zerowej) i po rozładowaniu kondensatorów poprzez długie wciśnięcie przycisku włączającego komputer (przedniego) na parę sekund przy wyłączonym zasilaczu. Czy to prawda?

    Może ktoś ma rady dla chcącego wyczyścić po raz pierwszy - jak to zrobić samemu najbezpiecznej?

    Wiem, "Najtrudniejszy pierwszy krok"

     


  4. Witam.

    Zamierzam w najbliższej przyszłości dokładnie wyczyścić mój komputer w środku. Będzie to moje pierwsze "większe" czyszczenie komputera i dlatego mam co do tego kilka pytań:

    1) Jak najlepiej oczyścić procesor (AMD Ryzen) z pasty termoprzewodzącej? Jaki alkochol do czyszczenia jest najlepszy, jak bezpiecznie to zrobić?

    2) Jakie pędzle ESD najlepiej kupić? Czy potrzebuję kilku - twarde i miękkie?

    3) Jak najlepiej nałożyć pastę termoprzeodzącą na CPU? I w jakiej ilości?

    4) Czy pasta Pilientum PC Pactum PT-2(taka mała tuba weight 1.5g G) jest dobra? Czy kupić inną? Pactum PT-2 ma parametry: Thermal Impedance 0.165 C - in2/W , Tehernak Conductivity 5W/m-k.

    5) Jak otworzyć front obudowy Gladius M35W pure black - chcę wyczyścić przedni filtr powietrza. Zdjęcie w instrukcji niewiele mi mówi. Jakby co to w obudowie mam zamontowny napę DVD, a zdjęcie w instrukcji pokazuje demontaż frontowego panelu bez napędu?

    6)Jak bezpiecznie zamontować chłodzenie na procesorze po nałożeniu pastu na CPU?

     


  5. @Puma - Ten a4tech odpada - niskoprofilowy

    @Ksamek - Tak, widziałem ich reklamy - najlepsza ta na ich stronie - "opis" mouse bungee - takiego uchwytu na kabel do myszki - opis rodem z telezakupów - uśmiałem się niesamowicie!

    @Jenot - No fajna klawiaturka, ale mógłbys dać link do sklepu/handlarza na allegrze gdzie można taką kupić?

    PS. A te mechaniki na "czerwonych" przełącznikach to jak głośne są?

     


  6. ^ Ten mechanik z allegro to używany "w ładnym stanie". W ładnym stanie to pojęcie względne...

    Wolałbym nową klawiaturę - może być ten logitech, ale są jakieś inne propozycje? Może być też jakiś chichy mechanik.

    PS. Które przełączniki w mechanikach są najcichsze?

     

     

    Edit: Logitech k120 odpada - sprawdziłem - niski profil klawiszy.....

    Czy naprawdę to taki problem wyprodukować porządną klawiaturę bez bajerów.


  7. Niezły ten Logitech. Miałem kiedyś Ligitecha, był solidny.

    A jakieś inne propozycje?

    Co do budowy klawiatury to może być membranowa albo mechaniczna cicha. Raczej nie mechanomembranowa. (Razer takie robi) - taki mechanizm to na początku chodzi głośno jak jakaś stara, rosyjska maszyna do pisania. Potem się wyrabia, ale niemiłe "pierwsze wrażenie" pozostaje.

    A tak ogólnie, to co sądzicie o niektórych trendach w elektronice użytkowej na przestrzeni kilku ostatnich lat? Design jak z kiczowatego filmu, robienie wszystkiego bezprzewodowego bo "tak jest nowocześnie", parowanie najprostszych urządzeń z komórkami etc. To "szałowe" wzornictwo to wygląda tak, jakby było projektowane przez uczniów podstawówki, którym nauczycielka od plastyki kazała narysować "akcesoria komputerowe przyszłości" ?

    PS. A jak to jest z podłączeniem klawiatury na PS/2 do komputera z MS Windows 10? Są jakieś problemy czy nie?

     


  8. A może model Genesis Krypton 190. Porządna mysz, solidna, z kablem w oplocie. Jedyną wadą jest to, że po jakimś czasie ten "gumoplastik", którym pokryte sa boki się wyciera i robi niemiły w dotyku. W sterownikach można zaprogramować kilka stopni DPI (czułości myszki) i przełączać się między nimi przyciskiem przed rolką myszy. Cena - od 50 zł. Co sądzisz?

     


  9. Witam.

     

    Zamierzam kupic nową klawiaturę do komputera stacjonarnego. Przeglądnąłem juz chyba wszystkie bardziej znane internetowe sklepy elektroniczne + Allegro ale oferta moin zdaniem słaba i ciężko cokolwiek wybrać. (Wiem, że obecnie są problemy z logistyką, ale tam naprawdę jest ciężko cokolwiek znaleść)

     

    Oto moje główne wymagania. Marka dowolna ale nie "tania" jak Esperanza, czy Titanium.

    1)Klawiatura ma być przewodowa

    2)Klawiatura ma być w miare możliwości bez podświetlenia

    3)Nie chcę "gejmingowego dizajnu". Wzornictwo ma być stonowane,  kształt (widziany z góry) najlepiej kańciasty

    4)Klawiatura ma być klasyczna - wysoki skok klawiszy - wyraźnie wyczuwalny. Nie chcę żadnych "wynalazków" typu: niskoprofilowa, wyspowa, laptopowa, slim, płaska etc. Takie klawiatury odpadają - miałem kiedys i piszę się na tym moim zdaniem fatalnie.

    5)Dolna bryła urządzenia (ta w którą wchodą klawisze) nie powinna byc zbyt wysoka - chodzi o to aby dało się wygodnie korzystać z klawiatury bez stosowania podkładki pod nadgarstek - nie tak jak w Razer Ornata

    6)Klawiatura ma miec boczny blok numeryczny oraz nóżki do podnisienia tyłu.

    7)Ma być solidna

     

    Innymisłowy ma byc to po prostu solidna, trwała klawiatura, gdzie nie ma co się popsuć i jest wygodna.

    Najciekawsze jest to, że w sklepach zwykle jest opcja "wyświetl tylko z cechą", a nie "Wyświetl tylko bez cechy", gdzie cecha to np. podświetlenie. Przez to ciężko cokolwiek znaleść. Na dodatek opisy są słabe, a zdjęcia niewyraźne, albo zrobione tak, że ciężko jest wydedukować co się kupuje (brak zdjęcia z boku z profilu, żeby zobaczyć jaki jest profil klawiatury)

    Patrząc po ofercie sklepów to ciężko jest mi cokolwiek znaleść. Albo "szałowy design" jak z odpustu, albo niskoprofilowość, albo układ nie QWERTY tylko niemiecki/francuski/cyrylica czy coś jeszcze innego. Ponadto albo jest "made in china" na 15-30 złom albo jakieś "burżujskie" ale zupełnie nieestetyczne za 200+zł. Żadnej półki średnej. Albo Dacia albo Lexus.

    Ps. Zastanawia mnie jak to jest z podłączenie klawiatury ze złączem PS/2 do komputera z systemem MS Windows 10. O dziwo w klawiaturach na to "starego typu" złącze jest mi minimalnie łatwiej znaleść odpowieni model niż wśród tych na USB.

    Cena do ok. 150 zł, ale może być taniej lub drożej.

    Ogólnie to najlepiej coś w stylu HP ku-0316.

    Co sądzicie o firmie CHERRY?

     


  10. Wrzucam poprawioną (finalną ?) wersję kodu.

     

    Nie znalazłem błędów.

    Przy kompilacji w code:blocks nie ma errorów, są tylko 3 warningi - parameter names without tags.

    Ale program działa bez problemu.

    Gdyby ktoś chciał kompilować na Linuksie/Uniksie to musiałby zmienić sposób czyszczenia ekranu bo program wykorzystuje Windowsowe system("cls");.

     

    Oto kod.

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    //WYBORY
    #define NIEAKTYWNY 8
    #define ZWYKLY 1
    #define UPROSZCZONY 2
    #define POZNYSTART 3
    #define DWUOSOBOWY 4
    #define INSTRUKCJA 9
    #define POWROT 0
    #define KONCOWKA 7
    
    //Urzytkownik gra kolkami (O), program zas krzyzykami (X)
    //
    //WERSCJA V2.2
    //18.06.2020
    
    
    //FUNKCJE
    void funkcjamenu();
    void rysujtablice(tablica);
    void zeruj(tablica);
    void intrukcja();
    int testowanie(tablica);
    void koncowka1();
    void koncowka2();
    
    int main (void){
       int praca=1;//Sterowanie glowną petla programu 1-PRACA 0-ZAKONCZENIE
       int menu=1;
       int wybormenu=NIEAKTYWNY;
       int wyborkoncowy=NIEAKTYWNY;
       int granie=0;//Petla z samym algorytmem gry
       int tryb;
       int testwyboru=0;
       char tablica[9];
       int wyboruzytkownika;
       int wykonane;
       int wyborkomputera;
       int wynik_testu=0;//0-rozgrywka trwa, 1-wygral gracz 1, 2-wygral komputer/gracz2, 3-remis/przepelnienie planszy
       int pomijanie=0;
       int poptryb=NIEAKTYWNY;
       int licznikiteracji;
    
       while(praca==1){//Główna pętla programu
           zeruj (tablica);
           licznikiteracji=0;
           //MENU
           while(menu==1){
               system("cls");
               funkcjamenu();
               scanf("%d",&wybormenu);
               if(wybormenu==ZWYKLY){
                   menu=0;
                   granie=1;
                   praca=1;
                   tryb=ZWYKLY;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==UPROSZCZONY){
                   menu=0;
                   granie=1;
                   praca=1;
                   tryb=UPROSZCZONY;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==INSTRUKCJA){
                   menu=0;
                   granie=0;
                   tryb=INSTRUKCJA;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==DWUOSOBOWY){
                   menu=0;
                   granie=1;
                   praca=1;
                   tryb=DWUOSOBOWY;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==POZNYSTART){
                   menu=0;
                   granie=1;
                   praca=1;
                   tryb=POZNYSTART;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==POWROT){
                   praca=0;
                   granie=0;
                   menu=0;
                   wybormenu=NIEAKTYWNY;
                   tryb=NIEAKTYWNY;
               }
    
           }
    
           //Pętla gry
           while (granie==1){
               wynik_testu=0;
               system("cls");
               if ((tryb==POZNYSTART)&&(licznikiteracji==0)){
                   pomijanie=1;
               }
    
               //WYBÓR POLA PRZEZ UZYTKOWNIKA
               if (pomijanie==0){
               testwyboru=0;
               while((testwyboru==0)&&(granie==1)){
                   system("cls");
                   if (tryb!=DWUOSOBOWY){
                       printf("*****************************************\n");
                   }
                   if (tryb==DWUOSOBOWY){
                       printf("********** GRACZ NR.1 - SYMBOL O ********\n");
                   }
                   rysujtablice (tablica);
                   printf("*****************************************\n");
                   printf("Podaj numer pola do rysowania kolka\nzgodnie z numeracja na klawiaturze numerycznej\ni zatwierdz uzywajac klawisza ENTER\n");
                   scanf("%d", &wyboruzytkownika);
                   wyboruzytkownika=wyboruzytkownika-1;
                   if (tablica[wyboruzytkownika]=='O'){
                       testwyboru=0;
                   }else{
                       if (tablica[wyboruzytkownika]=='X'){
                           testwyboru=0;
                       }else{
                           if (tablica[wyboruzytkownika]==' '){
                               tablica[wyboruzytkownika]='O';
                               testwyboru=1;
                           }}}
               }
               system("cls");
               rysujtablice (tablica);
               testwyboru=0;
               }
    
               //SPRAWDZANIE
               wynik_testu=testowanie(tablica);
               if (wynik_testu!=0){
                   pomijanie=1;
                   poptryb=tryb;
                   tryb=KONCOWKA;
                   granie=0;
               }
               if ((tryb==POZNYSTART)&&(licznikiteracji==0)){
                   pomijanie=0;
               }
    
               //LOSOWANIE AUTOMATYCZNE
               if (pomijanie==0){
               if(tryb!=DWUOSOBOWY){
                   testwyboru=0;
                   while((testwyboru==0)&&(granie==1)){
                       wykonane=0;
                       //POZIOME - LINIA1
                       if(((((tablica[6]=='X')&&(tablica[7]=='X'))&&(tablica[8]==' '))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[8]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[6]=='X')&&(tablica[7]==' '))&&(tablica[8]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[7]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[6]==' ')&&(tablica[7]=='X'))&&(tablica[8]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[6]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //POZIOME - LINIA2
                       if(((((tablica[3]=='X')&&(tablica[4]=='X'))&&(tablica[5]==' '))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[5]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[3]=='X')&&(tablica[4]==' '))&&(tablica[5]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[3]==' ')&&(tablica[4]=='X'))&&(tablica[5]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[3]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //POZIOME - LINIA3
                       if(((((tablica[0]=='X')&&(tablica[1]=='X'))&&(tablica[2]==' '))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[2]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[0]=='X')&&(tablica[1]==' '))&&(tablica[2]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[1]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[0]==' ')&&(tablica[1]=='X'))&&(tablica[2]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[0]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //PIONOWE - KOLUMNA1
                       if(((((tablica[6]=='X')&&(tablica[3]=='X'))&&(tablica[0]==' '))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[0]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[6]=='X')&&(tablica[3]==' '))&&(tablica[0]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[3]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[6]==' ')&&(tablica[3]=='X'))&&(tablica[0]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[6]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //PIONOWE - KOLUMNA2
                       if(((((tablica[7]=='X')&&(tablica[4]=='X'))&&(tablica[1]==' '))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[1]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[7]=='X')&&(tablica[4]==' '))&&(tablica[1]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[7]==' ')&&(tablica[4]=='X'))&&(tablica[1]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[7]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //PIONOWE - KOLUMNA3
                       if(((((tablica[8]=='X')&&(tablica[5]=='X'))&&(tablica[2]==' '))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[2]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[8]=='X')&&(tablica[5]==' '))&&(tablica[2]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[5]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[8]==' ')&&(tablica[5]=='X'))&&(tablica[2]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[8]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //UKOSNE - DOLNA-LEWA => GORNA PRAWA
                       if(((((tablica[0]=='X')&&(tablica[4]=='X'))&&(tablica[8]==' '))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[8]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[0]=='X')&&(tablica[4]==' '))&&(tablica[8]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[0]==' ')&&(tablica[4]=='X'))&&(tablica[8]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[0]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //UKOSNE - GORNA-LEWA => DOLNA PRAWA
                       if(((((tablica[6]=='X')&&(tablica[4]=='X'))&&(tablica[2]==' '))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[2]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[6]=='X')&&(tablica[4]==' '))&&(tablica[2]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if(((((tablica[6]==' ')&&(tablica[4]=='X'))&&(tablica[2]=='X'))&&(wykonane==0))&&(tryb!=UPROSZCZONY)){
                           tablica[6]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //LOSOWE POLA
                       if(wykonane==0){
                           wyborkomputera=(rand()%9);
                           if (tablica[wyborkomputera]=='O'){
                               testwyboru=0;
                               wykonane=0;
                           }else{
                           if (tablica[wyborkomputera]=='X'){
                               testwyboru=0;
                               wykonane=0;
                           }else{
                           if (tablica[wyborkomputera]==' '){
                               tablica[wyborkomputera]='X';
                               testwyboru=1;
                               wykonane=1;
                           }
                           }
                           }}}}}}}}}}}}}}}}}}}}}}}}}}
    
                   }
               testwyboru=0;
               }}
    
               //WYBÓR POLA PRZEZ UZYTKOWNIKA
               if (pomijanie==0){
               if(tryb==DWUOSOBOWY){
                   testwyboru=0;
                   while((testwyboru==0)&&(granie==1)){
                   system("cls");
                   printf("********** GRACZ NR.2 - SYMBOL X ********\n");
                   rysujtablice (tablica);
                   printf("*****************************************\n");
                   printf("Podaj numer pola do rysowania krzyzyka\nzgodnie z numeracja na klawiaturze numerycznej\ni zatwierdz uzywajac klawisza ENTER\n");
                   scanf("%d", &wyboruzytkownika);
                   wyboruzytkownika=wyboruzytkownika-1;
                   if (tablica[wyboruzytkownika]=='X'){
                       testwyboru=0;
                   }else{
                       if (tablica[wyboruzytkownika]=='O'){
                           testwyboru=0;
                       }else{
                           if (tablica[wyboruzytkownika]==' '){
                               tablica[wyboruzytkownika]='X';
                               testwyboru=1;
                           }}}
                   }
                   system("cls");
                   rysujtablice (tablica);
                   testwyboru=0;
    
    
                   }
                   }
               if (pomijanie==0){
               //SPRAWDZANIE
               wynik_testu=testowanie(tablica);
               if (wynik_testu!=0){
                   pomijanie=1;
                   poptryb=tryb;
                   tryb=KONCOWKA;
                   granie=0;
               }
               }
               //wynik_testu=0;
               licznikiteracji=licznikiteracji+1;
           }
    
    
    
    
           //Wyswietlenie instrukcji obslugi
           while(tryb==INSTRUKCJA){
           system("cls");
           wybormenu=NIEAKTYWNY;
           intrukcja();
           scanf("%d",&wybormenu);
           if (wybormenu==9){
               menu=1;
               praca=1;
               granie=0;
               tryb=NIEAKTYWNY;
           }
    
    
           }
           //Menu koncowe
           if(tryb==KONCOWKA){
               system("cls");
               printf("*****************************************\n");
               rysujtablice (tablica);
               koncowka1();
               if (wynik_testu==1){
                   if (poptryb==DWUOSOBOWY){
                       printf("Wygral gracz 1\n");
                       printf("\n");
                   }else{
                       printf("Wygral uzytkownik \n");
                       printf("\n");
                   }
               }
               if (wynik_testu==2){
                   if (poptryb==DWUOSOBOWY){
                       printf("Wygral gracz 2\n");
                       printf("\n");
                   }else{
                       printf("Wygral komputer \n");
                       printf("\n");
                   }
               }
               if (wynik_testu==3){
                       printf("REMIS - NASTAPELO PRZEPELNIENIE PLANSZY\n");
                       printf("UNIEMOZLIWIAJACE ROZSTRYGNIECIE WYNIKU\n");
    
               }
               koncowka2();
               scanf("%d",&wybormenu);
               if(wybormenu==0){
                   menu=1;
                   wynik_testu=0;
                   granie=0;
                   testwyboru=0;
                   pomijanie=0;
                   tryb=NIEAKTYWNY;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==1){
                   menu=0;
                   zeruj (tablica);
                   granie=1;
                   wynik_testu=0;
                   pomijanie=0;
                   tryb=poptryb;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==9){
                   menu=0;
                   granie=0;
                   praca=0;
                   pomijanie=0;
                   tryb=NIEAKTYWNY;
                   wybormenu=NIEAKTYWNY;
               }
           }
    
    
    
    
    
    
    
    
    
       }
    
    return 0;
    }
    
    
    //FUNKCJE
    
    void funkcjamenu(){
       printf("*****************************************\n");
       printf("    Program do gry w kolko i krzyzyk\n");
       printf("**************Wersja V2.2****************\n");
       printf("                                    \n");
       printf("\n");
       printf("Wpisz numer opcji i nacisnij klawsz ENTER\n");
       printf("                 OPCJE\n");
       printf("1-rozgrywka w zwyklym trybie\n");
       printf("2-rozgrywka w trybie uproszczonym\n");
       printf("3-rozgrywka z opoznionym startem\n");
       printf("4-rozgrywka w trybie dwuosobowym\n");
       printf("9-wyswietlenie instrukcji obslugi\n");
       printf("0-zakonczenie programu\n");
    
       printf("\n");
    
    }
    
    void rysujtablice(char *tablica){
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[6],tablica[7],tablica[8]);
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[3],tablica[4],tablica[5]);
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[0],tablica[1],tablica[2]);
    printf("+-+-+-+\n");
    }
    
    void zeruj(char *tablica){
       int licznik;
       licznik=0;
       while(licznik<9){
           tablica[licznik]=' ';
           licznik=licznik+1;
    
       }
    
    }
    
    void intrukcja(){
       printf("*****************************************\n");
       printf("            INSTRUKCJA OBSLUGI\n");
       printf("*****************************************\n");
       printf("    Program do gry w kolko i krzyzyk\n");
       printf("\n");
       printf("W trybach jednoosobowych uzytkownik gra\n");
       printf("symbolami kolek (O), a program symbolani\n");
       printf("krzyzykow (X)\n");
       printf("\n");
       printf("W trybie dwuosobowym gracz zaczynajcy \n");
       printf("rozgrywke uzywa symbolu kolka (O)\n");
       printf("Drugi zas symbolu krzyzyka (X)\n");
       printf("\n");
       printf("W trybach jednoosobowych zaczyna gracz,\n");
       printf("Za wyjatkiem trybu z opuzionym startem\n");
       printf("\n");
       printf("Wybor pola nastepuje poprzez \n");
       printf("Wprowadzenie liczby z klaw. numerycznej\n");
       printf("(funkcja NUM LOCK klawiatury musi byc\n");
       printf("wlaczona) i zatwierdzenie klawiszem \n");
       printf("ENTER\n");
       printf("\n");
       printf("Pola numerowane sa tak, jak klawisze\n");
       printf("na klawiaturze numerycznej\n");
       printf("\n");
       printf("Schemat numeracji pol gry\n");//To jest numeracja w sterowaniu programem
       printf("+-+-+-+\n");//Numeryy identyfikacyjne w tablicy sa zawsze o 1 mniejsze od numeru wpisywanej liczby
       printf("|7|8|9|\n");
       printf("+-+-+-+\n");
       printf("|4|5|6|\n");
       printf("+-+-+-+\n");
       printf("|1|2|3|\n");
       printf("+-+-+-+\n");
       printf("\n");
       printf("nacisnij klawisz 9 i zatwierdz klawiszem\n");
       printf("ENTER, aby powrocic do glownego MENU\n");
    
    }
    
    int testowanie(char *tablica){
       int wynik_testu=0;
       char wygrana;
       int licznik=0;
       int zajete_pola=0;
       //KONTROLA PRZEPELNIENIA <= WYLACZONA
       while(licznik<9){
           if (tablica[licznik]!=' '){
               zajete_pola=zajete_pola+1;
           }
           licznik=licznik+1;
       }
       if(zajete_pola==9){
           wynik_testu=3;
       }
    
    
    
    
       //POZIOME
             if ( tablica[0]!=' ' && tablica[0]==tablica[1] && tablica[0]==tablica[2] ){
               wygrana=tablica[0];
       }else if ( tablica[3]!=' ' && tablica[3]==tablica[4] && tablica[3]==tablica[5] ){
           wygrana=tablica[3];
       }else if ( tablica[6]!=' ' && tablica[6]==tablica[7] && tablica[6]==tablica[8] ){
           wygrana=tablica[6];
    
       //PIONOWE
       }else if ( tablica[6]!=' ' && tablica[6]==tablica[3] && tablica[6]==tablica[0] ){
           wygrana=tablica[6];
       }else if ( tablica[7]!=' ' && tablica[7]==tablica[4] && tablica[7]==tablica[1] ){
           wygrana=tablica[7];
       }else if ( tablica[8]!=' ' && tablica[8]==tablica[5] && tablica[8]==tablica[2] ){
           wygrana=tablica[8];
    
       //UKOSNE
       }else if ( tablica[6]!=' ' && tablica[6]==tablica[4] && tablica[6]==tablica[2] ){
           wygrana=tablica[6];
       }else if ( tablica[8]!=' ' && tablica[8]==tablica[4] && tablica[8]==tablica[0] ){
           wygrana=tablica[8];
       }
    
    
    
    
    
    
            if (wygrana=='O'){
           wynik_testu=1;
       }
       else if (wygrana=='X'){
           wynik_testu=2;
       }
    
    
       return wynik_testu;
    }
    
    void koncowka1(){
       printf("*****************************************\n");
       printf("                KONIEC GRY\n");
       printf("*****************************************\n");
    
    
    }
    
    void koncowka2(){
       printf("Wpisz numer opcji i nacisnij klawsz ENTER\n");
       printf("                 OPCJE\n");
       printf("0-Powrot do menu programu\n");
       printf("1-Rozpoczecie kolejnej rundy\n");
       printf("9-Zakonczenie pracy programu\n");
    }
    

     

    Co sądzicie?


  11. Trochę poprawiłem.

    Po wybraniu ponownej gry nie ma już pętli nieskończonej.

    Teraz nie chcą się wyświetlać komunikatu, kto wygrał.

    Innym, poważniejszym problemem jest to, że program wpada w pętlę nieskończoną, gdy użytkownik wybierze opcję powrotu do menu, i dopiero z menu wybierze opcję nowej rozgrywki.

     

    Nadal nie zrobiłem trybu dwuosobowego.

     

    Wrzucam kod <uwaga> - długi. Pomożecie?

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    //WYBORY
    #define NIEAKTYWNY 8
    #define ZWYKLY 1
    #define UPROSZCZONY 2
    #define POZNYSTART 3
    #define DWUOSOBOWY 4
    #define INSTRUKCJA 9
    #define POWROT 0
    #define KONCOWKA 7
    
    //Urzytkownik gra kolkami (O), program zas krzyzykami (X)
    //
    //WERSCJA V2.0
    //09.06.2020
    
    
    //FUNKCJE
    void funkcjamenu();
    void rysujtablice(tablica);
    void zeruj(tablica);
    void intrukcja();
    int testowanie(tablica);
    void koncowka1();
    void koncowka2();
    
    int main (void){
       int praca=1;//Sterowanie glowną petla programu 1-PRACA 2-ZAKONCZENIE
       int menu=1;
       int wybormenu=NIEAKTYWNY;
       int wyborkoncowy=NIEAKTYWNY;
       int granie=0;//Petla z samym algorytmem gry
       int tryb;
       int testwyboru=0;
       char tablica[9];
       int wyboruzytkownika;
       int wykonane;
       int wyborkomputera;
       int wynik_testu=0;//0-rozgrywka trwa, 1-wygral gracz 1, 2-wygral komputer/gracz2, 3-remis/przepelnienie planszy
       int pomijanie=0;
       int poptryb;
    
       while(praca==1){//Główna pętla programu
           zeruj (tablica);
           //MENU
           while(menu==1){
               system("cls");
               funkcjamenu();
               scanf("%d",&wybormenu);
               if(wybormenu==ZWYKLY){
                   menu=0;
                   granie=1;
                   praca=1;
                   tryb=ZWYKLY;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==INSTRUKCJA){
                   menu=0;
                   granie=0;
                   tryb=INSTRUKCJA;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==POWROT){
                   praca=0;
                   granie=0;
                   wybormenu=NIEAKTYWNY;
                   tryb=NIEAKTYWNY;
               }
    
           }
    
           //Pętla gry
           while (granie==1){
               system("cls");
    
               //WYBÓR POLA PRZEZ UZYTKOWNIKA
               if (pomijanie==0){
               testwyboru=0;
               while((testwyboru==0)&&(granie==1)){
                   system("cls");
                   rysujtablice (tablica);
                   printf("Podaj numer pola do rysowania kolka\nzgodnie z numeracja na klawiaturze numerycznej\ni zatwierdz uzywajac klawisza ENTER\n");
                   scanf("%d", &wyboruzytkownika);
                   wyboruzytkownika=wyboruzytkownika-1;
                   if (tablica[wyboruzytkownika]=='O'){
                       testwyboru=0;
                   }else{
                       if (tablica[wyboruzytkownika]=='X'){
                           testwyboru=0;
                       }else{
                           if (tablica[wyboruzytkownika]==' '){
                               tablica[wyboruzytkownika]='O';
                               testwyboru=1;
                           }}}
               }
               system("cls");
               rysujtablice (tablica);
               testwyboru=0;
               }
    
               //SPRAWDZANIE
               wynik_testu=testowanie(tablica);
               if (wynik_testu!=0){
                   pomijanie=1;
                   poptryb=tryb;
                   tryb=KONCOWKA;
                   granie=0;
               }
    
               //LOSOWANIE AUTOMATYCZNE
               if (pomijanie==0){
               if(tryb!=DWUOSOBOWY){
                   testwyboru=0;
                   while((testwyboru==0)&&(granie==1)){
                       wykonane=0;
                       //POZIOME - LINIA1
                       if((((tablica[6]=='X')&&(tablica[7]=='X'))&&(tablica[8]==' '))&&(wykonane==0)){
                           tablica[8]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]=='X')&&(tablica[7]==' '))&&(tablica[8]=='X'))&&(wykonane==0)){
                           tablica[7]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]==' ')&&(tablica[7]=='X'))&&(tablica[8]=='X'))&&(wykonane==0)){
                           tablica[6]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //POZIOME - LINIA2
                       if((((tablica[3]=='X')&&(tablica[4]=='X'))&&(tablica[5]==' '))&&(wykonane==0)){
                           tablica[5]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[3]=='X')&&(tablica[4]==' '))&&(tablica[5]=='X'))&&(wykonane==0)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[3]==' ')&&(tablica[4]=='X'))&&(tablica[5]=='X'))&&(wykonane==0)){
                           tablica[3]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //POZIOME - LINIA3
                       if((((tablica[0]=='X')&&(tablica[1]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
                           tablica[2]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[0]=='X')&&(tablica[1]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[1]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[0]==' ')&&(tablica[1]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[0]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //PIONOWE - KOLUMNA1
                       if((((tablica[6]=='X')&&(tablica[3]=='X'))&&(tablica[0]==' '))&&(wykonane==0)){
                           tablica[0]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]=='X')&&(tablica[3]==' '))&&(tablica[0]=='X'))&&(wykonane==0)){
                           tablica[3]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]==' ')&&(tablica[3]=='X'))&&(tablica[0]=='X'))&&(wykonane==0)){
                           tablica[6]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //PIONOWE - KOLUMNA2
                       if((((tablica[7]=='X')&&(tablica[4]=='X'))&&(tablica[1]==' '))&&(wykonane==0)){
                           tablica[1]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[7]=='X')&&(tablica[4]==' '))&&(tablica[1]=='X'))&&(wykonane==0)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[7]==' ')&&(tablica[4]=='X'))&&(tablica[1]=='X'))&&(wykonane==0)){
                           tablica[7]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //PIONOWE - KOLUMNA3
                       if((((tablica[8]=='X')&&(tablica[5]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
                           tablica[2]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[8]=='X')&&(tablica[5]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[5]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[8]==' ')&&(tablica[5]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[8]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //UKOSNE - DOLNA-LEWA => GORNA PRAWA
                       if((((tablica[0]=='X')&&(tablica[4]=='X'))&&(tablica[8]==' '))&&(wykonane==0)){
                           tablica[8]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[0]=='X')&&(tablica[4]==' '))&&(tablica[8]=='X'))&&(wykonane==0)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[0]==' ')&&(tablica[4]=='X'))&&(tablica[8]=='X'))&&(wykonane==0)){
                           tablica[0]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //UKOSNE - GORNA-LEWA => DOLNA PRAWA
                       if((((tablica[6]=='X')&&(tablica[4]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
                           tablica[2]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]=='X')&&(tablica[4]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]==' ')&&(tablica[4]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[6]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //LOSOWE POLA
                       if(wykonane==0){
                           wyborkomputera=(rand()%9);
                           if (tablica[wyborkomputera]=='O'){
                               testwyboru=0;
                               wykonane=0;
                           }else{
                           if (tablica[wyborkomputera]=='X'){
                               testwyboru=0;
                               wykonane=0;
                           }else{
                           if (tablica[wyborkomputera]==' '){
                               tablica[wyborkomputera]='X';
                               testwyboru=1;
                               wykonane=1;
                           }
                           }
                           }}}}}}}}}}}}}}}}}}}}}}}}}}
    
                   }
               testwyboru=0;
               }}
    
               //WYBÓR POLA PRZEZ UZYTKOWNIKA
               if (pomijanie==0){
               if(tryb==DWUOSOBOWY){
                   testwyboru=0;
                   while((testwyboru==0)&&(granie==1)){
                   system("cls");
                   rysujtablice (tablica);
                   printf("Podaj numer pola do rysowania krzyzyka\nzgodnie z numeracja na klawiaturze numerycznej\ni zatwierdz uzywajac klawisza ENTER\n");
                   scanf("%d", &wyboruzytkownika);
                   wyboruzytkownika=wyboruzytkownika-1;
                   if (tablica[wyboruzytkownika]=='X'){
                       testwyboru=0;
                   }else{
                       if (tablica[wyboruzytkownika]=='O'){
                           testwyboru=0;
                       }else{
                           if (tablica[wyboruzytkownika]==' '){
                               tablica[wyboruzytkownika]='X';
                               testwyboru=1;
                           }}}
                   }
                   system("cls");
                   rysujtablice (tablica);
                   testwyboru=0;
    
    
                   }
                   }
               if (pomijanie==0){
               //SPRAWDZANIE
               wynik_testu=testowanie(tablica);
               if (wynik_testu!=0){
                   pomijanie=1;
                   poptryb=tryb;
                   tryb=KONCOWKA;
                   granie=0;
               }
               }
               wynik_testu=0;
           }
    
    
    
    
           //Wyswietlenie instrukcji obslugi
           while(tryb==INSTRUKCJA){
           system("cls");
           wybormenu=NIEAKTYWNY;
           intrukcja();
           scanf("%d",&wybormenu);
           if (wybormenu==9){
               menu=1;
               praca=1;
               granie=0;
               tryb=NIEAKTYWNY;
           }
    
    
           }
           //Menu koncowe
           if(tryb==KONCOWKA){
               //system("cls");
               koncowka1();
               if (wynik_testu==1){
                   if (tryb==DWUOSOBOWY){
                       printf("Wygral gracz 1\n");
                       printf("\n");
                   }else{
                       printf("Wygral uzytkownik \n");
                       printf("\n");
                   }
               }
               if (wynik_testu==2){
                   if (tryb==DWUOSOBOWY){
                       printf("Wygral gracz 2\n");
                       printf("\n");
                   }else{
                       printf("Wygral komputer \n");
                       printf("\n");
                   }
               }
               if (wynik_testu==3){
                       printf("REMIS - NASTAPELO PRZEPELNIENIE PLANSZY\n");
                       printf("UNIEMOZLIWIAJACE ROZSTRYGNIECIE WYNIKU\n");
    
               }
               koncowka2();
               scanf("%d",&wybormenu);
               if(wybormenu==0){
                   menu=1;
                   wynik_testu=0;
                   granie=0;
                   testwyboru=0;
                   tryb=NIEAKTYWNY;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==1){
                   menu=0;
                   zeruj (tablica);
                   granie=1;
                   wynik_testu=0;
                   pomijanie=0;
                   tryb=poptryb;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==9){
                   menu=0;
                   granie=0;
                   praca=0;
                   tryb=NIEAKTYWNY;
                   wybormenu=NIEAKTYWNY;
               }
           }
    
    
    
    
    
    
    
    
    
       }
    
    return 0;
    }
    
    
    //FUNKCJE
    
    void funkcjamenu(){
       printf("*****************************************\n");
       printf("    Program do gry w kolko i krzyzyk\n");
       printf("              Wersja V2.0\n");
       printf("                                    \n");
       printf("\n");
       printf("Wpisz numer opcji i nacisnij klawsz ENTER\n");
       printf("                 OPCJE\n");
       printf("1-rozgrywka w zwyklym trybie\n");
       printf("2-rozgrywka w trybie uproszczonym\n");
       printf("3-rozgrywka z opoznionym startem\n");
       printf("4-rozgrywka w trybie dwuosobowym\n");
       printf("9-wyswietlenie instrukcji obslugi\n");
       printf("0-zakonczenie programu\n");
    
       printf("\n");
    
    }
    
    void rysujtablice(char *tablica){
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[6],tablica[7],tablica[8]);
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[3],tablica[4],tablica[5]);
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[0],tablica[1],tablica[2]);
    printf("+-+-+-+\n");
    }
    
    void zeruj(char *tablica){
       int licznik;
       licznik=0;
       while(licznik<9){
           tablica[licznik]=' ';
           licznik=licznik+1;
    
       }
    
    }
    
    void intrukcja(){
       printf("*****************************************\n");
       printf("            INSTRUKCJA OBSLUGI\n");
       printf("*****************************************\n");
       printf("    Program do gry w kolko i krzyzyk\n");
       printf("\n");
       printf("TEKST INSTRUKCJI\n");
       printf("\n");
       printf("nacisnij klawisz 9 i zatwierdz klawiszem\n");
       printf("ENTER, aby powrocic do glownego MENU\n");
    
    }
    
    int testowanie(char *tablica){
       int wynik_testu=0;
       char wygrana;
       int licznik=0;
       int zajete_pola=0;
       //KONTROLA PRZEPELNIENIA <= WYLACZONA
       //while(licznik<9){
       //    if (tablica[licznik]!=' '){
       //        zajete_pola=zajete_pola+1;
       //    }
       //    licznik=licznik+1;
       //}
       //if(zajete_pola==9){
       //    wynik_testu=3;
       //}
    
    
    
    
       //POZIOME
             if ( tablica[0]!=' ' && tablica[0]==tablica[1] && tablica[0]==tablica[2] ){
               wygrana=tablica[0];
       }else if ( tablica[3]!=' ' && tablica[3]==tablica[4] && tablica[3]==tablica[5] ){
           wygrana=tablica[3];
       }else if ( tablica[6]!=' ' && tablica[6]==tablica[7] && tablica[6]==tablica[8] ){
           wygrana=tablica[6];
    
       //PIONOWE
       }else if ( tablica[6]!=' ' && tablica[6]==tablica[3] && tablica[6]==tablica[0] ){
           wygrana=tablica[6];
       }else if ( tablica[7]!=' ' && tablica[7]==tablica[4] && tablica[7]==tablica[1] ){
           wygrana=tablica[7];
       }else if ( tablica[8]!=' ' && tablica[8]==tablica[5] && tablica[8]==tablica[2] ){
           wygrana=tablica[8];
    
       //UKOSNE
       }else if ( tablica[6]!=' ' && tablica[6]==tablica[4] && tablica[6]==tablica[2] ){
           wygrana=tablica[6];
       }else if ( tablica[8]!=' ' && tablica[8]==tablica[4] && tablica[8]==tablica[0] ){
           wygrana=tablica[8];
       }
    
    
    
    
    
    
            if (wygrana=='O'){
           wynik_testu=1;
       }
       else if (wygrana=='X'){
           wynik_testu=2;
       }
    
    
       return wynik_testu;
    }
    
    void koncowka1(){
       printf("*****************************************\n");
       printf("                KONIEC GRY\n");
       printf("*****************************************\n");
    
    
    }
    
    void koncowka2(){
       printf("Wpisz numer opcji i nacisnij klawsz ENTER\n");
       printf("                 OPCJE\n");
       printf("0-Powrot do menu programu\n");
       printf("1-Rozpoczecie kolejnej rundy\n");
       printf("9-Zakonczenie pracy programu\n");
    }
    


  12. Czyli mam utworzyć zmienną zawierającą informacje o bieżącym stanie gry.

    Może być enum'em jak wyżej ^

    albo int/char i wartości:

    0 - rozgrywka trwa

    1 - wygrał gracz 1

    2 - wygrał gracz 2

    3 - remis/przepełnienie

     

    ????

     

    Może najlepiej zrobić tak, aby funkcja pierw sprawdzała przepełnienie, a potem czy ktoś wygrał?

    Jak najlepiej zrobić kod sprawdzania, czy są takie same znaki?


  13. Ludzie...

     

    Przecież brakuje tylko funkcji sprawdzania czy ktoś wygrał i czy tablica nie jest przepełniona...

    Zamierzam te funkcje napisać od zera.

    To co było wcześniej w funkcjach nadal w nich jest.

     

    Ps. Jak Waszym zdaniem najlepiej zrobić to sprawdzanie czy ktoś wygrł/czy tablica nie jest przepełniona?

     

    Ps. A jak ze stylem? Starałem się lepiej zaznaczyć pętle.


  14. Dzień dobry.

     

    Postanowiłem napisać program "prawie od zera".

    Na razie nie ma jeszcze funkcji sprawdzania, czy ktoś wygrał ani menu końcowego po zakończeniu rundy.

    Teraz lepiej zaznaczyłem pętle i zastosowałe "if ... else"

     

    Co sądzicie?

    Jak najlepiej zrobić sprawdzanie, czy ktoś wygrał?

    !uwaga! - długi kod

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    //WYBORY
    #define NIEAKTYWNY 8
    #define ZWYKLY 1
    #define UPROSZCZONY 2
    #define POZNYSTART 3
    #define DWUOSOBOWY 4
    #define INSTRUKCJA 9
    #define POWROT 0
    
    //Urzytkownik gra kolkami (O), program zas krzyzykami (X)
    //
    //WERSCJA V2.0
    //01.06.2020
    
    
    //FUNKCJE
    void funkcjamenu();
    void rysujtablice(tablica);
    void zeruj(tablica);
    void intrukcja();
    
    int main (void){
       int praca=1;//Sterowanie glowną petla programu 1-PRACA 2-ZAKONCZENIE
       int menu=1;
       int wybormenu=NIEAKTYWNY;
       int wyborkoncowy=NIEAKTYWNY;
       int granie=0;//Petla z samym algorytmem gry
       int tryb;
       int testwyboru=0;
       char tablica[9];
       int wyboruzytkownika;
       int wykonane;
       int wyborkomputera;
    
       while(praca==1){//Główna pętla programu
           zeruj (tablica);
           //MENU
           while(menu==1){
               system("cls");
               funkcjamenu();
               scanf("%d",&wybormenu);
               if(wybormenu==ZWYKLY){
                   menu=0;
                   granie=1;
                   praca=1;
                   tryb=ZWYKLY;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==INSTRUKCJA){
                   menu=0;
                   granie=0;
                   tryb=INSTRUKCJA;
                   wybormenu=NIEAKTYWNY;
               }
               if(wybormenu==POWROT){
                   praca=0;
                   granie=0;
                   wybormenu=NIEAKTYWNY;
                   tryb=NIEAKTYWNY;
               }
    
           }
    
           //Pętla gry
           while (granie==1){
               system("cls");
    
               //WYBÓR POLA PRZEZ UZYTKOWNIKA
               testwyboru=0;
               while((testwyboru==0)&&(granie==1)){
                   system("cls");
                   rysujtablice (tablica);
                   printf("Podaj numer pola do rysowania kolka\nzgodnie z numeracja na klawiaturze numerycznej\ni zatwierdz uzywajac klawisza ENTER\n");
                   scanf("%d", &wyboruzytkownika);
                   wyboruzytkownika=wyboruzytkownika-1;
                   if (tablica[wyboruzytkownika]=='O'){
                       testwyboru=0;
                   }else{
                       if (tablica[wyboruzytkownika]=='X'){
                           testwyboru=0;
                       }else{
                           if (tablica[wyboruzytkownika]==' '){
                               tablica[wyboruzytkownika]='O';
                               testwyboru=1;
                           }}}
               }
               system("cls");
               rysujtablice (tablica);
               testwyboru=0;
    
    
               //SPRAWDZANIE
    
               //LOSOWANIE AUTOMATYCZNE
               if(tryb!=DWUOSOBOWY){
                   testwyboru=0;
                   while((testwyboru==0)&&(granie==1)){
                       wykonane=0;
                       //POZIOME - LINIA1
                       if((((tablica[6]=='X')&&(tablica[7]=='X'))&&(tablica[8]==' '))&&(wykonane==0)){
                           tablica[8]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]=='X')&&(tablica[7]==' '))&&(tablica[8]=='X'))&&(wykonane==0)){
                           tablica[7]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]==' ')&&(tablica[7]=='X'))&&(tablica[8]=='X'))&&(wykonane==0)){
                           tablica[6]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //POZIOME - LINIA2
                       if((((tablica[3]=='X')&&(tablica[4]=='X'))&&(tablica[5]==' '))&&(wykonane==0)){
                           tablica[5]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[3]=='X')&&(tablica[4]==' '))&&(tablica[5]=='X'))&&(wykonane==0)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[3]==' ')&&(tablica[4]=='X'))&&(tablica[5]=='X'))&&(wykonane==0)){
                           tablica[3]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //POZIOME - LINIA3
                       if((((tablica[0]=='X')&&(tablica[1]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
                           tablica[2]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[0]=='X')&&(tablica[1]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[1]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[0]==' ')&&(tablica[1]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[0]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //PIONOWE - KOLUMNA1
                       if((((tablica[6]=='X')&&(tablica[3]=='X'))&&(tablica[0]==' '))&&(wykonane==0)){
                           tablica[0]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]=='X')&&(tablica[3]==' '))&&(tablica[0]=='X'))&&(wykonane==0)){
                           tablica[3]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]==' ')&&(tablica[3]=='X'))&&(tablica[0]=='X'))&&(wykonane==0)){
                           tablica[6]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //PIONOWE - KOLUMNA2
                       if((((tablica[7]=='X')&&(tablica[4]=='X'))&&(tablica[1]==' '))&&(wykonane==0)){
                           tablica[1]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[7]=='X')&&(tablica[4]==' '))&&(tablica[1]=='X'))&&(wykonane==0)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[7]==' ')&&(tablica[4]=='X'))&&(tablica[1]=='X'))&&(wykonane==0)){
                           tablica[7]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //PIONOWE - KOLUMNA3
                       if((((tablica[8]=='X')&&(tablica[5]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
                           tablica[2]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[8]=='X')&&(tablica[5]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[5]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[8]==' ')&&(tablica[5]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[8]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //UKOSNE - DOLNA-LEWA => GORNA PRAWA
                       if((((tablica[0]=='X')&&(tablica[4]=='X'))&&(tablica[8]==' '))&&(wykonane==0)){
                           tablica[8]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[0]=='X')&&(tablica[4]==' '))&&(tablica[8]=='X'))&&(wykonane==0)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[0]==' ')&&(tablica[4]=='X'))&&(tablica[8]=='X'))&&(wykonane==0)){
                           tablica[0]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //UKOSNE - GORNA-LEWA => DOLNA PRAWA
                       if((((tablica[6]=='X')&&(tablica[4]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
                           tablica[2]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]=='X')&&(tablica[4]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[4]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       if((((tablica[6]==' ')&&(tablica[4]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
                           tablica[6]='X';
                           wykonane=1;
                           testwyboru=1;
                       }else{
                       //=============================================================================
                       //LOSOWE POLA
                       if(wykonane==0){
                           wyborkomputera=(rand()%9);
                           if (tablica[wyborkomputera]=='O'){
                               testwyboru=0;
                               wykonane=0;
                           }else{
                           if (tablica[wyborkomputera]=='X'){
                               testwyboru=0;
                               wykonane=0;
                           }else{
                           if (tablica[wyborkomputera]==' '){
                               tablica[wyborkomputera]='X';
                               testwyboru=1;
                               wykonane=1;
                           }
                           }
                           }}}}}}}}}}}}}}}}}}}}}}}}}}
    
                   }
               testwyboru=0;
               }
    
               //WYBÓR POLA PRZEZ UZYTKOWNIKA
               if(tryb==DWUOSOBOWY){
                   testwyboru=0;
                   while((testwyboru==0)&&(granie==1)){
                   system("cls");
                   rysujtablice (tablica);
                   printf("Podaj numer pola do rysowania krzyzyka\nzgodnie z numeracja na klawiaturze numerycznej\ni zatwierdz uzywajac klawisza ENTER\n");
                   scanf("%d", &wyboruzytkownika);
                   wyboruzytkownika=wyboruzytkownika-1;
                   if (tablica[wyboruzytkownika]=='X'){
                       testwyboru=0;
                   }else{
                       if (tablica[wyboruzytkownika]=='O'){
                           testwyboru=0;
                       }else{
                           if (tablica[wyboruzytkownika]==' '){
                               tablica[wyboruzytkownika]='X';
                               testwyboru=1;
                           }}}
                   }
                   system("cls");
                   rysujtablice (tablica);
                   testwyboru=0;
    
    
                   }
    
               //SPRAWDZANIE
           }
    
           //Wyswietlenie instrukcji obslugi
           while(tryb==INSTRUKCJA){
           system("cls");
           wybormenu=NIEAKTYWNY;
           intrukcja();
           scanf("%d",&wybormenu);
           if (wybormenu==9){
               menu=1;
               praca=1;
               granie=0;
               tryb=NIEAKTYWNY;
           }
    
    
           }
    
    
    
    
    
    
    
    
    
    
    
       }
    
    
    }
    
    
    //FUNKCJE
    
    void funkcjamenu(){
       printf("*****************************************\n");
       printf("    Program do gry w kolko i krzyzyk\n");
       printf("              Wersja V1.2\n");
       printf("                                    \n");
       printf("\n");
       printf("Wpisz numer opcji i nacisnij klawsz ENTER\n");
       printf("                 OPCJE\n");
       printf("1-rozgrywka w zwyklym trybie\n");
       printf("2-rozgrywka w trybie uproszczonym\n");
       printf("3-rozgrywka z opoznionym startem\n");
       printf("4-rozgrywka w trybie dwuosobowym\n");
       printf("9-wyswietlenie instrukcji obslugi\n");
       printf("0-zakonczenie programu\n");
    
       printf("\n");
    
    }
    
    void rysujtablice(char *tablica){
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[6],tablica[7],tablica[8]);
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[3],tablica[4],tablica[5]);
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[0],tablica[1],tablica[2]);
    printf("+-+-+-+\n");
    }
    
    void zeruj(char *tablica){
       int licznik;
       licznik=0;
       while(licznik<9){
           tablica[licznik]=' ';
           licznik=licznik+1;
    
       }
    
    }
    
    void intrukcja(){
       printf("*****************************************\n");
       printf("            INSTRUKCJA OBSLUGI\n");
       printf("*****************************************\n");
       printf("    Program do gry w kolko i krzyzyk\n");
       printf("\n");
       printf("TEKST INSTRUKCJI\n");
       printf("\n");
       printf("nacisnij klawisz 9 i zatwierdz klawiszem\n");
       printf("ENTER, aby powrocic do glownego MENU\n");
    
    }
    

     

    PS. Tak, będzie tryb dwuosobowy.


  15. Przed wylosowaniem pierwszej liczby tworzysz tablicę. (Może mieć dynamicznie przydzielaną wielkość)

     

    Pierwszą liczbę normalnie losujesz i od razu wstawiasz do tablicy.

     

    Dla drugiej i każdej następnej wykorzystujesz taki algorytm.

     

    1)Losujesz liczbę

    2)Za pomocą pętli sprawdzasz, czy w tablicy nie ma już takiej samej (równej wylosowanej) liczby

    3)Jeżeli była już ta sama liczba to przechodzisz do punktu nr 1 w tym algorytmie

    4)Jeżeli nie było już takiej samej liczby to wstawiasz wylosowaną do tablicy

     

    Ogólnie to musisz zastosować 2 pętle albo 1 pętlę i intrukcję skoku goto.

     

    Jeżeli losujesz liczby z jakiegoś konkretnego przedziału to możesz utworzyć tablicę pomocniczą dwuwymiarową (macierz)

    W pierwszym wierszu dostępne do losowania liczby, w liczby opisujące występowanie.

    Tutaj algorytm będzie taki.

     

    1)Losujesz liczbę

    2)Za pomocą pętli sprawdzasz, czy w pole w tablicy o współrzędnych [liczba][1] ma wartość 0

    3)Jeżeli ma wartość 0 to powiększasz wartość o 1 i dodajesz liczbę do tablicy wyjściowej

    4)Jeżeli ma wartość różną od 0 to wracasz do punktu nr 1 w tym algorytmie.

     

     

    Ogólnie to można zrobić na kilka, jeżeli nie kilkanaście sposobów. - Z tablicą pomocniczą lub bez niej.

     

    uwaga Tablice w C/C++ są indeksowane od 0.

     

    W tym drugim algorytmie to np. lewe górne pole to współrzędne [0][0]

     

    Edit: Samo losowanie można zrobić pobierając czas systemowy jako ziarno ciągu pseudolosowaego i brać liczby z tego ciągu. Tak najprościej.


  16. Przepraszam za double post, ale bardzo proszę o pomoc.

    Może znajdzie się jakaś pomocna dłoń, która naprawi ten remis i te nieszczęsne pętle nieskończone.

    Ps. jak załączyć debugger w CodeBlocks?


  17. Linie 265 - 266. Teraz lepiej?

     

    if(testkomputera(tablica)!=0){

    kontrola=(testkomputera(tablica)+1);}

     

    edit: dalej może pojawić się pętla nieskończona. Remis czasem wyświetla się przy niepełnej planszy.

    Ps. kod bez modyfikacji Pana Makatak'a. (chyba - miałem mały młyn z plikami...)

    Pps.wklejam kod. Może potem dodam to else

     

    
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    //Urzytkownik gra kó³kami (O), program zaœ krzy¿ykami (X)
    //
    //WERSCJA V1.2
    //27.05.2020
    void rysujtablice(tablica);
    void zeruj(tablica);
    int testurzytkownika(tablica);
    int testkomputera(tablica);
    int pelna(tablica);
    void menu();
    void intrukcja();
    
    
    int main (void){
    
    int wyboruzytkownika;
    int wyborkomputera;
    int testwyboru;
    int granie;
    int kontrola;
    int rozrywka;
    int pelnaplansza;
    int tryb;
    int praca;
    int wyborkoncowy;
    int wybormenu;
    int wykonane;
    int tab;
    granie=1;
    kontrola=0;
    rozrywka=1;
    pelnaplansza=0;
    tryb=0;
    praca=1;
    wyborkoncowy=8;
    wybormenu=8;
    wykonane=0;
    tab=0;
    while(praca==1){
    if(tryb==0){
       menu();
       scanf("%d",&wybormenu);
       if(wybormenu==1){
           granie=1;
           praca=1;
           tryb=1;
           rozrywka=1;
           wybormenu=8;
       }
       if(wybormenu==9){
           tryb=9;
           wybormenu=8;
       }
       if(wybormenu==0){
           praca=0;
           granie=0;
           rozrywka=0;
           wybormenu=8;
           tryb=8;
       }
    }
    while(tryb==9){
       system("cls");
       wybormenu=8;
       intrukcja();
       scanf("%d",&wybormenu);
       if (wybormenu==9){
       granie=0;
       praca=1;
       tryb=0;
       rozrywka=0;
       pelnaplansza=0;
       system("cls");
    }
    
    }
    
    
    while(tryb==1){
    
    char tablica[9];
    while(rozrywka==1){
    srand(time(0));
    zeruj (tablica);
    
    system("cls");
    rysujtablice (tablica);
    
    
    while(granie==1){wyborkoncowy=8;
    //WYBÓR POLA PRZEZ URZYTKOWNIKA
    testwyboru=0;
    while(testwyboru==0){
    printf("Podaj numer pola do rysowania kolka\nzgodnie z numeracja na klawiaturze numerycznej\ni zatwierdz uzywajac klawisza ENTER\n");
    scanf("%d", &wyboruzytkownika);
    wyboruzytkownika=wyboruzytkownika-1;
    if (tablica[wyboruzytkownika]=='O'){
      testwyboru=0;
      }
    if (tablica[wyboruzytkownika]=='X'){
       testwyboru=0;
    }
    if (tablica[wyboruzytkownika]==' '){
       tablica[wyboruzytkownika]='O';
       testwyboru=1;
    }
    }
    system("cls");
    rysujtablice (tablica);
    
    //SPRAWDZANIE
    tab=(pelna(tablica));
    if (tab==1){
       kontrola=3;
    }
    kontrola=testurzytkownika(tablica);
    if(kontrola==1){
       granie=0;
    }
    
    //LOSOWANIE AUTOMATYCZNE
    if(granie==1){
    system("cls");
    testwyboru=0;
    while(testwyboru==0){
       wykonane=0;
       //POZIOME - LINIA1
       if((((tablica[6]=='X')&&(tablica[7]=='X'))&&(tablica[8]==' '))&&(wykonane==0)){
           tablica[8]='X';
           wykonane=1;
       }
       if((((tablica[6]=='X')&&(tablica[7]==' '))&&(tablica[8]=='X'))&&(wykonane==0)){
           tablica[7]='X';
           wykonane=1;
       }
       if((((tablica[6]==' ')&&(tablica[7]=='X'))&&(tablica[8]=='X'))&&(wykonane==0)){
           tablica[6]='X';
           wykonane=1;
       }
       //POZIOME - LINIA2
       if((((tablica[3]=='X')&&(tablica[4]=='X'))&&(tablica[5]==' '))&&(wykonane==0)){
           tablica[5]='X';
           wykonane=1;
       }
       if((((tablica[3]=='X')&&(tablica[4]==' '))&&(tablica[5]=='X'))&&(wykonane==0)){
           tablica[4]='X';
           wykonane=1;
       }
       if((((tablica[3]==' ')&&(tablica[4]=='X'))&&(tablica[5]=='X'))&&(wykonane==0)){
           tablica[3]='X';
           wykonane=1;
       }
       //POZIOME - LINIA3
       if((((tablica[0]=='X')&&(tablica[1]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
           tablica[2]='X';
           wykonane=1;
       }
       if((((tablica[0]=='X')&&(tablica[1]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[1]='X';
           wykonane=1;
       }
       if((((tablica[0]==' ')&&(tablica[1]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[0]='X';
           wykonane=1;
       }
       //=============================================================================
       //PIONOWE - KOLUMNA1
       if((((tablica[6]=='X')&&(tablica[3]=='X'))&&(tablica[0]==' '))&&(wykonane==0)){
           tablica[0]='X';
           wykonane=1;
       }
       if((((tablica[6]=='X')&&(tablica[3]==' '))&&(tablica[0]=='X'))&&(wykonane==0)){
           tablica[3]='X';
           wykonane=1;
       }
       if((((tablica[6]==' ')&&(tablica[3]=='X'))&&(tablica[0]=='X'))&&(wykonane==0)){
           tablica[6]='X';
           wykonane=1;
       }
       //PIONOWE - KOLUMNA2
       if((((tablica[7]=='X')&&(tablica[4]=='X'))&&(tablica[1]==' '))&&(wykonane==0)){
           tablica[1]='X';
           wykonane=1;
       }
       if((((tablica[7]=='X')&&(tablica[4]==' '))&&(tablica[1]=='X'))&&(wykonane==0)){
           tablica[4]='X';
           wykonane=1;
       }
       if((((tablica[7]==' ')&&(tablica[4]=='X'))&&(tablica[1]=='X'))&&(wykonane==0)){
           tablica[7]='X';
           wykonane=1;
       }
       //PIONOWE - KOLUMNA3
       if((((tablica[8]=='X')&&(tablica[5]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
           tablica[2]='X';
           wykonane=1;
       }
       if((((tablica[8]=='X')&&(tablica[5]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[5]='X';
           wykonane=1;
       }
       if((((tablica[8]==' ')&&(tablica[5]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[8]='X';
           wykonane=1;
       }
       //=============================================================================
       //UKOSNE - DOLNA-LEWA => GORNA PRAWA
       if((((tablica[0]=='X')&&(tablica[4]=='X'))&&(tablica[8]==' '))&&(wykonane==0)){
           tablica[8]='X';
           wykonane=1;
       }
       if((((tablica[0]=='X')&&(tablica[4]==' '))&&(tablica[8]=='X'))&&(wykonane==0)){
           tablica[4]='X';
           wykonane=1;
       }
       if((((tablica[0]==' ')&&(tablica[4]=='X'))&&(tablica[8]=='X'))&&(wykonane==0)){
           tablica[0]='X';
           wykonane=1;
       }
       //=============================================================================
       //UKOSNE - GORNA-LEWA => DOLNA PRAWA
       if((((tablica[6]=='X')&&(tablica[4]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
           tablica[2]='X';
           wykonane=1;
       }
       if((((tablica[6]=='X')&&(tablica[4]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[4]='X';
           wykonane=1;
       }
       if((((tablica[6]==' ')&&(tablica[4]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[6]='X';
           wykonane=1;
       }
       //=============================================================================
       //LOSOWE POLA
       if(wykonane==0){
       wyborkomputera=(rand()%9);
       if (tablica[wyborkomputera]=='O'){
           testwyboru=0;
           wykonane=0;
       }
       if (tablica[wyborkomputera]=='X'){
           testwyboru=0;
           wykonane=0;
       }
       if (tablica[wyborkomputera]==' '){
           tablica[wyborkomputera]='X';
           testwyboru=1;
           wykonane=1;
       }
       }
       //tablica[wyborkomputera]='X';
    
    }
    
    
    rysujtablice (tablica);
    }
    if(granie==1){
    //SPRAWDZANIE
    tab=(pelna(tablica));
    if (tab==1){
       kontrola=3;
    }if(testkomputera(tablica)!=0){
    kontrola=(testkomputera(tablica)+1);}
    if(kontrola==2){
       granie=0;
    }
    }
    }
    
    if(kontrola==1){
       printf("Wygral urzytkownik");
       tryb=8;
    }
    if(kontrola==2){
       printf("Wygral komputer");
       tryb=8;
    }
    if(kontrola==3){
       printf("REMIS\n");
       printf("Nastompilo wypelnienie planszy uniemozliwiajace rozstrygniecie rozgrywki\n");
       tryb=8;
    }
    printf("\n");
    printf("Czy rozegrac jeszcze jedna runde?\n");
    printf("Podaj opcje i nacisnij ENTER\n");
    printf("1-kolejna runda\n");
    printf("0-zakonczenie pracy programu\n");
    printf("9-powrot do glownego menu\n");
    
    scanf("%d", &wyborkoncowy);
    if(wyborkoncowy==1){
       granie=1;
       praca=1;
       tryb=1;
       pelnaplansza=0;
       kontrola=0;
       testwyboru=0;
       wykonane=0;
       tab=0;
       zeruj (tablica);
       wyborkoncowy=8;
    }
    if (wyborkoncowy==0){
       praca=0;
       granie=0;
       rozrywka=0;
       pelnaplansza=0;
    }
    if (wyborkoncowy==9){
       granie=0;
       praca=1;
       tryb=0;
       rozrywka=0;
       pelnaplansza=0;
       kontrola=0;
       tab=0;
       wyborkoncowy=8;
       system("cls");
    }
    
    //kontrola=0;
    }
    }
    }
    
    return 0;
    }
    
    //funkcje
    void rysujtablice(char *tablica){
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[6],tablica[7],tablica[8]);
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[3],tablica[4],tablica[5]);
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[0],tablica[1],tablica[2]);
    printf("+-+-+-+\n");
    }
    
    void zeruj(char *tablica){
       int licznik;
       licznik=0;
       while(licznik<9){
           tablica[licznik]=' ';
           licznik=licznik+1;
    
       }
    
    }
    
    int testurzytkownika(char *tablica){
       int wynik;
       //poziome
       if (((tablica[6]=='O')&&(tablica[7]=='O'))&&(tablica[8]=='O')){
           wynik=1;
       }
       if (((tablica[3]=='O')&&(tablica[4]=='O'))&&(tablica[5]=='O')){
           wynik=1;
       }
       if (((tablica[0]=='O')&&(tablica[1]=='O'))&&(tablica[2]=='O')){
           wynik=1;
       }
    
       //pionowe
       if (((tablica[6]=='O')&&(tablica[3]=='O'))&&(tablica[0]=='O')){
           wynik=1;
       }
       if (((tablica[7]=='O')&&(tablica[4]=='O'))&&(tablica[1]=='O')){
           wynik=1;
       }
       if (((tablica[8]=='O')&&(tablica[5]=='O'))&&(tablica[2]=='O')){
           wynik=1;
       }
    
       //ukoœne
       if (((tablica[6]=='O')&&(tablica[4]=='O'))&&(tablica[2]=='O')){
           wynik=1;
       }
       if (((tablica[0]=='O')&&(tablica[4]=='O'))&&(tablica[8]=='O')){
           wynik=1;
       }
    
       return wynik;
    
    }
    
    int testkomputera(char *tablica){
       int wynik;
       //poziome
       if (((tablica[6]=='X')&&(tablica[7]=='X'))&&(tablica[8]=='X')){
           wynik=1;
       }
       if (((tablica[3]=='X')&&(tablica[4]=='X'))&&(tablica[5]=='X')){
           wynik=1;
       }
       if (((tablica[0]=='X')&&(tablica[1]=='X'))&&(tablica[2]=='X')){
           wynik=1;
       }
    
       //pionowe
       if (((tablica[6]=='X')&&(tablica[3]=='X'))&&(tablica[0]=='X')){
           wynik=1;
       }
       if (((tablica[7]=='X')&&(tablica[4]=='X'))&&(tablica[1]=='X')){
           wynik=1;
       }
       if (((tablica[8]=='X')&&(tablica[5]=='X'))&&(tablica[2]=='X')){
           wynik=1;
       }
    
       //ukoœne
       if (((tablica[6]=='X')&&(tablica[4]=='X'))&&(tablica[2]=='X')){
           wynik=1;
       }
       if (((tablica[0]=='X')&&(tablica[4]=='X'))&&(tablica[8]=='X')){
           wynik=1;
       }
    
       return wynik;
    
    }
    int pelna(char *tablica){
    
       int wynik;
       int licznik;
       int test;
       licznik=0;
       test=0;
       wynik=0;
       while(licznik<9){
           if(tablica[licznik]=='X')
           {
               test=test+1;
           }
           if(tablica[licznik]=='O')
           {
               test=test+1;
           }
           licznik=licznik+1;
       }
       if(test==9){
           wynik=1;
       }else{wynik=0;}
    
       return wynik;
    
    }
    
    void menu(){
       printf("*****************************************\n");
       printf("    Program do gry w kolko i krzyzyk\n");
       printf("              Wersja V1.2\n");
       printf("                                    \n");
       printf("\n");
       printf("Wpisz numer opcji i nacisnij klawsz ENTER\n");
       printf("                 OPCJE\n");
       printf("1-rozgrywka\n");
       printf("9-wyswietlenie instrukcji obslugi\n");
       printf("0-zakonczenie programu\n");
    
       printf("\n");
    
    }
    void intrukcja(){
       printf("*****************************************\n");
       printf("            INSTRUKCJA OBSLUGI\n");
       printf("*****************************************\n");
       printf("    Program do gry w kolko i krzyzyk\n");
       printf("\n");
       printf("TEKST INSTRUKCJI\n");
       printf("\n");
       printf("nacisnij klawisz 9 i zatwierdz klawiszem\n");
       printf("ENTER, aby powrocic do glownego MENU\n");
    
    }
    
    
    

     

    Bardzo proszę o pomoc


  18. Zmodyfikowałem nieco kod - dodałem wspomniane else (nie wiem czy dobrze) oraz "wyłączyłem" czyszczenie ekranu (zanki//). Błąd z pętlą nieskończoną zdarza się tylko przy wyborze kolejnej rundy tj. nigdy nie występuje w czasie trwania pierwszej rundy. Czasem ta pętla nieskończona występuje od razu po zatwierdzeniu nowej rundy, a czasami po zatwierdzeniu przez użytkownika pola. Wklejam kod:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    //Urzytkownik gra kó³kami (O), program zaœ krzy¿ykami (X)
    //
    //WERSCJA V1.2
    //27.05.2020
    void rysujtablice(tablica);
    void zeruj(tablica);
    int testurzytkownika(tablica);
    int testkomputera(tablica);
    int pelna(tablica);
    void menu();
    void intrukcja();
    
    
    int main (void){
    
    int wyboruzytkownika;
    int wyborkomputera;
    int testwyboru;
    int granie;
    int kontrola;
    int rozrywka;
    int pelnaplansza;
    int tryb;
    int praca;
    int wyborkoncowy;
    int wybormenu;
    int wykonane;
    int tab;
    granie=1;
    kontrola=0;
    rozrywka=1;
    pelnaplansza=0;
    tryb=0;
    praca=1;
    wyborkoncowy=8;
    wybormenu=8;
    wykonane=0;
    tab=0;
    while(praca==1){
    if(tryb==0){
       menu();
       scanf("%d",&wybormenu);
       if(wybormenu==1){
           granie=1;
           praca=1;
           tryb=1;
           rozrywka=1;
           wybormenu=8;
       }
       if(wybormenu==9){
           tryb=9;
           wybormenu=8;
       }
       if(wybormenu==0){
           praca=0;
           granie=0;
           rozrywka=0;
           wybormenu=8;
           tryb=8;
       }
    }
    while(tryb==9){
       //system("cls");
       wybormenu=8;
       intrukcja();
       scanf("%d",&wybormenu);
       if (wybormenu==9){
       granie=0;
       praca=1;
       tryb=0;
       rozrywka=0;
       pelnaplansza=0;
       //system("cls");
    }
    
    }
    
    
    while(tryb==1){
    
    char tablica[9];
    while(rozrywka==1){
    srand(time(0));
    zeruj (tablica);
    
    //system("cls");
    rysujtablice (tablica);
    
    
    while(granie==1){wyborkoncowy=8;
    //WYBÓR POLA PRZEZ URZYTKOWNIKA
    testwyboru=0;
    while(testwyboru==0){
    printf("Podaj numer pola do rysowania kolka\nzgodnie z numeracja na klawiaturze numerycznej\ni zatwierdz uzywajac klawisza ENTER\n");
    scanf("%d", &wyboruzytkownika);
    wyboruzytkownika=wyboruzytkownika-1;
    if (tablica[wyboruzytkownika]=='O'){
      testwyboru=0;
      }else{
    if (tablica[wyboruzytkownika]=='X'){
       testwyboru=0;
    }else{
    if (tablica[wyboruzytkownika]==' '){
       tablica[wyboruzytkownika]='O';
       testwyboru=1;
    }}}
    }
    //system("cls");
    rysujtablice (tablica);
    
    //SPRAWDZANIE
    tab=(pelna(tablica));
    if (tab==1){
       kontrola=3;
    }
    kontrola=testurzytkownika(tablica);
    if(kontrola==1){
       granie=0;
    }
    
    //LOSOWANIE AUTOMATYCZNE
    if(granie==1){
    //system("cls");
    testwyboru=0;
    while(testwyboru==0){
       wykonane=0;
       //POZIOME - LINIA1
       if((((tablica[6]=='X')&&(tablica[7]=='X'))&&(tablica[8]==' '))&&(wykonane==0)){
           tablica[8]='X';
           wykonane=1;
       }else{
       if((((tablica[6]=='X')&&(tablica[7]==' '))&&(tablica[8]=='X'))&&(wykonane==0)){
           tablica[7]='X';
           wykonane=1;
       }else{
       if((((tablica[6]==' ')&&(tablica[7]=='X'))&&(tablica[8]=='X'))&&(wykonane==0)){
           tablica[6]='X';
           wykonane=1;
       }else{
       //POZIOME - LINIA2
       if((((tablica[3]=='X')&&(tablica[4]=='X'))&&(tablica[5]==' '))&&(wykonane==0)){
           tablica[5]='X';
           wykonane=1;
       }else{
       if((((tablica[3]=='X')&&(tablica[4]==' '))&&(tablica[5]=='X'))&&(wykonane==0)){
           tablica[4]='X';
           wykonane=1;
       }else{
       if((((tablica[3]==' ')&&(tablica[4]=='X'))&&(tablica[5]=='X'))&&(wykonane==0)){
           tablica[3]='X';
           wykonane=1;
       }else{
       //POZIOME - LINIA3
       if((((tablica[0]=='X')&&(tablica[1]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
           tablica[2]='X';
           wykonane=1;
       }else{
       if((((tablica[0]=='X')&&(tablica[1]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[1]='X';
           wykonane=1;
       }else{
       if((((tablica[0]==' ')&&(tablica[1]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[0]='X';
           wykonane=1;
       }else{
       //=============================================================================
       //PIONOWE - KOLUMNA1
       if((((tablica[6]=='X')&&(tablica[3]=='X'))&&(tablica[0]==' '))&&(wykonane==0)){
           tablica[0]='X';
           wykonane=1;
       }else{
       if((((tablica[6]=='X')&&(tablica[3]==' '))&&(tablica[0]=='X'))&&(wykonane==0)){
           tablica[3]='X';
           wykonane=1;
       }else{
       if((((tablica[6]==' ')&&(tablica[3]=='X'))&&(tablica[0]=='X'))&&(wykonane==0)){
           tablica[6]='X';
           wykonane=1;
       }else{
       //PIONOWE - KOLUMNA2
       if((((tablica[7]=='X')&&(tablica[4]=='X'))&&(tablica[1]==' '))&&(wykonane==0)){
           tablica[1]='X';
           wykonane=1;
       }else{
       if((((tablica[7]=='X')&&(tablica[4]==' '))&&(tablica[1]=='X'))&&(wykonane==0)){
           tablica[4]='X';
           wykonane=1;
       }else{
       if((((tablica[7]==' ')&&(tablica[4]=='X'))&&(tablica[1]=='X'))&&(wykonane==0)){
           tablica[7]='X';
           wykonane=1;
       }else{
       //PIONOWE - KOLUMNA3
       if((((tablica[8]=='X')&&(tablica[5]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
           tablica[2]='X';
           wykonane=1;
       }else{
       if((((tablica[8]=='X')&&(tablica[5]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[5]='X';
           wykonane=1;
       }else{
       if((((tablica[8]==' ')&&(tablica[5]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[8]='X';
           wykonane=1;
       }else{
       //=============================================================================
       //UKOSNE - DOLNA-LEWA => GORNA PRAWA
       if((((tablica[0]=='X')&&(tablica[4]=='X'))&&(tablica[8]==' '))&&(wykonane==0)){
           tablica[8]='X';
           wykonane=1;
       }else{
       if((((tablica[0]=='X')&&(tablica[4]==' '))&&(tablica[8]=='X'))&&(wykonane==0)){
           tablica[4]='X';
           wykonane=1;
       }else{
       if((((tablica[0]==' ')&&(tablica[4]=='X'))&&(tablica[8]=='X'))&&(wykonane==0)){
           tablica[0]='X';
           wykonane=1;
       }else{
       //=============================================================================
       //UKOSNE - GORNA-LEWA => DOLNA PRAWA
       if((((tablica[6]=='X')&&(tablica[4]=='X'))&&(tablica[2]==' '))&&(wykonane==0)){
           tablica[2]='X';
           wykonane=1;
       }else{
       if((((tablica[6]=='X')&&(tablica[4]==' '))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[4]='X';
           wykonane=1;
       }else{
       if((((tablica[6]==' ')&&(tablica[4]=='X'))&&(tablica[2]=='X'))&&(wykonane==0)){
           tablica[6]='X';
           wykonane=1;
       }else{
       //=============================================================================
       //LOSOWE POLA
       if(wykonane==0){
       wyborkomputera=(rand()%9);
       if (tablica[wyborkomputera]=='O'){
           testwyboru=0;
           wykonane=0;
       }
       if (tablica[wyborkomputera]=='X'){
           testwyboru=0;
           wykonane=0;
       }
       if (tablica[wyborkomputera]==' '){
           tablica[wyborkomputera]='X';
           testwyboru=1;
           wykonane=1;
       }
       }
       //tablica[wyborkomputera]='X';
       }}}}}}}}}}}}}}}}}}}}}}}}
    }
    
    
    rysujtablice (tablica);
    }
    if(granie==1){
    //SPRAWDZANIE
    tab=(pelna(tablica));
    if (tab==1){
       kontrola=3;
    }
    kontrola=(testkomputera(tablica)+1);
    if(kontrola==2){
       granie=0;
    }
    }
    }
    
    if(kontrola==1){
       printf("Wygral urzytkownik");
       tryb=8;
    }else{
    if(kontrola==2){
       printf("Wygral komputer");
       tryb=8;
    }else{
    if(kontrola==3){
       printf("REMIS\n");
       printf("Nastompilo wypelnienie planszy uniemozliwiajace rozstrygniecie rozgrywki\n");
       tryb=8;
    }}}
    printf("\n");
    printf("Czy rozegrac jeszcze jedna runde?\n");
    printf("Podaj opcje i nacisnij ENTER\n");
    printf("1-kolejna runda\n");
    printf("0-zakonczenie pracy programu\n");
    printf("9-powrot do glownego menu\n");
    
    scanf("%d", &wyborkoncowy);
    if(wyborkoncowy==1){
       granie=1;
       praca=1;
       tryb=1;
       pelnaplansza=0;
       kontrola=0;
       testwyboru=0;
       wykonane=0;
       tab=0;
       zeruj (tablica);
       wyborkoncowy=8;
    }else{
    if (wyborkoncowy==0){
       praca=0;
       granie=0;
       rozrywka=0;
       pelnaplansza=0;
    }else{
    if (wyborkoncowy==9){
       granie=0;
       praca=1;
       tryb=0;
       rozrywka=0;
       pelnaplansza=0;
       kontrola=0;
       tab=0;
       wyborkoncowy=8;
       //system("cls");
    }}}
    
    //kontrola=0;
    }
    }
    }
    
    return 0;
    }
    
    //funkcje
    void rysujtablice(char *tablica){
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[6],tablica[7],tablica[8]);
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[3],tablica[4],tablica[5]);
    printf("+-+-+-+\n");
    printf("|%c|%c|%c|\n",tablica[0],tablica[1],tablica[2]);
    printf("+-+-+-+\n");
    }
    
    void zeruj(char *tablica){
       int licznik;
       licznik=0;
       while(licznik<9){
           tablica[licznik]=' ';
           licznik=licznik+1;
    
       }
    
    }
    
    int testurzytkownika(char *tablica){
       int wynik;
       //poziome
       if (((tablica[6]=='O')&&(tablica[7]=='O'))&&(tablica[8]=='O')){
           wynik=1;
       }else{
       if (((tablica[3]=='O')&&(tablica[4]=='O'))&&(tablica[5]=='O')){
           wynik=1;
       }else{
       if (((tablica[0]=='O')&&(tablica[1]=='O'))&&(tablica[2]=='O')){
           wynik=1;
       }else{
    
       //pionowe
       if (((tablica[6]=='O')&&(tablica[3]=='O'))&&(tablica[0]=='O')){
           wynik=1;
       }else{
       if (((tablica[7]=='O')&&(tablica[4]=='O'))&&(tablica[1]=='O')){
           wynik=1;
       }else{
       if (((tablica[8]=='O')&&(tablica[5]=='O'))&&(tablica[2]=='O')){
           wynik=1;
       }else{
    
       //ukoœne
       if (((tablica[6]=='O')&&(tablica[4]=='O'))&&(tablica[2]=='O')){
           wynik=1;
       }else{
       if (((tablica[0]=='O')&&(tablica[4]=='O'))&&(tablica[8]=='O')){
           wynik=1;
       }}}}}}}}
    
       return wynik;
    
    }
    
    int testkomputera(char *tablica){
       int wynik;
       //poziome
       if (((tablica[6]=='X')&&(tablica[7]=='X'))&&(tablica[8]=='X')){
           wynik=1;
       }else{
       if (((tablica[3]=='X')&&(tablica[4]=='X'))&&(tablica[5]=='X')){
           wynik=1;
       }else{
       if (((tablica[0]=='X')&&(tablica[1]=='X'))&&(tablica[2]=='X')){
           wynik=1;
       }else{
    
       //pionowe
       if (((tablica[6]=='X')&&(tablica[3]=='X'))&&(tablica[0]=='X')){
           wynik=1;
       }else{
       if (((tablica[7]=='X')&&(tablica[4]=='X'))&&(tablica[1]=='X')){
           wynik=1;
       }else{
       if (((tablica[8]=='X')&&(tablica[5]=='X'))&&(tablica[2]=='X')){
           wynik=1;
       }else{
    
       //ukoœne
       if (((tablica[6]=='X')&&(tablica[4]=='X'))&&(tablica[2]=='X')){
           wynik=1;
       }else{
       if (((tablica[0]=='X')&&(tablica[4]=='X'))&&(tablica[8]=='X')){
           wynik=1;
       }}}}}}}}
    
       return wynik;
    
    }
    int pelna(char *tablica){
    
       int wynik;
       int licznik;
       int test;
       licznik=0;
       test=0;
       wynik=0;
       while(licznik<9){
           if(tablica[licznik]=='X')
           {
               test=test+1;
           }
           if(tablica[licznik]=='O')
           {
               test=test+1;
           }
           licznik=licznik+1;
       }
       if(test==9){
           wynik=1;
       }else{wynik=0;}
    
       return wynik;
    
    }
    
    void menu(){
       printf("*****************************************\n");
       printf("    Program do gry w kolko i krzyzyk\n");
       printf("              Wersja V1.2\n");
       printf("                                    \n");
       printf("\n");
       printf("Wpisz numer opcji i nacisnij klawsz ENTER\n");
       printf("                 OPCJE\n");
       printf("1-rozgrywka\n");
       printf("9-wyswietlenie instrukcji obslugi\n");
       printf("0-zakonczenie programu\n");
    
       printf("\n");
    
    }
    void intrukcja(){
       printf("*****************************************\n");
       printf("            INSTRUKCJA OBSLUGI\n");
       printf("*****************************************\n");
       printf("    Program do gry w kolko i krzyzyk\n");
       printf("\n");
       printf("TEKST INSTRUKCJI\n");
       printf("\n");
       printf("nacisnij klawisz 9 i zatwierdz klawiszem\n");
       printf("ENTER, aby powrocic do glownego MENU\n");
    
    }
    


  19. Może ktoś mi pomoże?

    Oba te błędy pojawaiają się przy wybraniu opcji jeszcze jednej rundy bez wyłączania i ponownego włączania programu

    PS. A ten "Oczywisty" błąd to która linia kodu, co konkretniej?

×
×
  • Dodaj nową pozycję...