logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Koło fortuny w C – jak napisać prostą grę, obsługa dwóch graczy, czyszczenie ekranu

michalsokol 30 Lis 2006 23:50 4021 8
REKLAMA
  • #1 3281413
    michalsokol
    Poziom 12  
    Posty: 112
    Ocena: 18
    witam

    prosilbym bym bardzo o pomoc w napisaniu programu w C, a konkretniej gry.
    chodzi o kolo fortuny.
    Program chce napisac w jak najprostszy sposob , tzn. bez trudnych funkcji, najlepiej gdyby skladal sie z petli : for,while, do while, if .

    sam juz probowalem cos zrobic, ale cos nie dziala :
    Cytat:

    #include <stdio.h>
    #include <stdlib.h>

    int main(int argc, char *argv[])
    {
    int i,licznik=0;
    char tekst[20]="chcemy byc soba";
    char tekst2[50];
    char znak;
    for(i=0;tekst[i]!=NULL;i++)
    {
    if(tekst[i]!=' ')
    tekst2[i]='_';
    else
    tekst2[i]=' ';
    }


    do{

    printf(" Podaj litere\n");
    scanf("%c", &znak);
    licznik++;
    for(i=0;tekst[i]!=NULL;i++)
    {

    if(tekst[i]==znak)
    tekst2[i]=znak;
    }

    printf("%s", tekst2);



    }while(znak!='q');


    system("PAUSE");
    return 0;
    }




    tylko mam kilka pytan:

    * czemu pytanie :podaj litere" wyswietla sie dwa razy ?????
    * jak wstawic aby pierwszy uzytkownik wpisywal zdanie a drugi odgadywal ???
    * jak wstawic czyszczenie ekranu clrscr() ??


    pozdrawiam
  • REKLAMA
  • #2 3281549
    Dioda3
    Poziom 13  
    Posty: 40
    Pomógł: 4
    Ocena: 1
    Witam,
    napis "podaj literke" wyswietla mi tylko raz (pewnie zalezy to od kompilatora - ja korzystam z Dev-C++ ver.4).
    Co do wpisywania hasla chyba najprosciej skorzystac z scanf. Pamietaj o sprawdzeniu zakonczenia ciagu, czyli znaku /0, aby oba ciagi byly tej samej dlugosci.
    Ekran mozesz wyczyscic poleceniem systemowym:
    system("cls");

    Pozdrawiam
  • REKLAMA
  • #3 3283845
    michalsokol
    Poziom 12  
    Posty: 112
    Ocena: 18
    a jak wstawic kolory tekstu i tla ????

    bo czytalem ze : textcolor(a); gdzie a to numer koloru, ale to nie dziala
  • REKLAMA
  • #4 3283967
    eP
    Poziom 27  
    Posty: 797
    Pomógł: 115
    Ocena: 21
    michalsokol napisał:
    a jak wstawic kolory tekstu i tla ????

    bo czytalem ze : textcolor(a); gdzie a to numer koloru, ale to nie dziala


    Użyj cprintf zamiast printf.
  • #5 3286318
    Freeradio
    Poziom 15  
    Posty: 194
    Pomógł: 9
    Ocena: 4
    Ja mam Dev-C++ 5.0 i niestety tam nie załączyli bibliotek na kolor tekstu, a cprintf istnieje jako funkcja która ma to samo działanie co printf. Nigdzie nie da sie koloru ustawić ...
  • REKLAMA
  • #6 3287202
    monsinior
    Poziom 17  
    Posty: 162
    Pomógł: 18
    Ocena: 7
    Do Dev'a musisz ściągnąć bibliotekę conio2.h poszukaj na google, bo conio.h jest bardzo okrojone.

    W conio2.h masz między innymi clrscr, getch, gotoxy, textcolor itp.

    Tutaj masz link jak to możesz zrobić http://molhanec.net/devcpphelp/packages.php
  • #7 3293723
    michalsokol
    Poziom 12  
    Posty: 112
    Ocena: 18
    nie wiem jak wstawic kolor tekstu :(

    czytalem posty z tego watku, ale cos mi nie wychodzi .
    bardzo prosze o przykladowy kod w C jak wstawic kolor lacznie z zawartymi bibliotekami

    pozdrawiam
  • #8 3294004
    Freeradio
    Poziom 15  
    Posty: 194
    Pomógł: 9
    Ocena: 4
    W starszym wydaniu dev-c++ było conio.c. Wystarczyło śmiesznie wstawić to w dyrektywę, lub dodać do kompilacji, ale trzeba sobie było samemu exportować funkcje i działało, kolory, kursor...
  • #9 3299550
    monsinior
    Poziom 17  
    Posty: 162
    Pomógł: 18
    Ocena: 7
    Ostatnio pomagałem na temat conio2.h w wątku https://www.elektroda.pl/rtvforum/topic633325.html

    jest tam również pokazane jak zlinkować plik libconio.a.

    Czyli ściągasz conio2 na początku programu dołączasz
    
    #include "conio2.h"
    


    dodajesz do konsolidatora plik libconio.a

    i normalnie w programie używasz funkcji textcolor i wyświetlasz napis za pomocą cprintf

Podsumowanie tematu

✨ Dyskusja dotyczy napisania prostej gry "Koło fortuny" w języku C, z obsługą dwóch graczy oraz podstawowym czyszczeniem ekranu. Problem z podwójnym wyświetlaniem komunikatu "podaj literę" może wynikać z różnic w kompilatorach. Do wprowadzania hasła przez pierwszego gracza i odgadywania przez drugiego zaleca się użycie funkcji scanf z uwzględnieniem znaku zakończenia ciągu ''. Czyszczenie ekranu można zrealizować poleceniem system("cls"). W kwestii kolorów tekstu i tła w Dev-C++ standardowa biblioteka conio.h jest ograniczona i nie obsługuje kolorów ani funkcji clrscr(). Rozwiązaniem jest dołączenie rozszerzonej biblioteki conio2.h wraz z plikiem libconio.a, co umożliwia użycie funkcji takich jak clrscr(), getch(), gotoxy() oraz textcolor(). Funkcje te pozwalają na manipulację kolorem tekstu i tła oraz pozycjonowanie kursora w konsoli. W starszych wersjach Dev-C++ istniała możliwość ręcznego eksportu funkcji z conio.c, co umożliwiało obsługę kolorów i kursora. Przykładowe kody i instrukcje instalacji conio2.h dostępne są na stronach internetowych, np. http://molhanec.net/devcpphelp/packages.php.
Wygenerowane przez model językowy.
REKLAMA