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

Pracuj samodzielnie

Object Storage Arubacloud
+7 głosów
273 wizyt
pytanie zadane 1 września 2016 w C i C++ przez hubercik Użytkownik (560 p.)

Witajcie forumowicze! :)

Ten post jest skierowany do tych, którzy zaczynają zabawę z programowaniem :) - w sumie sam się uczę, ale chcę coś przekazać ludziom, którzy zaczęli i nie wiedzą co dalej.

Przed chwilą napisałem grę tekstową, jest to na prawdę banał. Gra polega na trafieniu w tarcze - jest to na prawdę losowa gra :D 

Chcę wam powiedzieć,że jeśli zacząłeś zabawę z programowaniem to twórz swoje "programy" - dzięki temu pobudzisz wyobraźnię i samodzielność, a to jest bardzo, bardzo ważne. Musisz mieć skilla, więc wymyślaj i pisz, bo posiadać wiedzę nie jest tak ciężko jak jest ją wykorzystać w "praniu" :) Powodzenia ludziska :) Miłego dnia.

Ps. Nie hejtcujcie, może komuś się to przyda, dawajmy dobro (chociaż próbujmy, nie zawsze to wychodzi... lecz... :) ) , z góry sorry za kod, wg mnie nie jest jeszcze tak najgorzej :D

O to kod tej gierki( piszę na macu , więc biblioteki są trochę inne i funkcje, w kodzie pojawia się tylko raz system("cls") ponieważ w terminalu xcode to nie działa:D ) :




//Napiszmy jakąś grę tekstową w konsoli;
//Strzelanie z luku do tarczy jako gra tekstowa! :D

#include <iostream>
#include <time.h>
#include <unistd.h>
#include <cstdlib>
#include <curses.h>
using namespace std;
int punktysr=0, punktylw=0, punktypr=0, punktydl=0, punktygr=0;
int proby=0;
int main()
{
    
cout<<"Witamy na strzelnicy - pobudź swoją wyobraźnię i możemy zaczynać! :)"<<endl;
    cout<<"Poczekaj 3 sekundy :)"<<endl;
    sleep(3);
    system("cls");
    
    
    while(proby<5)
    {
    int strzal;
     cout<<"Strzelaj strzelcu i nie gadaj! :D"<<endl;
     cout<<"Gdzie chcesz przylutować?"<<endl;
    
    
    cout<<"1.Srodek tarczy"<<endl;
    cout<<"2.Prawa strona tarczy"<<endl;
    cout<<"3.Lewa strona tarczy"<<endl;
    cout<<"4.Dol tarczy"<<endl;
    cout<<"5.Gora tarczy"<<endl;
    cout<<"6.Koniec na dzisiaj? Nie ma sprawy! :]"<<endl;
    
    int srodek, lewo , prawo, gora, dol;
        
        cout<<"Wybor nalezy do Ciebie łowcze :): ";
        cin>>strzal;
    switch(strzal)
    {
        case 1:
        {
            srand((unsigned int)time(NULL));
            srodek=rand()%10+1;
            if(srodek==10)
            {
                cout<<"*******************************************"<<endl;
                cout<<"GRATULACJE TRAFILES!,ZDOBYWASZ 10 PUNKTOW:)"<<endl;
                cout<<"*******************************************"<<endl;
                punktysr+=10;
            
            }
            
            else cout<<"COS POSZLO NIE TAK! NIE TRAFILES! :("<<endl<<endl;
            break;
     
        }
        
        case 2:
        {
            srand((unsigned int)time(NULL));
            prawo=rand()%6+1;
            if(prawo==6)
            {
                cout<<"*******************************************"<<endl;
                cout<<"GRATULACJE TRAFILES! ZDOBYWASZ 6 PUNKTOW!"<<endl;
                cout<<"*******************************************"<<endl;
                punktypr+=6;
            
            }
            else cout<<"COS POSZLO NIE TAK, NIE TRAFILES! :("<<endl<<endl;
            break;
        }
            
        case 3:
        {
        
            srand((unsigned int)time(NULL));
            lewo=rand()%5+1;
            if(lewo==5)
            {
                cout<<"*******************************************"<<endl;
                cout<<"GRATULACJE TRAFILES! ZDOBYWASZ 5 PUNKTOW! :)"<<endl;
                cout<<"*******************************************"<<endl;
                punktylw+=5;
                
            }
            else cout<<"COS POSZLO NIE TAK, NIE TRAFILES! :("<<endl<<endl;
            break;
            
        }
    
        case 4:
        {
            srand((unsigned int)time(NULL));
            dol=rand()%3+1;
            if(dol==3)
            {
                cout<<"*******************************************"<<endl;
                cout<<"GRATULACJE TRAFILES! ZDOBYWASZ 3 PUNKTY! :)"<<endl;
                cout<<"*******************************************"<<endl;
                punktydl+=3;
            }
            else cout<<"COS POSZLO NIE TAK, NIE TRAFILES! :("<<endl<<endl;
                
            break;
        }
            
        case 5:
        {
            srand((unsigned int)time(NULL));
            gora=rand()%4+1;
            if(gora==4)
            {
                cout<<"*******************************************"<<endl;
                cout<<"GRATULACJE TRAFILES! ZDOBYWASZ 4 PUNKTY! :)"<<endl;
                cout<<"*******************************************"<<endl;
                punktygr+=4;
            }
            else cout<<"COS POSZLO NIE TAK, NIE TRAFILES! :("<<endl<<endl;
            
        
        

            break;
        }
        case 6: exit(0);
            
            
        default: {cout<<"Nie ma takiej opcji w menu! Co Ty wyprawiasz?!"<<endl; cout<<"Dam Ci jeszcze szanse wyboru...: "; cin>>strzal;}
    
        }
    
        proby++;
        }
    int punktyogl;
    punktyogl=punktydl+punktygr+punktylw+punktypr+punktysr;
    cout<<"Koniec gry!"<<endl;
    cout<<"Zdobywasz "<<punktyogl<<" punktów! :)"<<endl;
    
    
    return 0;
}

 

komentarz 2 września 2016 przez manjaro Nałogowiec (37,390 p.)
Porażający jest poziom ortografii u gimbów, Nie tylko na tym forum, ale ogólnie w sieci.

4 odpowiedzi

+1 głos
odpowiedź 1 września 2016 przez niezalogowany
edycja 3 września 2016
Oj tam, post jak post, a do tego wcale nie jest głupi, więc się nie martw ;)

A co do tematu, to jak najbardziej masz rację. Chyba wszyscy to powinni wiedzieć i tak robić, no ale nie wszyscy jednak tak robią. Jak ja się uczyłem programować, jeszcze w konsoli, to ciągle myślałem, co by tu jeszcze wymyślić. Samodzielnie zrobiłem rosyjską ruletkę, orzeł czy reszka, zgadywanie urodzin (czyli taka sztuczka matematyczna, niektórzy to znają, czasem w szkołach pokazują ;)) itp. I najlepiej jest, jak się te programy robi samemu :) Po prostu bez sensu jak zrzynanie od innych, to nie jest przecież programowanie, więc mam nadzieję, że wszyscy o tym wiedzą ;)
komentarz 1 września 2016 przez smh Obywatel (1,940 p.)

(a nie zrzynanie?)

komentarz 2 września 2016 przez niezalogowany
No właśnie nie byłem pewien, bo dopiero jak napisałem "zżynanie", to słowo nie było podkreślone czerwonym zygzakiem. Wygląda to dziwnie, no ale nie było podkreślone, więc jednak zostawiłem przez ż, a nie rz.
komentarz 3 września 2016 przez smh Obywatel (1,940 p.)
komentarz 3 września 2016 przez niezalogowany
No chyba że tak. Już poprawiam na rz.
0 głosów
odpowiedź 1 września 2016 przez Kasztan Dyskutant (8,080 p.)
0 głosów
odpowiedź 1 września 2016 przez hubercik Użytkownik (560 p.)
Jeśli macie jakieś swoje gierki w konsoli to możecie się pochwalić kodem, a ja chętnie bym pograł i przeanalizował kod- pewnie nauczyłbym się czegoś nowego :) Pozdro! :D
0 głosów
odpowiedź 1 września 2016 przez jpacanowski VIP (101,940 p.)
srand((unsigned int)time(NULL));

srand() użyj tylko raz, gdzieś na początku funkcji main()

#include <iostream>
#include <time.h>
#include <unistd.h>
#include <cstdlib>
#include <curses.h>
using namespace std;
int punktysr=0, punktylw=0, punktypr=0, punktydl=0, punktygr=0;
int proby=0;
int main()

Formatuj kod, oddzielaj kod od siebie...

Czyli np. tak:

#include <iostream>
#include <time.h>
#include <unistd.h>
#include <cstdlib>
#include <curses.h>

using namespace std;

int punktysr=0, punktylw=0, punktypr=0, punktydl=0, punktygr=0;
int proby=0;

int main()
int punktysr=0, punktylw=0, punktypr=0, punktydl=0, punktygr=0;

To są zmienne globalne, więc nie trzeba ich zerować. Niezainicjalizowane zmienne globalne lądują w BSS. Aha, i staraj się nie używać zmiennych globalnych.

1
komentarz 1 września 2016 przez hubercik Użytkownik (560 p.)
Właśnie staram się nie używać, nawet łatwiej jest pisać bez globalnych, lecz tutaj wolałem dać globalne :D - na początku było bez globalnych potem przekształciłem w globalne - sam nie wiem dlaczego ^.^ Btw cout<<"Dzięki za rady"<<endl; :P

Podobne pytania

0 głosów
1 odpowiedź 111 wizyt
pytanie zadane 5 grudnia 2023 w C i C++ przez hutsalo1998 Użytkownik (520 p.)
0 głosów
0 odpowiedzi 204 wizyt
pytanie zadane 25 stycznia 2023 w C i C++ przez hicodyn Początkujący (420 p.)
0 głosów
2 odpowiedzi 255 wizyt
pytanie zadane 16 sierpnia 2022 w Offtop przez davidct Nowicjusz (120 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 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!

...