sharivan

Exercicio2.cs

Oct 18th, 2015
182
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Este programa se refere ao exercício 2 da lição do dia 18/10/2015. Vide http://pastebin.com/VeriiXMT para maiores detalhes.
  2.  
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8.  
  9. namespace Exercicio2
  10. {
  11.     public abstract class Jogador
  12.     {
  13.         protected abstract string GetNome();
  14.  
  15.         protected abstract string MinhaFrase();
  16.  
  17.         protected abstract string MinhaFraseParaMim();
  18.  
  19.         protected abstract string MinhaFrasePara(Jogador jogador);
  20.  
  21.         public void DigaAlgo()
  22.         {
  23.             Console.WriteLine("{0} disse: {1}", Nome, MinhaFrase());
  24.         }
  25.  
  26.         public void DigaAlgoPara(Jogador jogador)
  27.         {
  28.             if (jogador == this)
  29.                 Console.WriteLine("{0} disse para ele mesmo: {1}", Nome, MinhaFraseParaMim());
  30.             else
  31.                 Console.WriteLine("{0} disse para {1}: {2}", Nome, jogador.Nome, MinhaFrasePara(jogador));
  32.         }
  33.  
  34.         public string Nome
  35.         {
  36.             get { return GetNome(); }
  37.         }
  38.     }
  39.  
  40.     public abstract class TrollDeMerda : Jogador
  41.     {
  42.         public abstract void Trolle();
  43.     }
  44.  
  45.     public class SENPAI : TrollDeMerda
  46.     {
  47.         private const int UM = 1;
  48.         private const int ZERO = 0;
  49.  
  50.         protected override string GetNome()
  51.         {
  52.             return "SENPAI";
  53.         }
  54.  
  55.         protected override string MinhaFrase()
  56.         {
  57.             return "Huehuehue";
  58.         }
  59.  
  60.         protected override string MinhaFraseParaMim()
  61.         {
  62.             return "Eu sou fodaaaa!!!";
  63.         }
  64.  
  65.         protected override string MinhaFrasePara(Jogador jogador)
  66.         {
  67.             if (jogador is Fanzack)
  68.             {
  69.                 if (((Fanzack)jogador).NaoEFilhoDoFanzack())
  70.                     return "Meu filho favorito!!!";
  71.                 else
  72.                     return "Meu netinho!";
  73.             }
  74.             if (jogador is SENPAI)
  75.                 return "Meu filhinho!!!";
  76.             return "Lixo!";
  77.         }
  78.  
  79.         private int Divide(int x, int y)
  80.         {
  81.             return x / y;
  82.         }
  83.  
  84.         public override void Trolle()
  85.         {
  86.             Console.WriteLine("Huehuehue " + Divide(UM, ZERO));
  87.         }
  88.     }
  89.  
  90.     public class Fanzack : SENPAI
  91.     {
  92.         protected bool pai;
  93.  
  94.         public Fanzack()
  95.         {
  96.             pai = true;
  97.         }
  98.  
  99.         protected override string GetNome()
  100.         {
  101.             return "Fanzack";
  102.         }
  103.  
  104.         protected override string MinhaFrase()
  105.         {
  106.             return "Quero frag!!!";
  107.         }
  108.  
  109.         protected override string MinhaFraseParaMim()
  110.         {
  111.             return "Eu sou um viadinho da faquinha!";
  112.         }
  113.  
  114.         protected override string MinhaFrasePara(Jogador jogador)
  115.         {
  116.             if (jogador is Luana)
  117.                 return "Amooooooooooor!!!";
  118.             if (jogador is Fanzack)
  119.                 return "Meu filhinhooooooooo!!!";
  120.             if (jogador is Noutch)
  121.                 return "Meu maninho!";
  122.             if (jogador is NewJhon)
  123.                 return "Meu maninho!";
  124.             if (jogador is SENPAI)
  125.                 return "Papiiiiiiiiiii!!!";
  126.             return "Quem é vc?";
  127.         }
  128.  
  129.         public bool NaoEFilhoDoFanzack()
  130.         {
  131.             return pai;
  132.         }
  133.  
  134.         public override void Trolle()
  135.         {
  136.             Console.WriteLine("Estou dando pulinhos!");
  137.         }
  138.     }
  139.  
  140.     public class Noutch : SENPAI
  141.     {
  142.         protected override string GetNome()
  143.         {
  144.             return "Noutch";
  145.         }
  146.  
  147.         protected override string MinhaFrase()
  148.         {
  149.             return "Quero frag!!!";
  150.         }
  151.  
  152.         protected override string MinhaFraseParaMim()
  153.         {
  154.             return "Eu sou um viadinho da faquinha!";
  155.         }
  156.  
  157.         protected override string MinhaFrasePara(Jogador jogador)
  158.         {
  159.             if (jogador is NewJhon)
  160.                 return "E aehhhh!!!";
  161.             if (jogador is Fanzack)
  162.                 return "Sou melhor que vc!!!";
  163.             if (jogador is SENPAI)
  164.                 return "Meu Paiiiiii!";
  165.             return "Vota Jail Break!";
  166.         }
  167.  
  168.         public override void Trolle()
  169.         {
  170.             Console.WriteLine("Estou tacando molotov no spawn!");
  171.         }
  172.     }
  173.  
  174.     public class NewJhon : SENPAI
  175.     {
  176.         protected override string GetNome()
  177.         {
  178.             return "NewJhon";
  179.         }
  180.  
  181.         protected override string MinhaFrase()
  182.         {
  183.             return "Quero frag facil!!!";
  184.         }
  185.  
  186.         protected override string MinhaFraseParaMim()
  187.         {
  188.             return "Eu sou um noob do caralho!";
  189.         }
  190.  
  191.         protected override string MinhaFrasePara(Jogador jogador)
  192.         {
  193.             if (jogador is Noutch)
  194.                 return "Meu irmãozinho!!!";
  195.             if (jogador is Fanzack)
  196.                 return "Sou melhor que vc seu newba!!!";
  197.             if (jogador is SENPAI)
  198.                 return "Meu Velhooooooo!";
  199.             return "Vem meu frag!";
  200.         }
  201.  
  202.         public override void Trolle()
  203.         {
  204.             Console.WriteLine("Estou tentando pegar zumbi na faca em escape!");
  205.         }
  206.     }
  207.  
  208.     public class ArmaX : Fanzack
  209.     {
  210.         public ArmaX()
  211.         {
  212.             pai = false;
  213.         }
  214.  
  215.         protected override string GetNome()
  216.         {
  217.             return "ArmaX";
  218.         }
  219.  
  220.         protected override string MinhaFrase()
  221.         {
  222.             return "Quero frag facil!!!";
  223.         }
  224.  
  225.         protected override string MinhaFraseParaMim()
  226.         {
  227.             return "Eu sou um noob do caralho!";
  228.         }
  229.  
  230.         protected override string MinhaFrasePara(Jogador jogador)
  231.         {
  232.             if (jogador is Noutch)
  233.                 return "Meu titio!";
  234.             if (jogador is NewJhon)
  235.                 return "Meu titio!";
  236.             if (jogador is Fanzack)
  237.             {
  238.                 if (((Fanzack)jogador).NaoEFilhoDoFanzack())
  239.                     return "Paieeeeeeee!!!";
  240.                 return "Meu maninhoooo!!!";
  241.             }
  242.             if (jogador is SENPAI)
  243.                 return "Meu Vovozinhoooo!!!";
  244.             return "Vem meu frag!";
  245.         }
  246.  
  247.         public override void Trolle()
  248.         {
  249.             Console.WriteLine("Estou imitando meu pai!");
  250.         }
  251.     }
  252.  
  253.     public class Hollister : Fanzack
  254.     {
  255.         public Hollister()
  256.         {
  257.             pai = false;
  258.         }
  259.  
  260.         protected override string GetNome()
  261.         {
  262.             return "Hollister";
  263.         }
  264.  
  265.         protected override string MinhaFrase()
  266.         {
  267.             return "Sou viadinho da faquinha mesmo e dai? Aprendi com meu papai!";
  268.         }
  269.  
  270.         protected override string MinhaFraseParaMim()
  271.         {
  272.             return "Eu sou um cone!";
  273.         }
  274.  
  275.         protected override string MinhaFrasePara(Jogador jogador)
  276.         {
  277.             if (jogador is SENPAI)
  278.                 return "Meu Antepassado!";
  279.             if (jogador is Noutch)
  280.                 return "Meu titio!";
  281.             if (jogador is Fanzack)
  282.             {
  283.                 if (((Fanzack)jogador).NaoEFilhoDoFanzack())
  284.                     return "Papaiiiiiiiiii!!!";
  285.                 return "Fala maninho!";
  286.             }
  287.             return "Ochchchchch quequequequem é vc???";
  288.         }
  289.  
  290.         public override void Trolle()
  291.         {
  292.             throw new Exception("Estou passando a faca no SHARIVAN!");
  293.         }
  294.     }
  295.  
  296.     public class Luana : Jogador
  297.     {
  298.         protected override string GetNome()
  299.         {
  300.             return "Luana";
  301.         }
  302.  
  303.         protected override string MinhaFrase()
  304.         {
  305.             return "Huehas huehas huehas";
  306.         }
  307.  
  308.         protected override string MinhaFraseParaMim()
  309.         {
  310.             return "Noooooooonnnnn";
  311.         }
  312.  
  313.         protected override string MinhaFrasePara(Jogador jogador)
  314.         {
  315.             if (jogador is Fanzack)
  316.             {
  317.                 if (((Fanzack)jogador).NaoEFilhoDoFanzack())
  318.                     return "Meu amoreeeeeeeee!!!";
  319.                 return "Vem cá com a mamãe vem!";
  320.             }
  321.             if (jogador is Noutch)
  322.                 return "Meu cunhado!";
  323.             if (jogador is NewJhon)
  324.                 return "Meu cunhado!";
  325.             if (jogador is SENPAI)
  326.                 return "Meu sogrinho!";
  327.             return "Nuuuuuuuuu huehas huehas huehas.";
  328.         }
  329.     }
  330.  
  331.     public abstract class Admin : Jogador
  332.     {
  333.         public void Kick(Jogador jogador)
  334.         {
  335.             Console.WriteLine("{0} foi kickado por {1}", jogador.Nome, Nome);
  336.         }
  337.     }
  338.  
  339.     public class SHARIVAN : Admin
  340.     {
  341.         protected override string GetNome()
  342.         {
  343.             return "SHARIVAN";
  344.         }
  345.  
  346.         protected override string MinhaFrase()
  347.         {
  348.             return "Vou erradicar com todos os cones e viadinhos da faquinha da face do universo.";
  349.         }
  350.  
  351.         protected override string MinhaFraseParaMim()
  352.         {
  353.             return "Quem é vc?";
  354.         }
  355.  
  356.         protected override string MinhaFrasePara(Jogador jogador)
  357.         {
  358.             if (jogador is Luana)
  359.                 return "Luluuuuuuuuuuuu!!!";
  360.             if (jogador is Hollister)
  361.                 return "Seu cone do caralho";
  362.             if (jogador is ArmaX)
  363.                 return "Noob";
  364.             if (jogador is NewJhon)
  365.                 return "Seu noob do caralho!";
  366.             if (jogador is Fanzack)
  367.                 return "Para de ficar pulando seu mongo do caralho!";
  368.             if (jogador is Noutch)
  369.                 return "Seu fominha!";
  370.             if (jogador is SENPAI)
  371.                 return "Troll de merda!";
  372.  
  373.             return "Não fui com a tua cara!";
  374.         }
  375.     }
  376.  
  377.     class Program
  378.     {
  379.         static void Main(string[] args)
  380.         {
  381.             // complete aqui o que foi pedido no exercício
  382.         }
  383.     }
  384. }
RAW Paste Data