Affichez un extraterrestre dans une console

Hello,
J’ai déjà posté ce bout de code dans la taverne mais je le recolle ici pour le garder précieusement. C’est juste sentimental :)

public class ByeBye
{
    public ByeBye(int lap)
    {
        Console.Clear();
        int h = 9;
        int w = 15;
        int WH = Console.WindowHeight - h;
        int WW = Console.WindowWidth - w;
        string lines = string.Empty;

        for (int i = 0; i < WH; i += h)
        {
            for (int k = 0; k < WW; k++)
            {
                Console.WriteLine(lines);
                DrawInvader(k);
                Thread.Sleep(lap);
                Console.Clear();
            }
            AddBlankLines(h, ref lines);
            Console.Clear();
        }
    }

    #region PRIVATE MEMBERS

    private static void AddBlankLines(int nb, ref string lines)
    {
        for (int j = 0; j < nb; j++)
        {
            lines += "\r\n";
        }
    }

    private static void DrawInvader(int left)
    {
        string tabs = string.Empty;
        for (int i = 0; i < left; i++)
        {
            tabs += " ";
        }
        Console.ForegroundColor = ConsoleColor.Green;
        StringBuilder sb = new StringBuilder();

        if (left % 2 == 0)
            Even(sb, tabs);
        else
            Odd(sb, tabs);

        Console.Write(sb.ToString());
        Console.ResetColor();
    }

    private static void Even(StringBuilder sb, string tabs)
    {
        sb.AppendFormat("{0}   #       #   \r\n", tabs);
        sb.AppendFormat("{0}    #     #    \r\n", tabs);
        sb.AppendFormat("{0}  ###########  \r\n", tabs);
        sb.AppendFormat("{0} ### ##### ### \r\n", tabs);
        sb.AppendFormat("{0}###############\r\n", tabs);
        sb.AppendFormat("{0}# ########### #\r\n", tabs);
        sb.AppendFormat("{0}#  #       #  #\r\n", tabs);
        sb.AppendFormat("{0}    ##   ##    \r\n", tabs);
    }

    private static void Odd(StringBuilder sb, string tabs)
    {
        sb.AppendFormat("{0}   #       #   \r\n", tabs);
        sb.AppendFormat("{0}    #     #    \r\n", tabs);
        sb.AppendFormat("{0}# ########### #\r\n", tabs);
        sb.AppendFormat("{0}#### ##### ####\r\n", tabs);
        sb.AppendFormat("{0}###############\r\n", tabs);
        sb.AppendFormat("{0}  ###########  \r\n", tabs);
        sb.AppendFormat("{0}   #       #   \r\n", tabs);
        sb.AppendFormat("{0} ##         ## \r\n", tabs);
    }

    #endregion
}

Voici un aperçu du rendu:
Rendu

Convertir une chaîne de caractères en son énumération

C’est assez pratique et on n’y pense pas toujours alors je le mets ici.

Mettons l’énumération ci-dessous:

public enum MonEnum
{
    // Définition d'une valeur par défaut en lui associant la valeur numérique "0"
    Zero = 0,
    Un = 1,
    Deux = 2,
    Trois = 3
}

Comment obtenir la valeur correspondant à la chaîne de caractères suivante: « Deux »? Tout simplement ainsi:

class MaClass
{
    public static MonEnum GetEnum(string p)
    {
        var obj = default(MonEnum);

        if (Enum.IsDefined(typeof(MonEnum), p))
        {
            obj = (MonEnum)Enum.Parse(typeof(MonEnum), p);
        }

        return obj;
    }
}

Attention, la méthode « Enum.IsDefined(Type enumType, object value) » est sensible à la casse.

Voici comment en faire une méthode générique:

Désolé, le blog convertit les signes « supérieur » et « inférieur ». Je vous mets ce code sous forme d’image…

A+

Modifiez un peu le style de votre blog

Re,
Après une petite prise en main, j’ai réussi à modifier quelques balises du style du blog. Si vous voulez faire pareil, allez dans les réglages > CodeColorer > Styles CSS personnalisés et surchargez les classes du style. Voici ce que j’ai modifié:

div.contenuPage
{
    padding: 0px;
}
div.contenuPage div#page.hfeed header#branding nav#access
{
    background: linear-gradient(#252525, #4A638F) repeat scroll 0 0 transparent;
}
div.contenuPage div#page.hfeed header#branding div.only-search form#searchform input#s.field
{
    background-color: #FFFFFF;
}
div.contenuPage div#page.hfeed
{
    margin: 0px;
    max-width: 100%;
}
div.contenuPage div#page.hfeed div#main div#primary
{
    float: left;
    margin: 0px;
    width: 78%;
}
div.contenuPage div#page.hfeed div#main div#secondary
{
    float: right;
    margin-right: 0px;
    width: 18%;
}
div.contenuPage div#page.hfeed div#main div#primary div#content
{
    width: 91%;
    margin-left: 9%;
}
div.contenuPage div#page.hfeed div#main div#primary div#content nav#nav-single
{
    display: none;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article header.entry-header
{
    height: 60px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article header.entry-header h1.entry-title
{
    font-weight: normal;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article header.entry-header div.entry-meta
{
    height: 75px;
    left: -83px;
    padding-right: 0;
    position: relative;
    top: -50px;
    width: 72px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article header.entry-header div.entry-meta span.sep
{
    display: none;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article header.entry-header div.entry-meta a
{
    display: block;
    font-size: 0.9em;
    font-weight: bold;
    text-align: center;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content
{
    padding-top: 0px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content div.codecolorer-container
{
    width: 100%;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content div.codecolorer-container table tbody tr td.line-numbers
{
    width: 35px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content div.codecolorer-container table tbody tr td.line-numbers div
{
    text-align: right;
    width: 30px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content div.codecolorer-container table tbody tr td div.codecolorer
{
    overflow-x: hidden;
    padding-top: 0px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content div.codecolorer-container table tbody tr td.line-numbers div
{
    vertical-align: top;
}

Qu’en pensez-vous? N’est-ce pas un peu mieux de profiter de toute la largeur de la fenêtre?

A+