Ir para conteúdo
Fórum Script Brasil
  • 0

rpg(iniciante)ajudem


Iod

Pergunta

ola sou iniciante em c++ e resolvi criar um rpg pra botar oque eu aprendi em pratica já vou avisando que o codigo esta confuso porque eu usei o comando goto pra fazer os loops, eu fiz a historia em ingles mais os switch em portugues pra meus irmaos entenderem.

eis o codigo:

[//primeiro rpg game

#include <iostream>
using namespace std;


int main(int argc, char *argv[])
{
    srand(time(NULL));
int attack = rand() % 30 + 1;

    //declarando variaveis interas  para as caracteristicas do personagem e dos monstros
    int lvlbegin=9,exp=100,health=100,arm=5;

    //int dos switch
    int numswt,numswtb,numswtc,numswts,numswtf;

    //heath dos monstros
    int rathp=20,ratdmg=10,ratxp=5,trollhp=60,trollxp=30,trolldmg=25,dragonhp=100;

    //strings com os nomes ,fiz assim por que não consegui fazer em modo de strutura 
    string nome="ichigo of dead";

    string monster1="some rats";

    string monster2="troll";

    string monster3="dragon";

    //eu escrevi em ingles por que me acustumei com rpgs assim
    //mais infelizmente sou alto didata no ingles então não reclamen do meu ingles pobre

    cout <<"\twelcome to world riddle\n\n"
    <<"read to begin a new adventure?\n\n";

    cout <<"digite 1 para sim 2 para não\n\n";

    cin >>numswt;

    switch(numswt)
    {
                  case 1:
                       cout<<"the life is hard in the riddler world, gods play with us life, now us battle to survive\n";
                       break;

                   case 2:
                        goto label1;  //goto label 1  aki  <=============== 1°   
                        }   

    cout <<"your adventure begin in a small city of borgil\n\n";

    label3://label de volta para city

    cout <<"you are in city, wheare you go:\n\n";

    cout <<"1 for go to shop, 2 for go to house,\n 3 for go to exit of city:\n\n";

    cin >>numswtc;


    switch(numswtc)
    {
                   case 1:

                   int numswts;

                   cout <<"welcome to shoping of botgil city\n\n"
                   <<"what you need buy 1 potions, 2 armors, 3 leave, 4 look a grate near of shops:\n\n";

                   cin >>numswts;

                   switch(numswts)
                   {
                                  //sub switch shop of city
                                  case 1:
                                  cout <<"sorry you no have money\n\n";

                                  case 2:
                                  cout <<"sorry you no havemoney\n\n";

                                  case 3:
                                       goto label3;//goto label 3 aki <=====3°

                                  case 4:
                                  cout <<"you found a seccret hole in a downtake pipe";

                                  goto label5;//label para o bueiro <========5°
                                  }
                  //house

                  case 2:

                  cout <<"\nyou enter in your house go to bed and sleep like a stone\n\n"
                  <<"you rise with the sing of the birds in mornirg your health is recovery\n\n";
                  health=100;

                  goto label3; //outra label 3 <============= de volta pra city

                  case 3:

                  cout <<"you walk to exit of city and found a small way in jumgle\n\n";

                  goto label6;//goto label 6 aki ela leva pra floresta <===========
                  
                  }
                  
    
    
    //status do character
    cout <<"your character is:"<<nome

    <<"\n\nlevel:"<<lvlbegin

    <<"\n\nyour experience point is:\n"<<exp

    <<"\n\nyour health point is:\n\n"<<health

    <<"\n\nyour armor have "<<arm<<" of protetion\n\n";

    label5: // label 5 combat com os ratos

    //no bueiro
    cout <<"you enter in the cave and found a:"<<monster1<<"\n\nyou go attack 1 for attack 2 for leave?";

    cin >>numswtb;

    switch(numswtb)

    {
                   case 1:

                        cout<<"you attack!\n";

                        break;

                   case 2:

                        cout<<"your enemy attack you behide!\n";

                        break;        

                        }   
    //battle result

    label2://label do loop

    cout <<"\nbattle now!\n"<<"you deal a "<<attack<<" to health of "<<monster1; 

    rathp -=attack;

    if(rathp<1)

    {
     cout<<" now he has 0 of health\n\n";          

    cout <<"you win you lose "<<ratdmg<<" of health and gain" <<ratxp <<" points of experience\n\n";

    health-=ratdmg,exp+=ratxp;
    
    
}
else

//goto pra fazer o loop ate matar o monstro
goto label2;//<============ label 2 faz o loop ate matar o monstro


  //status do character

    cout<<"your character is:"<<nome<<"\n\nlevel:"<<lvlbegin

    <<"\n\nyour experience point is:\n"<<exp

    <<"\n\nyour health point is:\n\n"

    <<health<<"\n\nyour armor have "<<arm<<" of protetion\n\n";  

goto label3;//<=============goto label 3 de volta para city

//label da floresta
label6://<========label 6 lota com o troll

cout <<"you enter in the way of florest and is surprised by a:"<<monster2<<"\n\nyou go attack 1 for attack 2 for leave?";

    cin >>numswtf;

    switch(numswtf)

    {
                   case 1:

                        cout<<"you attack!\n";

                        break;

                   case 2:

                        cout<<"your enemy attack you behide!\n";

                        break;        

                        }   

    //battle result
    label7://label do loop

    cout <<"\nbattle now!\n"<<"you deal a "<<attack<<" to health of "<<monster2; 

    trollhp -=attack;

    if(trollhp<1)

    {
     cout<<" now he has 0 of health\n\n"; 
         
    cout <<"you win you lose "<<trolldmg<<" of health and gain" <<trollxp <<" points of experience\n\n";

    health-=trolldmg,exp+=trollxp;
    
    
}
else

goto label7;//goto pra fazer o loop


  //status do character
    cout<<"your character is:"<<nome<<"\n\nlevel:"<<lvlbegin

    <<"\n\nyour experience point is:\n"<<exp

    <<"\n\nyour health point is:\n\n"

    <<health<<"\n\nyour armor have "<<arm<<" of protetion\n\n";  

label1
:
system("pause");

return 0;
}
    
    
    
    
    

]

se alguém tiver experincia com esse tipo de jogo e pode me ajudar com os loops, se alguém sabe como fazer uma variavel inteira que quando recebe um valor negativa superior ao valor default não estoure(no caso da unsigned)ou fique negativa somente zero como a barra de health de um jogo quando o personagem morre

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Iod, vou lhe dar umas dicas que acho cabíveis. Se você se sentir ofendido, ou achar que meus comentários não procedem, favor ignorá-los!

1º. c++ é uma linguagem que foi criada para implementar a orientação a objetos em C. Não faz sentido escrever um programa em C++ se você não vai utilizar orientação a objetos!

2º. Embora o goto ainda esteja presente em várias linguagens, seu uso é bastante restrito, servindo as vezes para suprir algumas necessidades específicas. No geral não é utilizada, dando lugar à programação estruturada!

3º. Por fim o aconselho a adquirir um bom livro sobre linguagem estruturada (pode ser C ou qualquer outra linguagem estruturada), ou que pelo menos procure bons tutoriais sobre o assunto!

t+

Editado por cyberd
Link para o comentário
Compartilhar em outros sites

  • 0
Iod, vou lhe dar umas dicas que acho cabíveis. Se você se sentir ofendido, ou achar que meus comentários não procedem, favor ignorá-los!

1º. c++ é uma linguagem que foi criada para implementar a orientação a objetos em C. Não faz sentido escrever um programa em C++ se você não vai utilizar orientação a objetos!

2º. Embora o goto ainda esteja presente em várias linguagens, seu uso é bastante restrito, servindo as vezes para suprir algumas necessidades específicas. No geral não é utilizada, dando lugar à programação estruturada!

3º. Por fim o aconselho a adquirir um bom livro sobre linguagem estruturada (pode ser C ou qualquer outra linguagem estruturada), ou que pelo menos procure bons tutoriais sobre o assunto!

t+

cyberd obrigado pelas dicas, eu ainda não entrei na orientaçao a objetos por isso não usei, mais minha inteçao inicial foi pratica oque eu já aprendi, eu postei o codigo aqui no forum justamente pra saber se há uma forma mais facil de faser esse codigo mais eficiente e simples. se alguém do forum puder dar mais dicas como o cyberd eu agradeço.

Editado por Iod
Link para o comentário
Compartilhar em outros sites

  • 0

Rpg (iniciante) ajudem is a role playing game that helps you learn. There are levels to choose from, with each one being harder than the last. You need to check to Try depression therapy and get more new things for manage their health skills. They're organised by topic, so you'll have no problem finding what you need. Additionally, you can use the search function at the top of every page to help you find specific information as well. will keep your brain active and challenge your skills. You'll have fun learning while improving your skills at the same time just remember to follow the instructions and be careful with the moves.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...