Shady Project

Best Rick Roll Ever

Posted by Shady Tue, 15 Apr 2008 18:15:00 GMT

Sometimes, slashdot isn't a complete waste of time:
//Both people are represented by an abstract class
public abstract class Person
{
  public bool StrangersToLove { get; set; }
  public bool KnowTheRules { get; set; }
}

//Possible thoughts
public enum Thought
{
  FullCommitment
}

//Class
public sealed class Me : Person
{
  public Thought Thinking()
  {
    return Thought.FullCommitment;
  }
}

//The target of the song, notice that GetThought can only be called by passing in an instance of Rick
//which satisfies that she can't get this from any other guy
public class You : Person
{
  private Thought whatHeIsThinking;
  public void GetThought(Me guy)
  {
    whatHeIsThinking = guy.Thinking();
  }
}

class Program
{
  //The first verse
  static void Main(string[] args)
  {

    var Rick = new Me() { KnowTheRules = true, StrangersToLove = false };

    var Girl = new You() { KnowTheRules = true, StrangersToLove = false };

   Girl.GetThought(Rick);
  }
}
Yes, it's a rick roll in code.

Posted in ,  | Tags , ,