[CODE SOURCE] Petit jeu en console

  • Auteur de la discussion Auteur de la discussion deleted293454
  • Créé le Créé le
Statut
N'est pas ouverte pour d'autres réponses.
D

deleted293454

Bonjour :)

Cette nuit dernière m'ennuyant, j'ai décidé de créer un petit jeu en VB.NET !
Désormais fini, je ne vois aucune utilité de garder ce code pour moi, donc je le partage.

Quelques informations à propos du code :
Heures passées dessus : ~ 8 heures
Nombre de lignes : ~555
Code détaillé (Oui/Non) : Oui avec les commentaires.

A propos du jeu :
Vous incarnez un mineur, son objectif ?
Miner..
Vous débutant avec une petite pioche, la pioche du débutant, vous finissez avec la pioche du héro.
Monter en niveau, récolter du fer, de l'or et du diamant pour accroître votre fortune.

Le jeu inclus :
- Un système de niveau
- Un système d'argent
- Un système de vente
- Un système d'achat
- Un système de pods [Nouveau]
- Un système de sauvegarde [Nouveau] [Non sécurisé, à ne pas utiliser pour des logiciels sensibles.]

En bref, le jeu en lui même est une petite économie !

Pourquoi diffuser le code :
Beaucoup de personnes veulent créer des jeux, en y réfléchissant longuement, la seule difficulté n'est pas la programmation mais plutôt la création d''une histoire et la création des décors.
Avec ce petit programme, je donne un aperçu des bases d'un jeu vidéo mais aussi des bases de visual basic.

Droit :
Quiconque peut utiliser le code, le modifier à sa guise et le republier.

Code :

Code:
Imports System.IO 'Manipulation des fichiers.
Module Module1

    Dim minerai As Integer = 0 'Nombre de minerais.
    Dim mny As Integer = 1000 'Variable argent.
    Dim equip As String = "Aucune pioche équipée." 'Variable pioche utilisée.
    Dim lvl As Integer = 1 'Variable niveau.
    Dim fer As Integer = 0 'Nombre de fer.
    Const ferprix As Integer = 50 'Prix fixe du fer.
    Dim ors As Integer = 0 'Nombre d'or.
    Const orprix As Integer = 100 'Prix fixe de l'or.
    Dim diam As Integer = 0 'Nombre de diamant.
    Const diamprix As Integer = 400 'Prix fixe du diamant.
    Dim time As Integer = 2000 'Temps minage (en MS, 1000ms = 1 seconde)
    Dim xp As Integer = 0 'Variable XP.
    Const xpfer As Integer = 50 'L'XP fixe que le fer donne.
    Const xpor As Integer = 100 'L'XP fixe que l'or donne.
    Const xpdiam As Integer = 200 'L'XP fixe que le diamant donne.
    Dim xpnxt As Integer = 100 'XP pour passer au prochain niveau.
    Dim save As Integer = Date.Now.Minute 'Variable sauvegarde automatique.
    Dim pods As Integer = 100 'Variable pods.
    Const podsfer As Integer = 5 'Poid fixe du fer.
    Const podsor As Integer = 10 'Poid fixe de l'or.
    Const podsdiam As Integer = 15 'Poid fixe du diamant.
    Dim podsactu As Integer = 0 'Pods actuel.
    Dim sacequip As String = "Aucun sac équipé." 'Variable sac utilisé.

    Sub Main() 'Lancement du programme.
        If Not My.Computer.FileSystem.DirectoryExists("C:\Users\" & Environment.UserName & "\Desktop\Miner - Jeu") Then
            My.Computer.FileSystem.CreateDirectory("C:\Users\" & Environment.UserName & "\Desktop\Miner - Jeu")
            Dim sw As New StreamWriter("C:\Users\" & Environment.UserName & "\Desktop\Miner - Jeu\save.bak")
            sw.WriteLine(minerai & vbCrLf & mny & vbCrLf & equip & vbCrLf & lvl & vbCrLf & fer & vbCrLf & ors & vbCrLf & diam & vbCrLf & podsactu & vbCrLf & sacequip)
            sw.Close()
        ElseIf Not My.Computer.FileSystem.FileExists("C:\Users\" & Environment.UserName & "\Desktop\Miner - Jeu\save.bak") Then
            Dim sw As New StreamWriter("C:\Users\" & Environment.UserName & "\Desktop\Miner - Jeu\save.bak")
            sw.WriteLine(minerai & vbCrLf & mny & vbCrLf & equip & vbCrLf & lvl & vbCrLf & fer & vbCrLf & ors & vbCrLf & diam & vbCrLf & podsactu & vbCrLf & sacequip)
            sw.Close()
        Else
            Dim fichier As String = ("C:\Users\" & Environment.UserName & "\Desktop\Miner - Jeu\save.bak")
            Dim ligne As List(Of String) = File.ReadLines(fichier).ToList()
            minerai = ligne(0)
            mny = ligne(1)
            equip = ligne(2)
            lvl = ligne(3)
            fer = ligne(4)
            ors = ligne(5)
            diam = ligne(6)
            podsactu = ligne(7)
            sacequip = ligne(8)
        End If
        Dim bool As Boolean = True
        While (bool = True)
            Console.ForegroundColor = ConsoleColor.DarkYellow
            Console.WriteLine("BIENVENUE SUR MINER !")
            Console.ForegroundColor = ConsoleColor.White
            Console.WriteLine("Vous avez " & mny & " ORs")
            Console.WriteLine("Vous etes niveau " & lvl)
            Console.WriteLine("Une pioche est requise pour miner. Voulez-vous achetez une pioche ? (800 ORs) (""Oui"" ou ""Non"")")
            Dim choix As String = Console.ReadLine
            If choix = "Oui" Then
                bool = False
                mny -= 800
                pioche1 = +1
                equip = ("Pioche")
                Console.ForegroundColor = ConsoleColor.DarkGreen
                Console.WriteLine("Votre pioche est prête ! Vous avez : " & mny & " ORs")
                Console.ForegroundColor = ConsoleColor.White
                minage()
            ElseIf choix = "Non" Then
                menu()
            Else
                Console.ForegroundColor = ConsoleColor.DarkRed
                Console.WriteLine("[ERREUR] Veuillez écrire ""Oui"" ou ""Non"" !")
                Console.ForegroundColor = ConsoleColor.White
                Main()
            End If
        End While
        Console.Read()
    End Sub

    Sub sauvegardemanu()
        Try
            Console.ForegroundColor = ConsoleColor.White
            Console.WriteLine(vbCrLf & "Sauvegarde en cours...")
            Dim sw As New StreamWriter("C:\Users\" & Environment.UserName & "\Desktop\Miner - Jeu\save.bak")
            sw.WriteLine(minerai & vbCrLf & mny & vbCrLf & equip & vbCrLf & lvl & vbCrLf & fer & vbCrLf & ors & vbCrLf & diam & vbCrLf & podsactu & vbCrLf & sacequip)
            sw.Close()          
            Console.ForegroundColor = ConsoleColor.Green
            Console.WriteLine("Partie sauvegardée !")
            Console.ForegroundColor = ConsoleColor.White
            Console.WriteLine("Retour au menu." & vbCrLf)
            menu()
        Catch ex As Exception
            Console.ForegroundColor = ConsoleColor.Red
            Console.WriteLine("Le jeu n'a pas pu être sauvegardé, veuillez réessayer ultérieurement.")
            Console.ForegroundColor = ConsoleColor.White
            Console.WriteLine("Retour au menu." & vbCrLf)
            menu()
        End Try
    End Sub

    Sub aleatoire() 'Système de récolte aléatoire.
        Dim alea As New Random
        Dim lettre As String = ""
        lettre = lettre & ChrW(alea.Next(Asc("a"), Asc("h")))
        Select Case lettre
            Case "a"
                Console.ForegroundColor = ConsoleColor.Gray
                Console.WriteLine("Du fer a été récolté !")
                Console.ForegroundColor = ConsoleColor.White
                fer += 1
                xp += xpfer
                podsactu += podsfer
            Case "b"
                Console.ForegroundColor = ConsoleColor.Yellow
                Console.WriteLine("De l'or a été récolté !")
                Console.ForegroundColor = ConsoleColor.White
                ors += 1
                xp += xpor
                podsactu += podsor
            Case "c"
                Console.ForegroundColor = ConsoleColor.Blue
                Console.WriteLine("Du diamant a été récolté !")
                Console.ForegroundColor = ConsoleColor.White
                diam += 1
                xp += xpdiam
                podsactu += podsdiam
            Case Else
                Console.ForegroundColor = ConsoleColor.Gray
                Console.WriteLine("Du fer a été récolté !")
                Console.ForegroundColor = ConsoleColor.White
                fer += 1
                xp += xpfer
                podsactu += podsfer
        End Select
    End Sub

    Sub minage() 'Partie 1/2. Suite à un problème intervenue avec le système de niveau, la partie "minage" a dû être découpée en 2.
        Console.WriteLine("Appuyez sur une la touche ENTREE pour miner.")
        Dim ctnmin As String = Console.ReadLine
        Console.WriteLine("Minage en cours...")
        Threading.Thread.Sleep(time)
        Console.ForegroundColor = ConsoleColor.White
        aleatoire()
        Console.ForegroundColor = ConsoleColor.White
        minerai += 1
        niveau()
    End Sub

    Sub minage2() 'Partie 2/2
        Console.WriteLine("Pods : " & podsactu & "/" & pods)
        Console.WriteLine("Voulez-vous continuer à miner ? (""Oui"" ou ""Non"")")
        Dim choix As String = Console.ReadLine
        Select Case choix
            Case "Oui"
                minage()
            Case "Non"
                vntmin()
            Case Else
                Console.ForegroundColor = ConsoleColor.DarkRed
                Console.WriteLine("[ERREUR] Veuillez écrire ""Oui"" ou ""Non"" !")
                Console.ForegroundColor = ConsoleColor.White
                minage2()
        End Select
    End Sub

    Sub vntmin() 'Vente de minerais.
        Console.ForegroundColor = ConsoleColor.White
        Console.WriteLine("Vous vous êtes arreté de miner.")
        Console.ForegroundColor = ConsoleColor.Yellow
        Console.WriteLine("Vous avez " & fer & " fer(s), " & ors & " or(s) et " & diam & " diamant(s). Voulez-vous les vendre ? (""Oui"" ou ""Non"")")
        Console.ForegroundColor = ConsoleColor.White
        Dim vente As String = Console.ReadLine
        Dim total As Integer = fer + ors + diam
        Dim argt As Integer = fer * ferprix + ors * orprix + diam * diamprix
        Select Case vente
            Case "Oui"
                Console.ForegroundColor = ConsoleColor.DarkGreen
                Console.WriteLine("Vous en avez vendu " & total & ". Vous avez recu " & argt & " ORs." & vbCrLf)
                Console.WriteLine("Retour imminent au menu principal.")
                Threading.Thread.Sleep(2000)
                Console.ForegroundColor = ConsoleColor.White
                mny += argt
                minerai -= total
                menu()
            Case "Non"
                Console.ForegroundColor = ConsoleColor.Yellow
                Console.WriteLine("Retour au menu.")
                Console.ForegroundColor = ConsoleColor.White
                Threading.Thread.Sleep(1000)
                menu()
            Case Else
                Console.ForegroundColor = ConsoleColor.DarkRed
                Console.WriteLine("[ERREUR] Veuillez écrire ""Oui"" ou ""Non"" !")
                Console.ForegroundColor = ConsoleColor.White
                vntmin()
        End Select
    End Sub

    Sub menu() 'Menu principal.
        Dim prctxp As Integer = 100 * xp / xpnxt
        Dim bool As Boolean = True
        While bool = True
            Dim vrai As Boolean = True
            Console.WriteLine("Bienvenue dans le menu principal !")
            Console.WriteLine("Vous avez " & mny & " ORs")
            Console.ForegroundColor = ConsoleColor.Blue
            Console.WriteLine("Menu disponible :" & vbCrLf & "1. Magasin de pioches" & vbCrLf & "2. Magasin de sacs." & vbCrLf & "3. Mine" & vbCrLf & "4. Sauvegarder informations dans un .txt" & vbCrLf & "5. Sauvegarder la partie" & vbCrLf & "6. Informations à propos du jeu")
            Console.ForegroundColor = ConsoleColor.White
            Console.WriteLine("Choisissez un chiffre :")
            Dim choix2 As String = Console.ReadLine
            Select Case choix2
                Case 1
                    magasin()
                Case 2
                    shopsac()
                Case 3
                    If equip = "Aucune pioche équipée." Then
                        Console.ForegroundColor = ConsoleColor.DarkRed
                        Console.WriteLine("Vous n'avez aucune pioche d'équipée, veuillez vous diriger vers le magasin.")
                        Console.ForegroundColor = ConsoleColor.White
                    Else
                        Console.ForegroundColor = ConsoleColor.DarkGreen
                        Console.WriteLine("Votre pioche est prete ! Vous avez : " & mny & " ORs")
                        Console.ForegroundColor = ConsoleColor.White
                        minage()
                    End If
                Case 4
                    Dim sw As New StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\Miner - Jeu\Informations.txt")
                    sw.WriteLine("---------------------------------------------" & vbCrLf & "Argent :" & mny & vbCrLf & "Pioche : " & equip & vbCrLf & "Minerai(s) : " & minerai & vbCrLf & "Fer(s) : " & fer & vbCrLf & "Or(s) : " & ors & vbCrLf & "Diamant(s) : " & diam & vbCrLf & "Niveau : " & lvl & vbCrLf & "Expérience : " & xp & " (" & prctxp & "%)" & vbCrLf & "---------------------------------------------")
                    sw.Close()
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Fichier crée sur le bureau.")
                    Console.ForegroundColor = ConsoleColor.White
                    Threading.Thread.Sleep(2000)
                    menu()
                Case 5
                    sauvegardemanu()
                Case 6
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine(vbCrLf & "Nombre de niveaux : 50" & vbCrLf & "Nombre de pioches : 5" & vbCrLf & "Nombre de minerais : 3 (Fer - Or - Diamant)" & vbCrLf & "Nombre de lignes : 330" & vbCrLf & "Auteur : Bayern" & vbCrLf)
                    Console.ForegroundColor = ConsoleColor.White
                    Console.WriteLine("Appuyez sur une touche pour quitter.")
                    Console.ReadLine()
                    menu()
                Case Else
                    menu()
            End Select
            Dim choix As String = Console.ReadLine
            If choix = ("Oui") Then
                bool = False
                Console.ForegroundColor = ConsoleColor.DarkGreen
                Console.WriteLine("Votre pioche est prete ! Vous avez : " & mny & " ORs")
                Console.ForegroundColor = ConsoleColor.White
                minage()
            Else
                bool = True
            End If
        End While
        Console.Read()
    End Sub

#Region "PiocheShop" 'Pour un achat unique des pioches.
    Dim pioche1 As Integer = 0
    Dim pioche2 As Integer = 0
    Dim pioche3 As Integer = 0
    Dim pioche4 As Integer = 0
    Dim pioche5 As Integer = 0
#End Region

    Sub magasin() 'Magasin de pioches.
        Dim pioche(6) As String
        pioche(1) = "1. Pioche du débutant [800 ORs] [Aucun niveau requis.]"
        pioche(2) = "2. Pioche en fer [1500 ORs] [Niveau 5 minimum]"
        pioche(3) = "3. Pioche en or [2000 ORs] [Niveau 10 minimum]"
        pioche(4) = "4. Pioche en diamant [5000 ORs] [Niveau 20 minimum]"
        pioche(5) = "5. Pioche du héro [10.000 ORs] [Niveau 40 minimum]"
        pioche(6) = "6. Quitter."
        Console.ForegroundColor = ConsoleColor.Yellow
        Console.WriteLine("ORs : " & mny & vbCrLf & "Niveau : " & lvl)
        Console.ForegroundColor = ConsoleColor.Blue
        Console.WriteLine(vbCrLf & "Bienvenue dans le magasin !" & vbCrLf & "Voici les pioches disponibles : " & vbCrLf & "---------------------------" & vbCrLf & pioche(1) & vbCrLf & pioche(2) & vbCrLf & pioche(3) & vbCrLf & pioche(4) & vbCrLf & pioche(5) & vbCrLf & pioche(6) & vbCrLf & "---------------------------")
        Console.ForegroundColor = ConsoleColor.White
        Console.WriteLine("Inscrivez un chiffre correspondant a la pioche voulue :")
        Dim choix As String = Console.ReadLine
        Select Case choix
            Case 1
                If pioche1 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Pioche déjà achetée, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Pioche équipée.")
                    equip = ("Pioche du débutant")
                    time = 2000
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 800 And lvl >= 0 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("La pioche du débutant a été achetée et équipée !")
                    equip = ("Pioche du débutant")
                    Console.ForegroundColor = ConsoleColor.White
                    pioche1 = +1
                    time = 2000
                    mny -= 800
                    menu()
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter cette pioche !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 2
                If pioche2 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Pioche déjà achetée, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Pioche équipée.")
                    equip = ("Pioche en fer")
                    time -= 500
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 1500 And lvl >= 5 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("La pioche en fer a été achetée et équipée !")
                    equip = ("Pioche en fer")
                    Console.ForegroundColor = ConsoleColor.White
                    pioche2 = +1
                    time -= 500
                    mny -= 1500
                    menu()
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter cette pioche !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 3
                If pioche3 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Pioche déjà achetée, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Pioche équipée.")
                    equip = ("Pioche en or")
                    time -= 800
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 2000 And lvl >= 10 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("La pioche en or a été achetée et équipée !")
                    equip = ("Pioche en or")
                    Console.ForegroundColor = ConsoleColor.White
                    pioche3 = +1
                    time -= 800
                    mny -= 2000
                    menu()
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter cette pioche !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 4
                If pioche4 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Pioche déjà achetée, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Pioche équipée.")
                    equip = ("Pioche en diamant")
                    time -= 1000
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 5000 And lvl >= 20 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("La pioche en diamant a été achetée et équipée !")
                    equip = ("Pioche en diamant")
                    Console.ForegroundColor = ConsoleColor.White
                    pioche4 = +1
                    time -= 1000
                    mny -= 5000
                    menu()
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter cette pioche !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 5
                If pioche5 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Pioche déjà achetée, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Pioche équipée.")
                    equip = ("Pioche du héro")
                    time -= 1500
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 10000 And lvl >= 40 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("La pioche du héro a été achetée et équipée !")
                    equip = ("Pioche du héro")
                    Console.ForegroundColor = ConsoleColor.White
                    pioche5 = +1
                    time -= 1500
                    mny -= 10000
                    menu()
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter cette pioche !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 6
                menu()
            Case Else
                Console.ForegroundColor = ConsoleColor.DarkRed
                Console.WriteLine("[ERREUR] Veuillez inscrire un bon chiffre.")
        End Select
    End Sub

    Sub niveau() 'Système de niveau.
        Dim lvlfer As Integer = fer * xpfer
        Dim lvlor As Integer = ors * xpor
        Dim lvldiam As Integer = diam * xpdiam
        Dim total As Integer = lvlfer + lvlor + lvldiam
        If total >= xpnxt Then
            Console.ForegroundColor = ConsoleColor.Green
            Console.WriteLine("Bravo ! Vous passez niveau " & lvl + 1 & " !")
            lvl += 1
            xpnxt += 1000
            Console.ForegroundColor = ConsoleColor.White
            sacverifi()
            minage2()
        Else
            sacverifi()
            minage2()
        End If
    End Sub

#Region "SacPioche" 'Pour un achat unique des sacs.
    Dim sac1 As Integer = 0
    Dim sac2 As Integer = 0
    Dim sac3 As Integer = 0
#End Region

    Sub shopsac()
        Dim sac(4) As String
        sac(1) = "1. Sac du débutant [600 ORs] [Aucun niveau requis.] [200 pods]"
        sac(2) = "2. Sac du mineur [1000 ORs] [Niveau 5 minimum.] [500 pods]"
        sac(3) = "3. Sac du héro [3000 ORs] [Niveau 10 minimum.] [2000 pods]"
        sac(4) = "4. Quitter"
        Console.ForegroundColor = ConsoleColor.Blue
        Console.WriteLine(vbCrLf & "Bienvenue dans le magasin !" & vbCrLf & "Voici les sacs disponibles : " & vbCrLf & "---------------------------" & vbCrLf & sac(1) & vbCrLf & sac(2) & vbCrLf & sac(3) & vbCrLf & sac(4) & vbCrLf & "---------------------------")
        Console.ForegroundColor = ConsoleColor.White
        Console.WriteLine("Inscrivez un chiffre correspondant au sac voulu :")
        Dim choix As String = Console.ReadLine
        Select Case choix
            Case 1
                If sac1 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Sac déjà acheté, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Sac équipé.")
                    sacequip = ("Sac du débutant")
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 600 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Le sac du débutant a été acheté et équipé !")
                    equip = ("Sac du débutant")
                    Console.ForegroundColor = ConsoleColor.White
                    sac1 = +1
                    mny -= 800
                    pods = 200
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter ce sac !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 2
                If sac2 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Sac déjà acheté, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Sac équipé.")
                    sacequip = ("Sac du mineur")
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 1000 And lvl >= 5 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Le sac du mineur a été acheté et équipé !")
                    equip = ("Sac du mineur")
                    Console.ForegroundColor = ConsoleColor.White
                    sac2 = +1
                    mny -= 1000
                    pods = 500
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter ce sac !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 3
                If sac3 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Sac déjà acheté, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Sac équipé.")
                    sacequip = ("Sac du héro")
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 3000 And lvl >= 10 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Le sac du héro a été acheté et équipé !")
                    equip = ("Sac du héro")
                    Console.ForegroundColor = ConsoleColor.White
                    sac3 = +1
                    mny -= 3000
                    pods = 2000
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter ce sac !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 4
                menu()
            Case Else
                Console.ForegroundColor = ConsoleColor.DarkRed
                Console.WriteLine("[ERREUR] Veuillez inscrire un bon chiffre.")
                Console.ForegroundColor = ConsoleColor.White
        End Select
    End Sub

    Sub sacverifi()
        If podsactu >= pods Then
            Console.ForegroundColor = ConsoleColor.Red
            Console.WriteLine("Votre sac est plein, veuillez vendre vos minerais ou acheter un sac plus robuste !")
            Console.ForegroundColor = ConsoleColor.White
            vntmin()
        Else
            minage2()
        End If
    End Sub

End Module

Un problème ?
J'ai fait en sorte de rendre le code simple, mais si vous avez un problème de compréhension ou bien vous trouvez un(e) problème/erreur dans le code, n'hésitez pas à me le dire !

Dernières modifications
Ajout d'un système de pods. [29/08/2014]
Ajout d'un système de sauvegarde [29/08/2014]

Attention, le système de sauvegarde n'est aucunement sécurisé.
Vous pouvez si vous le voulez utiliser un système de cryptage et de décryptage pour éviter toute triche ! :)

Les modifications et le logiciel en général ne sont à utiliser qu'à titre d'information.

J'ai fait le code à la va vite, malgré les multiples tests du jeu, il est possible que j'ai oublié quelque chose.

Cordialement :)
 
Dernière édition par un modérateur:
Omg t'es trop fort :o Jamais je pourrais faire sa x)
 
GG mec +1
 
Rien d'incroyable, la longueur du code fait croire à un code complexe, mais c'est tout le contraire :troll:
Rien que la premiere ligne j'ai rien compris :troll:
 
ET comment on y joue ? :troll:
 
ET comment on y joue ? :troll:
Dis moi que tu rigoles (d):troll:

Si tu ne rigoles pas :
Tu créer un programme en console en VB.NET et tu colles le code..
Mais tente de le comprendre, ne serait-ce qu'une infime partie, c'est pas bien de C/C un code sans le comprendre :troll:
 
Dis moi que tu rigoles (d):troll:

Si tu ne rigoles pas :
Tu créer un programme en console en VB.NET et tu colles le code..
Mais tente de le comprendre, ne serait-ce qu'une infime partie, c'est pas bien de C/C un code sans le comprendre :troll:
J'ai pas VB :troll:
 
Merci du partage, il est où le lien de telechargement du jeu ? :mmh:
 
En effet, ce n'est que le code source qui est disponible.
J'ai demandé à un modérateur de changer le titre pour mieux comprendre :)
 
Salut je voulais te prevenir qu'il ya une erreur au niveau de cette phrases pour sauvegarder le fichier
Code:
 sw.WriteLine("--------------------------------------------- & vbCrLf & "Argent : " & mny & vbCrLf & "Pioche : " & equip & vbCrLf & "Minerai(s) : " & minerai & vbCrLf & "Fer(s) : " & fer & vbCrLf & "Or(s) : " & ors & vbCrLf & "Diamant(s) : " & diam & vbCrLf & "Niveau : " & lvl & vbCrLf & "Expérience : " & xp & " (" & prctxp & "%)" & vbCrLf & "---------------------------------------------)

et ici au niveau du magasin :

Code:
        Console.WriteLine(vbCrLf & "Bienvenue dans le magasin !" & vbCrLf & "Voici les pioches disponibles : " & vbCrLf & "--------------------------- & vbCrLf & pioche(1) & vbCrLf & pioche(2) & vbCrLf & pioche(3) & vbCrLf & pioche(4) & vbCrLf & pioche(5) & vbCrLf & "---------------------------)
 
Bonjour :)

Cette nuit dernière m'ennuyant, j'ai décidé de créer un petit jeu en VB.NET !
Désormais fini, je ne vois aucune utilité de garder ce code pour moi, donc je le partage.

Quelques informations à propos du code :
Heures passées dessus : ~ 5 heures
Nombre de lignes : 387
Code détaillé (Oui/Non) : Oui avec les commentaires.

A propos du jeu :
Vous incarnez un mineur, son objectif ?
Miner..
Vous débutant avec une petite pioche, la pioche du débutant, vous finissez avec la pioche du héro.
Monter en niveau, récolter du fer, de l'or et du diamant pour accroître votre fortune.

Le jeu inclus :
- Un système de niveau
- Un système d'argent
- Un système de vente
- Un système d'achat

En bref, le jeu en lui même est une petite économie !

Pourquoi diffuser le code :
Beaucoup de personnes veulent créer des jeux, en y réfléchissant longuement, la seule difficulté n'est pas la programmation mais plutôt la création d''une histoire et la création des décors.
Avec ce petit programme, je donne un aperçu des bases d'un jeu vidéo mais aussi des bases de visual basic.

Droit :
Quiconque peut utiliser le code, le modifier à sa guise et le republier.

Code :

Code:
Imports System.IO 'Manipulation des fichiers.
Module Module1

    Dim minerai As Integer = 0 'Nombre de minerais.
    Dim mny As Integer = 1000 'Variable argent.
    Dim equip As String = "Aucune pioche équipée." 'Variable pioche utilisée.
    Dim lvl As Integer = 1 'Variable niveau.
    Dim fer As Integer = 0 'Nombre de fer.
    Const ferprix As Integer = 50 'Prix fixe du fer.
    Dim ors As Integer = 0 'Nombre d'or.
    Const orprix As Integer = 100 'Prix fixe de l'or.
    Dim diam As Integer = 0 'Nombre de diamant.
    Const diamprix As Integer = 400 'Prix fixe du diamant.
    Dim time As Integer = 2000 'Temps minage (en MS, 1000ms = 1 seconde)
    Dim xp As Integer = 0 'Variable XP.
    Const xpfer As Integer = 50 'L'XP fixe que le fer donne.
    Const xpor As Integer = 100 'L'XP fixe que l'or donne.
    Const xpdiam As Integer = 200 'L'XP fixe que le diamant donne.
    Dim xpnxt As Integer = 100 'XP pour passer au prochain niveau.

    Sub Main() 'Lancement du programme.
        Dim bool As Boolean = True
        While (bool = True)
            Console.ForegroundColor = ConsoleColor.DarkYellow
            Console.WriteLine("BIENVENUE SUR MINER !")
            Console.ForegroundColor = ConsoleColor.White
            Console.WriteLine("Vous avez " & mny & " ORs")
            Console.WriteLine("Vous etes niveau " & lvl)
            Console.WriteLine("Une pioche est requise pour miner. Voulez-vous achetez une pioche ? (800 ORs) (""Oui"" ou ""Non"")")
            Dim choix As String = Console.ReadLine
            If choix = "Oui" Then
                bool = False
                mny -= 800
                pioche1 = +1
                Console.ForegroundColor = ConsoleColor.DarkGreen
                Console.WriteLine("Votre pioche est prete ! Vous avez : " & mny & " ORs")
                Console.ForegroundColor = ConsoleColor.White
                minage()
            ElseIf choix = "Non" Then
                menu()
            Else
                Console.ForegroundColor = ConsoleColor.DarkRed
                Console.WriteLine("[ERREUR] Veuillez ecrire ""Oui"" ou ""Non"" !")
                Console.ForegroundColor = ConsoleColor.White
                Main()
            End If
        End While
        Console.Read()
    End Sub

    Sub aleatoire() 'Système de récolte aléatoire.
        Dim alea As New Random
        Dim lettre As String = ""
        lettre = lettre & ChrW(alea.Next(Asc("a"), Asc("h")))
        Select Case lettre
            Case "a"
                Console.ForegroundColor = ConsoleColor.Gray
                Console.WriteLine("Du fer a été récolté !")
                Console.ForegroundColor = ConsoleColor.White
                fer += 1
                xp += xpfer
            Case "b"
                Console.ForegroundColor = ConsoleColor.Yellow
                Console.WriteLine("De l'or a été récolté !")
                Console.ForegroundColor = ConsoleColor.White
                ors += 1
                xp += xpor
            Case "c"
                Console.ForegroundColor = ConsoleColor.Blue
                Console.WriteLine("Du diamant a été récolté !")
                Console.ForegroundColor = ConsoleColor.White
                diam += 1
                xp += xpdiam
            Case Else
                Console.ForegroundColor = ConsoleColor.Gray
                Console.WriteLine("Du fer a été récolté !")
                Console.ForegroundColor = ConsoleColor.White
                fer += 1
                xp += xpfer
        End Select
    End Sub

    Sub minage() 'Partie 1/2. Suite à un problème intervenue avec le système de niveau, la partie "minage" a dû être découpée en 2.
        Console.WriteLine("Appuyez sur une la touche ENTREE pour miner.")
        Dim ctnmin As String = Console.ReadLine
        Console.WriteLine("Minage en cours...")
        Threading.Thread.Sleep(time)
        Console.ForegroundColor = ConsoleColor.White
        aleatoire()
        Console.ForegroundColor = ConsoleColor.White
        minerai += 1
        niveau()
    End Sub

    Sub minage2() 'Partie 2/2
        Console.WriteLine("Voulez-vous continuer à miner ? (""Oui"" ou ""Non"")")
        Dim choix As String = Console.ReadLine
        Select Case choix
            Case "Oui"
                minage()
            Case "Non"
                vntmin()
            Case Else
                Console.ForegroundColor = ConsoleColor.DarkRed
                Console.WriteLine("[ERREUR] Veuillez ecrire ""Oui"" ou ""Non"" !")
                Console.ForegroundColor = ConsoleColor.White
                minage2()
        End Select
    End Sub

    Sub vntmin() 'Vente de minerais.
        Console.ForegroundColor = ConsoleColor.White
        Console.WriteLine("Vous vous êtes arreté de miner.")
        Console.ForegroundColor = ConsoleColor.Yellow
        Console.WriteLine("Vous avez " & fer & " fer(s), " & ors & " or(s) et " & diam & " diamant(s). Voulez-vous les vendre ? (""Oui"" ou ""Non"")")
        Console.ForegroundColor = ConsoleColor.White
        Dim vente As String = Console.ReadLine
        Dim total As Integer = fer + ors + diam
        Dim argt As Integer = fer * ferprix + ors * orprix + diam * diamprix
        Select Case vente
            Case "Oui"
                Console.ForegroundColor = ConsoleColor.DarkGreen
                Console.WriteLine("Vous en avez vendu " & total & ". Vous avez recu " & argt & " ORs." & vbCrLf)
                Console.WriteLine("Retour imminent au menu principal.")
                Threading.Thread.Sleep(2000)
                Console.ForegroundColor = ConsoleColor.White
                mny += argt
                minerai -= total
                menu()
            Case "Non"
                Console.ForegroundColor = ConsoleColor.Yellow
                Console.WriteLine("Retour au menu.")
                Console.ForegroundColor = ConsoleColor.White
                Threading.Thread.Sleep(1000)
                menu()
            Case Else
                Console.ForegroundColor = ConsoleColor.DarkRed
                Console.WriteLine("[ERREUR] Veuillez écrire ""Oui"" ou ""Non"" !")
                Console.ForegroundColor = ConsoleColor.White
                vntmin()
        End Select
    End Sub

    Sub menu() 'Menu principal.
        Dim prctxp As Integer = 100 * xp / xpnxt
        Dim bool As Boolean = True
        While bool = True
            Dim vrai As Boolean = True
            Console.WriteLine("Bienvenue dans le menu principal !")
            Console.WriteLine("Vous avez " & mny & " ORs")
            Console.ForegroundColor = ConsoleColor.Blue
            Console.WriteLine("Menu disponible :" & vbCrLf & "1. Magasin" & vbCrLf & "2. Mine" & vbCrLf & "3. Sauvegarder informations dans un .txt" & vbCrLf & "4. Informations à propos du jeu")
            Console.ForegroundColor = ConsoleColor.White
            Console.WriteLine("Choisissez un chiffre :")
            Dim choix2 As String = Console.ReadLine
            Select Case choix2
                Case 1
                    magasin()
                Case 2
                    If equip = "Aucune pioche équipée." Then
                        Console.ForegroundColor = ConsoleColor.DarkRed
                        Console.WriteLine("Vous n'avez aucune pioche d'équipée, veuillez vous diriger vers le magasin.")
                        Console.ForegroundColor = ConsoleColor.White
                    Else
                        Console.ForegroundColor = ConsoleColor.DarkGreen
                        Console.WriteLine("Votre pioche est prete ! Vous avez : " & mny & " ORs")
                        Console.ForegroundColor = ConsoleColor.White
                        minage()
                    End If
                Case 3
                    Dim sw As New StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\Informations Miner.txt")
                    sw.WriteLine("--------------------------------------------- & vbCrLf & "Argent : " & mny & vbCrLf & "Pioche : " & equip & vbCrLf & "Minerai(s) : " & minerai & vbCrLf & "Fer(s) : " & fer & vbCrLf & "Or(s) : " & ors & vbCrLf & "Diamant(s) : " & diam & vbCrLf & "Niveau : " & lvl & vbCrLf & "Expérience : " & xp & " (" & prctxp & "%)" & vbCrLf & "---------------------------------------------)
                    sw.Close()
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Fichier crée sur le bureau.")
                    Console.ForegroundColor = ConsoleColor.White
                    Threading.Thread.Sleep(2000)
                    menu()
                Case 4
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine(vbCrLf & "Nombre de niveaux : 50" & vbCrLf & "Nombre de pioches : 5" & vbCrLf & "Nombre de minerais : 3 (Fer - Or - Diamant)" & vbCrLf & "Nombre de lignes : 330" & vbCrLf & "Auteur : Bayern" & vbCrLf)
                    Console.ForegroundColor = ConsoleColor.White
                    Console.WriteLine("Appuyez sur une touche pour quitter.")
                    Console.ReadLine()
                    menu()
                Case Else
                    menu()
            End Select
            Dim choix As String = Console.ReadLine
            If choix = ("Oui") Then
                bool = False
                Console.ForegroundColor = ConsoleColor.DarkGreen
                Console.WriteLine("Votre pioche est prete ! Vous avez : " & mny & " ORs")
                Console.ForegroundColor = ConsoleColor.White
                minage()
            Else
                bool = True
            End If
        End While
        Console.Read()
    End Sub

#Region "PiocheShop" 'Pour un achat unique des pioches.
    Dim pioche1 As Integer = 0
    Dim pioche2 As Integer = 0
    Dim pioche3 As Integer = 0
    Dim pioche4 As Integer = 0
    Dim pioche5 As Integer = 0
#End Region

    Sub magasin() 'Magasin de pioches.
        Dim pch(5) As Integer
        Dim pioche(6) As String
        pioche(1) = "1. Pioche du débutant [800 ORs] [Aucun niveau requis.]"
        pioche(2) = "2. Pioche en fer [1500 ORs] [Niveau 5 minimum]"
        pioche(3) = "3. Pioche en or [2000 ORs] [Niveau 10 minimum]"
        pioche(4) = "4. Pioche en diamant [5000 ORs] [Niveau 20 minimum]"
        pioche(5) = "5. Pioche du héro [10.000 ORs] [Niveau 40 minimum]"
        pioche(6) = "6. Quitter."
        Console.ForegroundColor = ConsoleColor.Yellow
        Console.WriteLine("ORs : " & mny & vbCrLf & "Niveau : " & lvl)
        Console.ForegroundColor = ConsoleColor.Blue
        Console.WriteLine(vbCrLf & "Bienvenue dans le magasin !" & vbCrLf & "Voici les pioches disponibles : " & vbCrLf & "--------------------------- & vbCrLf & pioche(1) & vbCrLf & pioche(2) & vbCrLf & pioche(3) & vbCrLf & pioche(4) & vbCrLf & pioche(5) & vbCrLf & "---------------------------)
        Console.ForegroundColor = ConsoleColor.White
        Console.WriteLine("Inscrivez un chiffre correspondant a la pioche voulue :")
        Dim choix As String = Console.ReadLine
        Select Case choix
            Case 1
                If pioche1 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Pioche déjà achetée, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Pioche équipée.")
                    equip = ("Pioche du débutant")
                    time = 2000
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 800 And lvl >= 0 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("La pioche du débutant a été achetée et équipée !")
                    equip = ("Pioche du débutant")
                    Console.ForegroundColor = ConsoleColor.White
                    pioche1 = +1
                    time = 2000
                    mny -= 800
                    menu()
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter cette pioche !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 2
                If pioche2 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Pioche déjà achetée, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Pioche équipée.")
                    equip = ("Pioche en fer")
                    time -= 500
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 1500 And lvl >= 5 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("La pioche en fer a été achetée et équipée !")
                    equip = ("Pioche en fer")
                    Console.ForegroundColor = ConsoleColor.White
                    pioche2 = +1
                    time -= 500
                    mny -= 1500
                    menu()
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter cette pioche !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 3
                If pioche3 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Pioche déjà achetée, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Pioche équipée.")
                    equip = ("Pioche en or")
                    time -= 800
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 2000 And lvl >= 10 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("La pioche en or a été achetée et équipée !")
                    equip = ("Pioche en or")
                    Console.ForegroundColor = ConsoleColor.White
                    pioche3 = +1
                    time -= 800
                    mny -= 2000
                    menu()
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter cette pioche !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 4
                If pioche4 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Pioche déjà achetée, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Pioche équipée.")
                    equip = ("Pioche en diamant")
                    time -= 1000
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 5000 And lvl >= 20 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("La pioche en diamant a été achetée et équipée !")
                    equip = ("Pioche en diamant")
                    Console.ForegroundColor = ConsoleColor.White
                    pioche4 = +1
                    time -= 1000
                    mny -= 5000
                    menu()
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter cette pioche !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 5
                If pioche5 > 0 Then
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Pioche déjà achetée, aucun retrait d'argent.")
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Pioche équipée.")
                    equip = ("Pioche du héro")
                    time -= 1500
                    Console.ForegroundColor = ConsoleColor.White
                    menu()
                End If
                If mny >= 10000 And lvl >= 40 Then
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("La pioche du héro a été achetée et équipée !")
                    equip = ("Pioche du héro")
                    Console.ForegroundColor = ConsoleColor.White
                    pioche5 = +1
                    time -= 1500
                    mny -= 10000
                    menu()
                Else
                    Console.ForegroundColor = ConsoleColor.Red
                    Console.WriteLine("Vous ne remplissez pas les conditions pour acheter cette pioche !")
                    Console.ForegroundColor = ConsoleColor.White
                    magasin()
                End If
            Case 6
                menu()
            Case Else
                Console.ForegroundColor = ConsoleColor.DarkRed
                Console.WriteLine("[ERREUR] Veuillez inscrire un bon chiffre.")
        End Select
    End Sub

    Sub niveau() 'Système de niveau.
        Dim lvlfer As Integer = fer * xpfer
        Dim lvlor As Integer = ors * xpor
        Dim lvldiam As Integer = diam * xpdiam
        Dim total As Integer = lvlfer + lvlor + lvldiam
        If total >= xpnxt Then
            Console.ForegroundColor = ConsoleColor.Green
            Console.WriteLine("Bravo ! Vous passez niveau " & lvl + 1 & " !")
            lvl += 1
            xpnxt += 1000
            Console.ForegroundColor = ConsoleColor.White
            minage2()
        Else
            minage2()
        End If
    End Sub

End Module

Exemple de modification :
- Un système de "pods", le mineur ne peut pas avoir plus de X minerais sur lui. [Difficulté ••••]
Aide :
Création d'une variable "pods" avec une valeur de 1000 (exemple).
Assignation d'un poids unique pour chaque minerai (fer, or et diamant).
Pouvoir acheter des sacs pouvant contenir plus de pods.

_______________________________________________________________________________

- Un système de multijoueurs. [Difficulté •••••]
Aide :
S'aider d'un chat crée en socket pour faire passer des informations de son mineur à une personne adverse (ou non).


Un problème ?
J'ai fait en sorte de rendre le code simple, mais si vous avez un problème de compréhension ou bien vous trouvez un(e) problème/erreur dans le code, n'hésitez pas à me le dire !

J'ai fait le code à la va vite, malgré les multiples tests du jeu, il est possible que j'ai oublié quelque chose.

Cordialement :)
2 lignes avec erreurs :( comme vien de dire Maxlinis, tu peux les corriger stp ?
 
En effet maxlinis, merci de m'avoir prévenu, le code a été changé :)
 
Hey, étant débutant en programmation mais ne connaissant rien de ceux langage-ci j'ai quand même réussi a comprendre la plupart du code sauf ce morceaux la :
Code:
#Region "PiocheShop" 'Pour un achat unique des pioches.
    Dim pioche1 As Integer = 0
    Dim pioche2 As Integer = 0
    Dim pioche3 As Integer = 0
    Dim pioche4 As Integer = 0
    Dim pioche5 As Integer = 0
#End Region

En faite je ne comprend pas a quoi sa sert ni a quoi sa correspond voila sinon très bon jeux.Bravo
 
Hey, étant débutant en programmation mais ne connaissant rien de ceux langage-ci j'ai quand même réussi a comprendre la plupart du code sauf ce morceaux la :
Code:
#Region "PiocheShop" 'Pour un achat unique des pioches.
    Dim pioche1 As Integer = 0
    Dim pioche2 As Integer = 0
    Dim pioche3 As Integer = 0
    Dim pioche4 As Integer = 0
    Dim pioche5 As Integer = 0
#End Region

En faite je ne comprend pas a quoi sa sert ni a quoi sa correspond voila sinon très bon jeux.Bravo

Bonsoir :)

C'est rien d'autre qu'une région, une définition en bref.
Il ne faut pas confondre la région avec la fonction.

On ne peut pas faire appel à la région en elle même, mais à une de ses variables oui.

Ensuite, ces variables servent à ne pouvoir acheter qu'une fois la même pioche.
Si tu regardes bien le code, quand on achète une pioche ça incrémente une de ces 5 variables en fonction du nombre choisie.

Ça rajoute 1.
Avant chaque achat il y a une vérification de ces variables, si l'utilisateur choisit la pioche 1 (pioche du débutant), alors on vérifie si la variable "pioche1" (présente dans la région) est à 0.
Si c'est vrai alors la pioche est achetée et l'argent retirée.

Mais si il y a "1" à la variable, alors l'achat est impossible.

J'ai essayé d'être précis mais c'est pas facile :p
 
Ok merci j'ai tout comprit :oui: j'ai comprit le code presque en entier
 
Bravo alors :D
Il est simple, tu devrais tout vite comprendre :ok:
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut