Le secret du tombeau

Description

Le premier ordinateur que j'eus fut un Amstrad CPC464 et le premier jeu fut "Le Secret du Tombeau", sorti en 1986. C'est un jeu d'action/aventure que je trouve toujours excellent aujourd'hui, et j'ai eu envie de le ré-écrire sous VB (sans en avoir vu le code). Mon programme doit néanmoins être très différent de l'original, sans aucune optimisation, mais en contre-partie, il permet une flexibilité de configuration des plans assez grande.

Quelques autres différences:
- Une (et une seule) sauvegarde de la progression possible;
- Configuration des contrôles (clavier et manette) plus détaillée;
- Tir à sens unique;
- Affichage textes et inventaire.

Le jeu en 2 mots: vous êtes un explorateur qui visitez des pyramides. Vous devez en percer les secrets et en réchapper vivant. Vous pouvez tirer, poser des mines, sauter et actionner tout un tas de mécanismes (et de pièges!).

En plus du plan original, j'ai créé un nouveau plan "Le Secret du Volcan", nettement plus compliqué que "Le Secret du Tombeau". J'ai en réalité passé beaucoup plus de temps à configurer ce plan qu'à programmer le jeu, malgré un éditeur assez poussé (dont copier-coller amélioré).

-------------
Je publie (enfin) une mise à jour que j'avais faite il y a un moment déjà. Les graphismes sont un peu moins dégueux. Mais vous pouvez choisir l'option 'old school' dans le menu si vous préférez les anciens!
-------------

Ci-dessous, un extrait de l'algorithme d'intelligence artificielle des prêtres. C'est simple mais ça les rend coriaces.

Source / Exemple :


Private Sub TrajetMéchants(ByVal X As Integer, ByVal Y As Integer, ByVal Dir As String)
'Les trajets empruntés par les méchants sont calculés à partir de la position de l'explorateur
Dim Xa As Integer, Ya As Integer
    
    If Abs(X - PosiExplo.X) > cXMaxMéch Or Abs(Y - PosiExplo.Y) > cYMaxMéch Then Exit Sub
    If TrajMéch(X - PosiExplo.X, Y - PosiExplo.Y) <> "" Then
        If Len(TrajMéch(X - PosiExplo.X, Y - PosiExplo.Y)) < Len(Dir) Then Exit Sub
        If Len(TrajMéch(X - PosiExplo.X, Y - PosiExplo.Y)) = Len(Dir) And Rnd < 0.5 Then Exit Sub
    End If
    
    Xa = (X + TailleXPlan) Mod TailleXPlan
    Ya = (Y + TailleYPlan) Mod TailleYPlan
    
    If LaVoieEstLibre(Xa, Ya) Then
        TrajMéch(X - PosiExplo.X, Y - PosiExplo.Y) = Dir
    Else
        Exit Sub
    End If
    
    'Récursivité
    TrajetMéchants X + 1, Y, Dir + "0"
    TrajetMéchants X - 1, Y, Dir + "2"
    TrajetMéchants X, Y + 1, Dir + "3"
    TrajetMéchants X, Y - 1, Dir + "1"
End Sub

                                If ancPerso(X, Y) = Prêtre Then
                                    'On cherche le dernier tournant
                                    i = 2
                                    Do Until Mid(TrajMéch(X, Y), i, 1) <> Mid(TrajMéch(X, Y), 2, 1)
                                        i = i + 1
                                        If i = Len(TrajMéch(X, Y)) + 1 Then Exit Do 'aucun: en ligne droite
                                    Loop
                                    If i <> Len(TrajMéch(X, Y)) Then
                                        DéplacementMéchant Xa, Ya, CInt(Right(TrajMéch(X, Y), 1))
                                    Else
                                        'Les prêtres s'arrêtent au dernier tournant
                                        Méchant(Xa, Ya).Etat = AlArrêt
                                    End If
                                Else
                                    'Les autres méchants fonçent tête baissée
                                    DéplacementMéchant Xa, Ya, CInt(Right(TrajMéch(X, Y), 1))
                                End If

Conclusion :


Le programme et les plans ne sont pas exempts de bugs, mais ils sont supportables je pense. C'est également le programme dans lequel j'ai fait le plus de bidouilles, mais faute avouée est à moitié pardonnée, donc j'en ai indiqué la plupart par des commentaires dans le code.

J'attends vos impressions un peu sur le programme, mais surtout sur les jeux. Si vous les appréciez, n'hésitez pas à créer vos propres plans, l'éditeur est inclus. Il est assez peu documenté, mais je suis prêt à améliorer ce point à votre demande.

Note sur le copyright: les graphismes, sons et le plan "Le Secret du Tombeau" sont du jeu original. L'écran de présentation incorporé dans le programme rappelle que ses auteurs sont Petitjean & Schurder, sous copyright Loriciels 1986.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (Alfosaure)