Помогни ни да направим Uroci.net по - богат! Добави урок

Как да си направим игра на познаване

C++ » C++
venom1724   трудност:    видян: 10925

Урока не е много труден, защото повечето неща в скрипта са познати. Има основно две нови функции - randn() и srand(time()). Функцията randn() служи за генериране на произволно число. То разбира се не е едноцифрено и затова по долу в кода съм използвал функция за намиране на остатък от деление на 10 - %10 - . Остатъка винаги е число между 0 и 9, а аз сам избрал 3 нива на играта:


1 ниво - лесно - от 1 до 10 - затова сам добавил 1 към randn()%10.


2 ниво - средно - от 1 до 15 - получава се чрез добавяне на друго произволно число и др. операции.


3 ниво - трудно - от 1 до 20 - като при 2 ниво само че към едното произволно число се прибавя единица. Функцията srand(time()) показва колко пъти се повтаря избора на едно и също число от компютъра. Ако то е 0 -srand(time(0))- произволно избраното число от компютъра никога няма да се повтори. Естествено след многократно пускане на програмата може да очаквате повторение, но то е защото остатъкът при делението на десет има много малко варианти. Използвал съм също функцията system("cls"). Тя служи за изчистване на конзолата. Нещо подобно на рестартиране на програмата и продължаване на изпълнението и след реда system("cls").

 

Ето и кода:

#include <cstdlib>
#include <iostream>

using namespace std;


                                         
int main()
{
int shansove;
int randa,randb,randc;
int level;
int lesno_a,lesno_b;
int sredno_a,sredno_b;
int trudno_a,trudno_b;
int guess;
int chances_les=3,chances_sred=5,chances_trud=8;

    lesno_a=1;
    lesno_b=10;
    sredno_a=1;
    sredno_b=15;
    trudno_a=1;
    trudno_b=20;
    cout<<"izberete kategoriq: "<<"n";
    cout<<"1-lesno("<<lesno_a<<"-do-"<<lesno_b<<") - "<<chances_les<<" 6ansa"<<"n";
    cout<<"2-sredno("<<sredno_a<<"-do-"<<sredno_b<<") - "<<chances_sred<<" 6ansa"<<"n";
    cout<<"3-trudno("<<trudno_a<<"-do-"<<trudno_b<<") - "<<chances_trud<<" 6ansa"<<"n";
    cin>>level;
    if (level==1){
    srand(time(0));
    randa=(rand()%10+rand()%10)+1;
    system("cls");
    do
    {
                  cin>>guess;
                  chances_les--;
                  if(guess==randa) cout<<"Bravo!Pozna!"<<"n"<<"n"<<"n";
                  else if(chances_les==0) cout<<"sajelqvam, no ne uspq da poznae6. 4isloto be6e: "<<
                  randa<<"n"<<"n";
                  else{
                       if(guess!=randa&&guess>randa) cout<<"Probvai po malko 4islo"<<" ostavat ti "<<chances_les
                       <<" jivota"<<"n";
                       if(guess!=randa&&guess<randa) cout<<"Probvai po golqmo 4islo"<<" ostavat ti "<<chances_les
                       <<" jivota"<<"n";
                       }}while(chances_les>0&&guess!=randa);
                       }
                 
if(level==2) {
  while(randa<1||randa>15){
    srand(time(0));
    randa=rand()%10+rand()%10;
    system("cls");}
    do
    {
                  cin>>guess;
                  chances_sred--;
                  if(guess==randa) cout<<"Bravo!Pozna!"<<"n"<<"n"<<"n";
                  else if(chances_sred==0) cout<<"sajelqvam, no ne uspq da poznae6. 4isloto be6e: "<<
                  randa<<"n"<<"n";
                  else{
                       if(guess!=randa&&guess>randa) cout<<"Probvai po malko 4islo"<<" ostavat ti "<<chances_sred
                       <<" jivota"<<"n";
                       if(guess!=randa&&guess<randa) cout<<"Probvai po golqmo 4islo"<<" ostavat ti "<<chances_sred
                       <<" jivota"<<"n";
                       }}while(chances_sred>0&&guess!=randa);
                       }
if (level==3){
    srand(time(0));
    randa=(rand()%10+rand()%10)+1;
    system("cls");
    do
    {
                  cin>>guess;
                  chances_trud--;
                  if(guess==randa) cout<<"Bravo!Pozna!"<<"n"<<"n"<<"n";
                  else if(chances_trud==0) cout<<"sajelqvam, no ne uspq da poznae6. 4isloto be6e: "<<
                  randa<<"n"<<"n";
                  else{
                       if(guess!=randa&&guess>randa) cout<<"Probvai po malko 4islo"<<" ostavat ti "<<chances_trud
                       <<" jivota"<<"n";
                       if(guess!=randa&&guess<randa) cout<<"Probvai po golqmo 4islo"<<" ostavat ti "<<chances_trud
                       <<" jivota"<<"n";
                       }}while(chances_trud>0&&guess!=randa);
                       }
                                                
    system("pause");
    return 0;
}

 

Ако има въпроси - на лс или по скаип ако не сам видял коментар.

Надявам се да съм помогнал. xD



Коментари (1)

Misholache на 25.02 2017 в 22:00ч.
Много ми помогна, но този код къде се вкарваше?

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com