arquivo limpo Scan
seria bom complementar o tópico explicando qual a finalidade e como funciona o programa.
info
Grupo: Campones
Registrado: 20/11/07
Posts: 18
Reputação: +2
Char no Tibia: nenhum.

arquivo limpo Scan
seria bom complementar o tópico explicando qual a finalidade e como funciona o programa.
Editado Janeiro 13 por HellGhost
info
Grupo: Visconde
Registrado: 29/06/08
Posts: 354
Reputação: +10
Char no Tibia: Sir Aluxes
[source] Player
Player.dev
main.cpp:
#include <windows.h> #include <conio.h> #include <vector> #include "player.h" #include "monster.h" std::vector<char *> generatePlayerName; template <class objectType> objectType Character::convertCharacter(__int64 convertType, objectType characterConvert) const { char *convertedCharacter = (char *) malloc(MAX_PATH); switch (convertType) { case 0x10: { CharToOem(characterConvert, convertedCharacter); ZeroMemory((void *) characterConvert, 0); return convertedCharacter; } case 0x20: { for (int convertSize = 0; convertSize < strlen(characterConvert); convertSize++) { characterConvert[convertSize] = characterConvert[convertSize] ^ 0x01; } return characterConvert; } } } Character *character; Player player[MAX_PATH]; Player::Spell::Attack *attack; Monster monster[MAX_PATH]; int main() { SetConsoleTitle("Jogo Feito em C++"); textcolor(WHITE); textbackground(BLACK); system("color 00"); srand(time(NULL)); generatePlayerName.push_back("Aluxes"); generatePlayerName.push_back("Splasy"); generatePlayerName.push_back("Rauron"); generatePlayerName.push_back("Fafain"); generatePlayerName.push_back("Stracy"); generatePlayerName.push_back("Morgan"); player->setName(player); monster->setName("Draptor", monster); if (strlen(player->playerName) <= 4) { player->playerName = generatePlayerName[rand() % 6]; clrscr(); printf("\n O nome do jogador %s.", character->convertCharacter<char *>(0x10, "é inválido")); getch(); clrscr(); } else if (!strcmp(player->playerName, "Draptor")) { player->playerName = generatePlayerName[rand() % 6]; clrscr(); printf("\n O nome do jogador %s.", character->convertCharacter<char *>(0x10, "é inválido")); getch(); clrscr(); } while (!player->playerDie && !monster->monsterDie) { if (attack->attackMonster(player, monster)) { player->firstAttack = true; } } if (player->playerDie && !monster->monsterDie) { printf("\n %s morreu.", player->playerName); } else if (monster->monsterDie && !player->playerDie) { printf("\n %s morreu.", monster->monsterName); } else if (player->playerDie && monster->monsterDie) { printf("\n %s e %s morreram.", player->playerName, monster->monsterName); } getch(); }monster.cpp
#include <windows.h> #include "monster.h" void Monster::setName(char *inputName, Monster *monster) { if (strlen(inputName) <= 0) { monster->monsterName = NULL; } else if (!strlen(inputName) <= 0) { monster->monsterName = inputName; } } void Monster::setHealth(Monster *monster) { if (!monster->firstHealth) { if (!strcmp(monster->monsterName, "Draptor")) { monster->monsterHealth = 6000; monster->firstHealth = true; } } } __int32 Monster::getAttack(Monster *monster) const { if (!strcmp(monster->monsterName, "Draptor")) { return rand() % 301 + 1300; } }monster.h
#ifndef __MONSTER__ #define __MONSTER__ class Monster { public: void setName(char *inputName, Monster *monster); void setHealth(Monster *monster); __int32 getAttack(Monster *monster) const; char *monsterName; bool firstHealth; __int32 monsterHealth, monsterAttack, monsterDie; }; #endifplayer.cpp
#include <windows.h> #include <conio.h> #include "player.h" void Player::setName(Player *player) { player->inputName = (char *) malloc(MAX_PATH); printf("\n Digite o nome da pessoa: "); gets(player->inputName); clrscr(); player->playerName = player->inputName; } void Player::setHealth(Player *player) { if (!player->firstHealth && !player->firstAttack) { player->playerHealth = 10000; } } __int32 Player::getAttack(Player *player) const { if (player->playerHealth && !player->firstAttack) { if (!player->firstHealth) { player->firstAttack = true; } return rand() % 301 + 1000; } else if (player->playerHealth && player->firstAttack) { return rand() % 301 + 1000; } else if (!player->playerHealth && !player->firstAttack) { return rand() % 301 + 1000; } else if (!player->playerHealth && player->firstAttack) { return -1; } } signed short Player::Spell::Attack::attackMonster(Player *player, Monster *monster) const { Character *character; if (player->firstAttack) { if (player->playerHealth <= 0 && monster->monsterHealth > 0) { player->playerDie = true; } else if (monster->monsterHealth <= 0 && player->playerHealth > 0) { monster->monsterDie = true; } else if (monster->monsterHealth <= 0 && player->playerHealth <= 0) { player->playerDie = true; monster->monsterDie = true; } } if (!player->playerDie && !monster->monsterDie) { player->playerAttack = player->getAttack(player); player->setHealth(player); monster->monsterAttack = monster->getAttack(monster); monster->setHealth(monster); if (player->playerHealth <= 1300) { monster->monsterAttack -= monster->monsterAttack - player->playerHealth; } else if (monster->monsterHealth <= 1300) { player->playerAttack -= player->playerAttack - monster->monsterHealth; } printf("\n %s tirou %d de life. (%s: %d)\n ", monster->monsterName, monster->monsterAttack, monster->monsterName, monster->monsterHealth - player->playerAttack); printf("%s tirou %d de life. (%s: %d)\n", character->convertCharacter<char *>(0x10, "Você"), player->playerAttack, player->playerName, player->playerHealth - monster->monsterAttack); monster->monsterHealth -= player->playerAttack; player->playerHealth -= monster->monsterAttack; return true; } return false; }player.h
#ifndef __PLAYER__ #define __PLAYER__ #include "monster.h" class Character { public: template <class objectType> objectType convertCharacter(__int64 convertType, objectType characterConvert) const; }; class Player : public Monster { public: void setName(Player *player); void setHealth(Player *player); __int32 getAttack(Player *player) const; class Spell { public: class Attack { public: signed short attackMonster(Player *player, Monster *monster) const; }; }; char *inputName, *playerName; bool firstAttack, firstHealth, playerDie; __int32 playerHealth, playerAttack; }; #endifUtilize a lib: -lconio para compilar.
Gostou? Dê-me rep++.
Crédito:
Player.rar
Conio.rar
Editado Janeiro 13 por Aluxes