Présentation du jeu-concours

Ce jeu concours, gratuit et sans obligation d'achat, est organisé en partenariat avec Microsoft. Afin de préserver son indépendance commerciale, CommentCaMarche.net diffuse ce jeu-concours sans aucune contrepartie financière de la part de la société Microsoft France. Par ailleurs, l'espace "jeu-concours" de CommentCaMarche est ouvert à toute initiative visant à promouvoir l'usage des technologies.

Pour participer à ce jeu concours, il suffit de compiler un bout de code disponible ci-dessous et découvrir une phrase mystère. Ensuite il ne reste plus qu’à s'inscrire à ce jeu en tapant la phrase mystère.

Le code du jeu Compil’Express est disponible ci-dessous en C# et en VB.NET. Ce jeu s’adresse en priorité aux débutants en programmation, aux étudiants mais aussi aux développeurs qui souhaitent s’amuser où découvrir Visual Basic Express Editions où Visual C# Express Editions.

Pour avoir une chance de gagner par tirage au sort l’un des lots ci-dessous, il faut suivre les 4 étapes suivantes :

  1. Téléchargez soit Visual Basic Express Editions, soit Visual C# Express Editions à l'adresse suivante :
  2. Activez votre version Express en enregistrant votre produit et bénéficiez des avantages offerts par cette activation : une banque d'images Corbis, des logos ainsi que des ouvrages en version électronique vous sont offerts.

    Pour l’enregistrement d’une édition Visual Studio Express, exécutez tout simplement votre édition Express et cliquez sur Aide (?) -> Inscrire le Produit...

  3. Récupérez le code du jeu ci-dessous, en VB.Net ou en C#, puis créez un nouveau projet de type Application Windows et remplacez la méthode Form1_Load par le code ci-dessous. Compilez le code du langage de votre choix dans une des versions Express téléchargées précédemment et découvrez la phrase mystère !
  4. Inscrivez-vous au jeu Compil’Express en tapant la phrase mystère en cliquant ici.

La participation à ce jeu gratuit et sans obligation d'achat est ouverte à toute personne physique domiciliée en France métropolitaine (y compris la Corse), âgée de seize(16) ans au moins.

Ce jeu prend fin le 31 octobre 2006 à minuit.

A gagner

1 pass complet Tech-Ed Developers 2006 comprenant l’entrée à la conférence, et un forfait de remboursement d’une valeur de 700 € pour le voyage et le transport.

Si le gagnant se trouve dans l’impossibilité de profiter de ce premier lot et en avise aussitôt Microsoft France, celle-ci s’engage à lui fournir en remplacement une Carte Cadeau Kadéos créditée pour une valeur de 2000 euros.

1 Microsoft Xbox 360 Premium

3 Microsoft LifeCam VX 6000
 5 t-shirts Visual Studio Express

Code VB.NET

Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load

       Dim lbl As Label = New Label

       lbl.AutoSize = False

       lbl.Width = 225

       lbl.Height = 45

       lbl.Location = New System.Drawing.Point(12, 10)

       lbl.Text = "Pour participer au jeu Compil'Express, il faut découvrir " & _
       "une phrase mystère qui est cachée derrière ce texte:"

       Me.Text = "Compil'Express"

       Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D

       Me.MaximizeBox = False

       Me.BackColor = Color.Violet

       Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0F, 13.0F)

       Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font

       Me.ClientSize = New System.Drawing.Size(284, 200)

       Dim btn As Button = New Button

       btn.Location = New System.Drawing.Point(65, 175)

       btn.Size = New System.Drawing.Size(75, 23)

       btn.BackColor = System.Drawing.SystemColors.Control

       btn.AutoSize = True

       btn.Text = "Dévoiler la phrase mystère !"

       AddHandler btn.Click, AddressOf btn_Click

       tb = New TextBox

       tb.Location = New System.Drawing.Point(12, 55)

       tb.Size = New System.Drawing.Size(260, 116)

       tb.Multiline = True

       tb.ReadOnly = True

       tb.Text = LaChaineCryptee

       tb.Font = New Font("Arial", 10, FontStyle.Italic)

       Me.Controls.Add(lbl)

       Me.Controls.Add(btn)

       Me.Controls.Add(tb)

   End Sub

 

   Private Sub btn_Click(ByVal sender As Object, ByVal e As EventArgs)

       Dim Phrase As String = DevoilerPhraseMystere()

       MessageBox.Show(Phrase, "La phrase mystère est:", _
       MessageBoxButtons.OK, _
       MessageBoxIcon.Information)

       Me.tb.Text = Phrase

       MessageBox.Show("Maintenant, inscris-toi au jeu Compil'Express " & _
       "en saisissant la phrase mystère dans la page d'inscription qui va apparaitre !"
, _
       "Bravo !", _
       MessageBoxButtons.OK, MessageBoxIcon.Information)

       System.Diagnostics.Process.Start( _
"https://profile.microsoft.com/RegSysProfileCenter/wizard.aspx?wizid=a9faac76-35b2-472d-8871-d862dcb79034&lcid=1036")

   End Sub

 

    Private Function DevoilerPhraseMystere() As String

       PhraseMystere = New System.Text.StringBuilder

       Dim TableauDeLaChaineCryptee As String() = LaChaineCryptee.Split(" "c)

       Dim EstAuDebut As Boolean = True

       Dim Lettre As String

       For Each mot As String In TableauDeLaChaineCryptee

           If EstAuDebut Then

               Lettre = mot.Substring(0, 1)

           Else

               Dim PositionDerniereLettre As Integer = mot.Length

               Lettre = mot.Substring(PositionDerniereLettre - 1, 1)

           End If

           PhraseMystere.Append(Lettre)

           EstAuDebut = Not EstAuDebut

       Next

       Dim Espaces As Integer() = New Integer() {4, 8, 17, 25, 28, 35, 42}

       For Each espace As Integer In Espaces

           PhraseMystere.Insert(espace, " ")

       Next

       PhraseMystere.Replace("e", "E", 18, 1)

       PhraseMystere.Replace("v", "V", 29, 1)

       PhraseMystere.Replace("s", "S", 36, 1)

       Return PhraseMystere.ToString

   End Function

   Private LaChaineCryptee As String = "Vi " & _
   "nequi vunc suspendisse lipsum errare se litev erratum consectetuer " & _
   "sagittis mi odio sapien sed posuere xum volutp rhoncus habitasse " & _
   "sit mauris de augue velitev feli sodales tu a nisl scelerisque " & _
   "eget unc sed id odio !"

   Private PhraseMystere As System.Text.StringBuilder

   Private tb As TextBox

Code C#

private void Form1_Load(object sender, EventArgs e)

       {

           //Label

           Label lbl = new Label();

           lbl.AutoSize = false;

           lbl.Width = 225;

           lbl.Height = 45;

           lbl.Location = new System.Drawing.Point(12, 10);

           lbl.Text = "Pour participer au jeu Compil'Express, il faut découvrir " +
           "une phrase mystère qui est cachée derrière ce texte:"
;

 

           // Fenêtre principale

           this.Text = "Compil'Express";

           this.FormBorderStyle = FormBorderStyle.Fixed3D;

           this.MaximizeBox = false;

           this.BackColor = Color.Violet;

           this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

           this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

           this.ClientSize = new System.Drawing.Size(284, 200);

 

           // Bouton

           Button btn = new Button();

           btn.Location = new System.Drawing.Point(65, 175);

           btn.Size = new System.Drawing.Size(75, 23);

           btn.BackColor = System.Drawing.SystemColors.Control;

           btn.AutoSize = true;

           btn.Text = "Dévoiler la phrase mystère !";

           btn.Click +=new EventHandler(btn_Click);

 

           // TextBox

           tb = new TextBox();

           tb.Location = new System.Drawing.Point(12, 55);

           tb.Size = new System.Drawing.Size(260, 116);

           tb.Multiline = true;

           tb.ReadOnly = true;

           tb.Text = LaChaineCryptee;

           tb.Font = new Font("Arial", 10, FontStyle.Italic);

 

           this.Controls.Add(lbl);

           this.Controls.Add(btn);

           this.Controls.Add(tb);

       }

 

       private void btn_Click(object sender, EventArgs e)

       {

           string Phrase = DevoilerPhraseMystere();

           MessageBox.Show(Phrase, "La phrase mystère est:",
           MessageBoxButtons.OK,
           MessageBoxIcon.Information);

           this.tb.Text = Phrase;

           MessageBox.Show("Maintenant, " +
           "inscris-toi au jeu Compil'Express en saisissant la phrase mystère dans " +
           "la page d'inscription qui va apparaitre !"
,
           "Bravo !",
           MessageBoxButtons.OK,
           MessageBoxIcon.Information);

           System.Diagnostics.Process.Start(
"https://profile.microsoft.com/RegSysProfileCenter/wizard.aspx?wizid=a9faac76-35b2-472d-8871-d862dcb79034&lcid=1036"
);

        }

       private string DevoilerPhraseMystere()

       {

           PhraseMystere = new StringBuilder();

           string [] TableauDeLaChaineCryptee = LaChaineCryptee.Split(' ');

           bool EstAuDebut = true;

           string Lettre;

           foreach(string mot in TableauDeLaChaineCryptee)

           {

               if (EstAuDebut)

               {

                   Lettre = mot.Substring(0, 1);

               }

               else

               {

                   int PositionDerniereLettre = mot.Length;

                   Lettre = mot.Substring(PositionDerniereLettre - 1, 1);

               }

               PhraseMystere.Append(Lettre);

               EstAuDebut = !EstAuDebut;

           }

           int [] Espaces = new int [] { 4, 8, 17, 25, 28, 35, 42 };

           foreach(int espace in Espaces)

           {

               PhraseMystere.Insert(espace, " ");

           }


           PhraseMystere.Replace("e", "E", 18, 1);

           PhraseMystere.Replace("v", "V", 29, 1);

           PhraseMystere.Replace("s", "S", 36, 1);

           return PhraseMystere.ToString();

       }

       private string LaChaineCryptee = "Vi nequi vunc " +
       "suspendisse lipsum errare se litev erratum consectetuer sagittis " +
       "mi odio sapien sed posuere xum volutp rhoncus habitasse sit " +
       "mauris de augue velitev feli sodales tu a nisl scelerisque " +
       "eget unc sed id odio !"
;

       private StringBuilder PhraseMystere;

 private TextBox tb;

Besoin d'aide ?

N'hésitez pas à poster vos questions sur le Forum programmation ! Prière de poser des questions sur des morceaux de code sans demander la solution au jeu-concours, dans la mesure où il s'agit essentiellement de vous permettre d'apprendre la programmation !