• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Gra cookie kliker. Pytanie odnośnie pętli i optymalizacji.

Object Storage Arubacloud
0 głosów
163 wizyt
pytanie zadane 3 listopada 2016 w C i C++ przez justKaPi Początkujący (250 p.)

Witam. Od niedawna coś tam sobie kodzę i wpadłem na pomysł, żeby napisać grę typu Cookie Clicker. Mam jednak mały problem. Chciałbym aby wszystkie zakupione akcje wykonywały się co sekundę. Chciałbym, żeby to wykonywało się w nieskończonej pętli jednak z możliwością wpisania wartości w konsolę (w celu zakupu,np. babci, albo po prostu kliknięcia) co zmieniałoby zmienną wewnątrz pętli. Kolejną sprawą są int'y. Dałoby się je upchać jakoś w tablice?

 

#include <iostream>
#include <windows.h>
#include <cstdlib>


using namespace std;

int akcja;
int v;

int cookie = 0;

int babcia=0;
int pole=0;
int fabryka=0;
int kopalnia=0;

int x=10;
int y=150;
int z=500;
int k=1500;



int main(){




    for(int i=0; ; i++)
    {




        if(akcja==1){
            cookie +=1;
        }

        if(akcja==2 && x <= cookie){
            cookie -=x;
            x = x+x*2;
            babcia +=1;
        }
        if(akcja==3 && y <= cookie){
            cookie -=y;
            y = y+y*2;
            pole +=1;
        }
        if(akcja==4 && z <= cookie){
            cookie -=z;
            z = z+z*2;
            fabryka +=1;
        }
        if(akcja==5 && k <= cookie){
            cookie -=k;
            k = k+k*2;
            kopalnia +=1;
        }


        v=1+babcia*5+pole*15+fabryka*50+kopalnia*100;

        cout<<"Ilosc ciastek: " << cookie << endl;
        cout <<"1. [Klik]                         <--- Produkuje "<< v <<" ciastek" <<endl;
        cout <<"2. [Babcia] Koszt: (" << x << ")" << "           <--- Produkuje 5 ciastka na klik" << endl;
        cout <<"3. [Pole ciastek] Koszt: (" << y << ")" << "    <--- Produkuje 15 ciastek na klik"<< endl;
        cout <<"4. [Fabryka ciastek] Koszt: (" << z << ")" << " <--- Produkuje 50 ciastek na klik"<<endl;
        cout <<"5. [Kopalnia ciastek] Koszt: (" << k << ")" << " <--- Produkuje 100 ciastek na klik"<<endl;


        cout <<"Akcja: " << flush;

        cin>>akcja;

        cookie = cookie+babcia*5+pole*15+fabryka*50+kopalnia*100;

        cout << cookie << endl;



    }





    return 0;
}

 

1 odpowiedź

+2 głosów
odpowiedź 3 listopada 2016 przez draghan VIP (106,230 p.)

Chciałbym aby wszystkie zakupione akcje wykonywały się co sekundę.

Wykorzystaj timery.

Chciałbym, żeby to wykonywało się w nieskończonej pętli jednak z możliwością wpisania wartości w konsolę (w celu zakupu,np. babci, albo po prostu kliknięcia) co zmieniałoby zmienną wewnątrz pętli.

Niestety, operacje strumieni są blokujące. Jeśli czytasz ze strumienia, to coś w tym strumieniu musi być. Inaczej program się bezwzględnie zatrzyma i będzie oczekiwał na wprowadzenie danych. Średnio to pasuje do logiki działania gry w takim sensie. Co nie znaczy, że się nie da. Jeśli chodzi o rozwiązania tylko dla Windows, poczytaj o funkcji kbhit() albo spójrz tu (trochę wyższy level).

Podobne pytania

0 głosów
1 odpowiedź 339 wizyt
pytanie zadane 3 października 2019 w Bezpieczeństwo, hacking przez michal_php Stary wyjadacz (13,700 p.)
0 głosów
1 odpowiedź 172 wizyt
pytanie zadane 3 stycznia 2018 w PHP przez Ryba2k Nowicjusz (140 p.)
0 głosów
1 odpowiedź 362 wizyt
pytanie zadane 18 września 2016 w PHP przez MatiiTv Gaduła (3,790 p.)

92,555 zapytań

141,403 odpowiedzi

319,553 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...