Autor Wątek: [C++]Fight  (Przeczytany 741 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Offline Noruj

  • Zaawansowany użytkownik
  • ***
  • Wiadomości: 774
  • Płeć: Mężczyzna
  • Agnosco
  • Poziom: Zielony
  • Specjalizacja: Ogólny
Odp: [C++]Fight
« Odpowiedź #20 dnia: Lipiec 09, 2010, 14:59 »
W pascalu są takie funckje jak rysowanie kwadratów, kół itd, ładna czcionka. To może zrobisz takie title?
I jeszcze kilka takich systemowych dźwięków - pi,pi,pib

Offline maciejo54

  • Użytkownik
  • **
  • Wiadomości: 63
  • Płeć: Mężczyzna
  • Polecam mojego bloga : http://www.hack54.blox.pl
    • Moja strona
  • Poziom: Początkujący
  • Specjalizacja: Ogólny
Odp: [C++]Fight
« Odpowiedź #21 dnia: Lipiec 16, 2010, 14:23 »
Już jest wersja 0.1 http://www.mediafire.com/?yow9tacwmm3hrf4 - dodałem troszkę kolorków , muzyczkę , nową lokację - las , a co za tym idzie kilka potworków , skille zrobię może w wersji 0.3 , to zależy od tego czy mi się będzie chciało , jak macie jakieś bugi to napiszcie
PS. Gra na chwilę obecną ma ok. 550 linijek
PS2. Hellkillera na razie nie dołączam do autorów , bo jedyne co zrobił , to poproszenie mnie o kod :P
PS3. Jak ktoś chce kod tej wersji to proszę bardzo , to jest lekko zmodyfikowany kod wersji 0.1 , bo już zaczynałem pisać 0.2
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#include <string>
#include <dos.h>
#include <stdio.h>
#include "console.ddt"

using namespace ddt::console;
using namespace std;

int wybor;
string imie;
int zrobic;
int klasa;
int heromaxhp = 70;
int heronowhp = 70;
int herohp;
int heromaxmp = 70;
int heronowmp = 70;
int herofizatk;
int heromagatk;
int opmaxhp = 70;
int opnowhp = 70;
int ophp;
int opmaxmp = 70;
int opnowmp = 70;
int opfizatk;
int opmagatk;
int lokacja;
string op;
int atak;
int dostales;
int zabrales;
int jeszczeraz;
int wolnepkt = 36;
int dodajpkt;
int przeciwnik = 0;
int skleppytania;
bool pomiescie = false;
bool koniec;
int laswyb;
int potwor;

int random( int nMin, int nMax) { return  rand() % (nMax-nMin+1) + nMin;}

int walka ();

int miasto();

int powyborze();

void las()
{
   opnowhp = opmaxhp;
   opnowmp = opmaxmp;
   heronowhp = heromaxhp;
   heronowmp = heromaxmp;
   laswyb = 0;
   potwor = 0;
   op = "";
   _beep(700,100);
   _beep(750,100);
   _beep(800,100);
   SetConsoleTitle("Console Adventure");
   while(laswyb < 1 ||laswyb > 2)
   {
   cout<<"Co chcesz robic w lesie?"<<endl;
   cout<<"1.Poszukac potwora"<<endl;
   cout<<"2.Wrocic do miasta"<<endl;
   cin>>laswyb;
   switch(laswyb)
   {
   case 1 : srand (static_cast<unsigned int>(time(NULL)));
   potwor = random(1,4);
   cout<<"Twoim przeciwnikiem bedzie ";
   if(potwor == 1)
   {
   op = "Wilk";
   opfizatk = 10;
   opmagatk = 0;
   cout<<op<<endl;
   getch();
   system("cls");
   walka();
   }
   if(potwor == 2)
   {
   op = "Wielki pajak";
   opfizatk = 14;
   opmagatk = 0;
   cout<<op<<endl;
   getch();
   system("cls");
   walka();
   }
   if(potwor == 3)
   {
   op = "Trujacy waz";
   opfizatk = 20;
   opmagatk = 5;
   cout<<op<<endl;
   getch();
   system("cls");
   walka();
   }
   if(potwor == 4)
   {
   op = "Ogr";
   opfizatk = 35;
   opmagatk = 5;
   cout<<op<<endl;
   getch();
   system("cls");
   walka();
   }
   if(potwor == 5)
   {
   op = "Troll mag";
   opfizatk = 15;
   opmagatk = 35;
   cout<<op<<endl;
   getch();
   system("cls");
   walka();
   break;
   case 2 :
   miasto();
   break;
   default : cout<<"Nieznana opcja"<<endl;
   }
}
}

int sklep ()
{
 system("cls");
 cout<<"Sklep jest pusty , masz jakies pytania?"<<endl;
 cout<<"1.Dlaczego sklep jest pusty?"<<endl;
 cout<<"2.Nie , nie mam pytan"<<endl;
 cin>>skleppytania;
 switch(skleppytania)
 {
  case 1 : cout<<"Bo to za wczesna wersja :D"<<endl;
  getch();
  system("cls");
  break;
  case 2 : cout<<"To sie ciesze"<<endl;
  getch();
  system("cls");
  break;
  default : cout<<"Nieznana opcja"<<endl;
  break;
}
}

int miasto ()
{
    system("cls");
    cout<<"Jestes w miescie , gdzie chcesz isc ?"<<endl;
    cout<<"1.Sklep"<<endl;
    cout<<"2.Arena"<<endl;
    cout<<"3.Las"<<endl;
    cin>>lokacja;
    switch (lokacja)
    {
    case 1 : sklep();
    miasto();
    break;
    case 2 : pomiescie = true;
    powyborze();
    break;
    case 3 : cout<<"Jestes w lesie"<<endl;
    getch();
    system("cls");
    las();
    break;
    default : cout<<"Nieznana opcja"<<endl;
    miasto();
    break;
}
}

int walka ()
{
    jeszczeraz = 0;
    while (heronowhp > 0 || opnowhp > 0 )
    {
    srand (static_cast<unsigned int>(time(NULL)));
    cout<<imie<<"\t\t\t\t"<<op<<endl;
    cout<<"HP\t\t\t\tHP"<<endl;
    if (heronowhp <= 30)
    {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 4);
    cout<<heronowhp<<"/"<<heromaxhp;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
    }
    else
    {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2);
    cout<<heronowhp<<"/"<<heromaxhp;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
    }
    cout<<"\t\t\t\t";
    if (opnowhp <= 30)
    {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 4);
    cout<<opnowhp<<"/"<<opmaxhp<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
    }
    else
    {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2);
    cout<<opnowhp<<"/"<<opmaxhp<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
    }
    cout<<"MP\t\t\t\tMP"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 3);
    cout<<heronowmp<<"/"<<heromaxmp<<"\t\t\t\t"<<opnowmp<<"/"<<opmaxmp<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
    cout<<"Max. obrazenia fizyczne\t\tMax. obrazenia fizyczne"<<endl;
    cout<<herofizatk<<"\t\t\t\t"<<opfizatk<<endl;
    cout<<"Max. obrazenia magiczne\t\tMax. obrazenia magiczne"<<endl;
    cout<<heromagatk<<"\t\t\t\t"<<opmagatk<<endl<<endl<<endl;
    cout<<"Twoj ruch"<<endl;
    cout<<"Co robic?"<<endl;
    cout<<"1.Atak mieczem"<<endl;
    cout<<"2.Atak magiczny"<<endl;
    cin>>atak;
    switch(atak)
    {
     case 1 : cout<<"Wybrales atak mieczem"<<endl;
     opnowhp = opnowhp - random(0, herofizatk);
     break;           
     case 2 : cout<<"Wybrales atak magiczny"<<endl;
     if(heronowmp <= 0)
     {
     cout<<"Nie masz mp ;p"<<endl;
     }
     else
     {
     heronowmp = heronowmp - 5;
     opnowhp = opnowhp - random(0, heromagatk);
     }
     break;
     default : cout<<"Nieznana opcja"<<endl;
     break;
    }
    cout<<"Ruch komputera"<<endl;
    int akcja = rand() % 2 + 1;
    if (akcja == 1)
    {
      cout<<"Komputer wybral atak mieczem"<<endl;
      heronowhp = heronowhp - random(0, opfizatk);
    }
    else
    {
      cout<<"Komputer wybral atak magiczny"<<endl;
      if(opnowmp <= 0)
      {
      cout<<"Komputer nie ma mp"<<endl;
      }
      else
      {
      opnowmp = opnowmp - 5;
      heronowhp == heronowhp - random(0, opmagatk);
      }
    }

    cout<<"Nacisnij cos zeby kontynuowac"<<endl;
    getch();
    system("cls");
       if (heronowhp <= 0 )
       {
         cout<<"Przegrales :("<<endl;
           Beep(100,150);
           Beep(200,150);
           Beep(120,100);
           Beep(110,100);
           Beep(100,100);
           Beep(90,100);
           Beep(80,100);
           Beep(70,100);
           Beep(60,100);
           Beep(50,400);
         while (jeszczeraz <= 0 || jeszczeraz > 2)
         {
         cout<<"Jeszcze raz?"<<endl;
         cout<<"1.Tak"<<endl;
         cout<<"2.Nie"<<endl;
         cin>>jeszczeraz;
         switch (jeszczeraz)
         {
         case 1 : heronowhp = heromaxhp;
         heronowmp = heromaxmp;
         opnowhp = opmaxhp;
         opnowmp = opmaxmp;
         cout<<"No , to jeszcze raz"<<endl;
         getch();
         system("cls");
         walka();
         break;
         case 2 : miasto();
         break;
         default : system("cls");
         cout<<"Nieznana opcja"<<endl;
         break;
         }
         }
         }
       if (opnowhp <= 0 )
       {
         cout<<"Wygrales :)"<<endl;
           Beep(210, 150);
           Beep(280, 150);
           Beep(350, 150);
           Beep(420, 200);
          Beep(350, 150);
          Beep(420, 300);
         getch();
         while (jeszczeraz <= 0 || jeszczeraz > 2)
         {
         cout<<"Jeszcze raz?"<<endl;
         cout<<"1.Tak"<<endl;
         cout<<"2.Nie"<<endl;
         cin>>jeszczeraz;
         switch (jeszczeraz)
         {
         case 1 : heronowhp = heromaxhp;
         heronowmp = heromaxmp;
         opnowhp = opmaxhp;
         opnowmp = opmaxmp;
         cout<<"No , to jeszcze raz"<<endl;
         getch();
         system("cls");
         walka();
         break;
         case 2 : miasto();
         break;
         default : system("cls");
         cout<<"Nieznana opcja"<<endl;
         break;
         }
         }
         }
       }
       }
       
int powyborze ()
{
    if(pomiescie = false)
    {
     miasto();
    }
    else
    {
while (przeciwnik <= 0 || przeciwnik >= 3)
{
 cout<<"Wybierz przeciwnika :"<<endl;
 cout<<"1.Bandyta"<<endl;
 cout<<"2.Czarodziej"<<endl;
 cin>>przeciwnik;
 switch (przeciwnik)
 {
  case 1 : system("cls");
  cout<<"Twoim przeciwnikiem bedzie bandyta"<<endl;
  op = "Bandyta";
  opfizatk = 30;//0-30
  opmagatk = 6;//0-6
  getch();
  system("cls");
  walka();
  while (heronowhp > 0 || opnowhp > 0)
  {
        walka();
  }
  break;
  case 2 : system("cls");
  cout<<"Twoim przeciwnikiem bedzie czarodziej"<<endl;
  op = "Czarodziej";
  opfizatk = 6;//0-6
  opmagatk = 30;//0-30
  getch();
  system("cls");
  walka();
  while (heronowhp > 0 || opnowhp > 0)
  {
        walka();
  }
  break;     
  default : cout<<"Nieznana opcja"<<endl;
  getch();
  system("cls");
 }//switch
}//while
}//else
}//funkcja

int wyborklasy ()
{
      cout<<"Wolisz maga(1) , rycerza(2) , czy sam zrobisz swoja klase(3)?"<<endl;//wybór klasy
      cin>>klasa;
      switch(klasa)
      {
        case 1 : herofizatk = 6;//0-6
        heromagatk = 30;//0-30
        system("cls");
        cout<<"Jestes magiem"<<endl;
        miasto();
        break;
        case 2 : herofizatk = 30;//0-30
        heromagatk = 6;//0-6
        system("cls");
        cout<<"Jestes rycerzem"<<endl;
        miasto();
        break;
        case 3 :
        cout<<"Robisz swoja klase"<<endl;
        cout<<"Powodzenia"<<endl;
        getch();
        while(wolnepkt >= 0)
        {
        system("cls");
        cout<<"Atrybuty"<<endl;
        cout<<"Atak fizyczny : "<<herofizatk<<endl;
        cout<<"Atak magiczny : "<<heromagatk<<endl;
        cout<<"Masz jescze "<<wolnepkt<<"pkt."<<endl;
        cout<<"Do czego chcesz dodac 1 punkt?"<<endl;
        cout<<"1.Atak fizyczny"<<endl;
        cout<<"2.Atak magiczny"<<endl;
        cout<<"3.Do niczego[walka]"<<endl;
        dodajpkt=getch();
        switch(dodajpkt)
        {
        case 49 : cout<<"Wybrales wzmocnienie ataku fizycznego"<<endl;
        herofizatk++;
        wolnepkt--;
        getch();
        break;
        case 50 : cout<<"Wybrales wzmocnienie ataku magicznego"<<endl;
        heromagatk++;
        wolnepkt--;
        getch();
        break;
        case 51 : cout<<"Gratulacje , stworzyles wlasna klase"<<endl;
        miasto();
        break;
        default : cout<<"Nieznana opcja"<<endl;
        getch();
        system("cls");
        break;
        }
        }
        break;
        default : cout<<"Nieznana opcja"<<endl;
        getch();
        system("cls");
        wyborklasy();
        break;
      }             
}



int main(int argc, char *argv[])
{
  SetConsoleTitle("Console Adventure");
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
  cout<<" CCCCCCC   OOOOOO   NNNN    NN    SSSSS    OOOOOO  LL     EEEEEE"<<endl;//Intro
  cout<<"       CCC OO    OO  NN NN   NN   SS   SS  OO    OO LL     E"<<endl;
  cout<<"      CCC OO    OO  NN NN   NN    SS OO    OO LL        E"<<endl;
  cout<<"     CCC OO    OO  NN  NN  NN     SS OO    OO LL     EEEEEE"<<endl;
  cout<<"      CCC OO    OO  NN   NN NN    SS OO    OO LL        E"<<endl;
  cout<<"       CCC OO    OO  NN NN NN  SS   SS   OO    OO LL        E"<<endl;
  cout<<" CCCCCCC   OOOOOO   NN   NN SSSSS     OOOOOO  LLLLLLLL  EEEEEE"<<endl;
  cout<<""<<endl;
  cout<<""<<endl;
  cout<<"                             Adventure"<<endl;
  cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\tWersja 0.1"<<endl;
  Beep(100,500);
  Beep(150,500);
  Beep(200,500);
  Beep(250,500);
  Beep(270,500);
  Beep(300,500);
  Beep(300,100);
  Beep(270,100);
  Beep(250,100);
  Beep(200,100);
  Beep(150,100);
  Beep(100,100);
  Beep(50,500);
  cout<<"\n\t\tNacisnij dowolny klawisz aby kontynuowac";
  getch();
  etymenu :
  system("cls");
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
  cout<<"-----Menu-----"<<endl;//menu
  cout<<"1.Nowa gra"<<endl;
  cout<<"2.Wyjscie"<<endl;
  cout<<"3.O grze"<<endl;
  cin>>wybor;
  switch (wybor)
  {
    case 1 : system("cls");//Nowa gra
    cout<<"Wpisz swoje imie"<<endl;
    cin>>imie;
    etywitaj:
    system("cls");
    cout<<"Witaj "<<imie<<"!"<<endl;
    cout<<"Co chcesz teraz zrobic?"<<endl;
    cout<<"1.Wybrac klase\n2.Wyjsc"<<endl;
    cin>>zrobic;
    switch(zrobic)
    {
      case 1 : wyborklasy();
            powyborze();
      break;
      case 2 : EXIT_SUCCESS;break;
      default : cout<<"Nieznana opcja"<<endl;
      getch();
      goto etywitaj;
      break;
    }
    break;
    case 2 : EXIT_SUCCESS;break;
    case 3 : system("cls");
    cout<<"Console Adventure 0.1 (nazwa zmieniona z 'Fight')"<<endl;
    cout<<"Gra poczatkowo miala byc samym systemem walki,ale chyba bedzie z tego cos wiecej"<<endl;
    cout<<"Autorzy :"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 3);
    cout<<"Maciejo54 - glowny pomyslodawca i realizator projektu"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2);
    cout<<"Noruj - 'doradca'"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
    getch();
    system("cls");
    goto etymenu;
    break;
    default : cout<<"Nieznana opcja"<<endl;
    getch();
    goto etymenu;
    break;
  }
  cout<<"Nacisnij cos , aby zakonczyc program"<<endl;
  getch();
}
Jeśli chcesz aby program poprawnie działał musisz ściągnąć bibliotekę console.ddt ze strony ddt.pl
http://kursy.ddt.pl/?LessonId=9wystarczy troszkę poczytać
« Ostatnia zmiana: Lipiec 16, 2010, 22:19 wysłana przez maciejo54 »

Offline maciejo54

  • Użytkownik
  • **
  • Wiadomości: 63
  • Płeć: Mężczyzna
  • Polecam mojego bloga : http://www.hack54.blox.pl
    • Moja strona
  • Poziom: Początkujący
  • Specjalizacja: Ogólny
Odp: [C++]Fight
« Odpowiedź #22 dnia: Lipiec 27, 2010, 16:03 »
Sorki za doubleposta , ale pewnie nikt by nie zauwazyl jest wersja 0.2http://www.mediafire.com/?pauj4j94x44d2zj - oczekujcie nastepnych :D

Offline Noruj

  • Zaawansowany użytkownik
  • ***
  • Wiadomości: 774
  • Płeć: Mężczyzna
  • Agnosco
  • Poziom: Zielony
  • Specjalizacja: Ogólny
Odp: [C++]Fight
« Odpowiedź #23 dnia: Lipiec 27, 2010, 17:15 »
Wersja 0.2 jest wymiatająca. Sklepy, misje. O stary :D
Sorry, że nie odpisywałem, ale wyjechałem.

Offline Thieffer

  • Zaawansowany użytkownik
  • ***
  • Wiadomości: 1221
  • Płeć: Mężczyzna
    • Thieffer Gamedev
  • Poziom: Zielony
  • Specjalizacja: Skrypter
Odp: [C++]Fight
« Odpowiedź #24 dnia: Lipiec 27, 2010, 20:04 »
Takie gry są najlepsze ; D
Powodzenia przy dalszej pracy. Jeśli rozbudujesz bardziej, to może wyjść coś ciekawego.

Offline maciejo54

  • Użytkownik
  • **
  • Wiadomości: 63
  • Płeć: Mężczyzna
  • Polecam mojego bloga : http://www.hack54.blox.pl
    • Moja strona
  • Poziom: Początkujący
  • Specjalizacja: Ogólny
Odp: [C++]Fight
« Odpowiedź #25 dnia: Lipiec 30, 2010, 10:39 »
Jak skończę tą grę (1.0 czy coś wyżej :D) to , wezmę się za allegro i tam zacznie się wymiatanie xD (grafika i te sprawy :D) , ale wtedy chyba będę potrzebował pomocników , może kogoś z tego forum...

Offline maciejo54

  • Użytkownik
  • **
  • Wiadomości: 63
  • Płeć: Mężczyzna
  • Polecam mojego bloga : http://www.hack54.blox.pl
    • Moja strona
  • Poziom: Początkujący
  • Specjalizacja: Ogólny
Odp: [C++]Fight
« Odpowiedź #26 dnia: Sierpień 06, 2010, 09:35 »
Jest 1.0 już chwilkę jakby coś http://www.mediafire.com/?af7g1an42p3n9c8 ale na tym chyba poprzestanę
PS. Sorki za doubla

Offline Kamikadze

  • Użytkownik
  • **
  • Wiadomości: 370
  • Guten Tag :)
  • Poziom: Średni
  • Specjalizacja: Grafik
Odp: [C++]Fight
« Odpowiedź #27 dnia: Sierpień 13, 2010, 23:01 »
Ale i tak fajne jest :) Rób dalej takie gry ^^ ;D
:::...:::...:::...:::...:::...:::...:::...:::...:::...:::...

Offline maciejo54

  • Użytkownik
  • **
  • Wiadomości: 63
  • Płeć: Mężczyzna
  • Polecam mojego bloga : http://www.hack54.blox.pl
    • Moja strona
  • Poziom: Początkujący
  • Specjalizacja: Ogólny
Odp: [C++]Fight
« Odpowiedź #28 dnia: Sierpień 17, 2010, 16:04 »
Teraz przerzucam sie na grafike :D Bedzie kolejny projekt mam nadzieje ze lepszy ;p

Offline Shinku

  • Użytkownik
  • **
  • Wiadomości: 85
  • Płeć: Mężczyzna
  • Poziom: Zielony
  • Specjalizacja: Ogólny
Odp: [C++]Fight
« Odpowiedź #29 dnia: Sierpień 17, 2010, 18:19 »
Yhhh... Słaba xD po pierwszej walce mi się wyłączyło. Może coś wcisnąłem xD


Offline Rikku

  • Newbie
  • *
  • Wiadomości: 31
  • Płeć: Mężczyzna
  • Kula ziemska mi się tnie?
  • Poziom: Początkujący
  • Specjalizacja: Ogólny
Odp: [C++]Fight
« Odpowiedź #30 dnia: Wrzesień 05, 2010, 11:00 »
@maciejo
Odpowiesz na moje PW? Związane z twoją grą.
Kryształ Atroposa <<< Na zawsze w mojej pamięci [FORMAT]

Offline maciejo54

  • Użytkownik
  • **
  • Wiadomości: 63
  • Płeć: Mężczyzna
  • Polecam mojego bloga : http://www.hack54.blox.pl
    • Moja strona
  • Poziom: Początkujący
  • Specjalizacja: Ogólny
Odp: [C++]Fight
« Odpowiedź #31 dnia: Wrzesień 05, 2010, 16:55 »
odpisałem ale posta chyba gdzies wcielo bo ja go tez nie mam ale w kazdym razie musisz miec console.ddt z reszta napisalem we wczesniejszym poscie
PS. tamta strona jest przeniesiona ale moze bedzie na tej drugiej a jak nie to wysij mi na PW twojego maila to ci przesle