Accueil > > > LE SECRET DU TOMBEAU
LE SECRET DU TOMBEAU
Information sur la source
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é). Ci-dessous, un extrait de l'algorithme d'intelligence artificielle des prêtres. C'est simple mais ça les rend coriaces.
Source
- 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
-
-
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.
Historique
- 25 janvier 2009 21:23:25 :
- -
- 25 janvier 2009 21:34:50 :
- corrections grammaticales...
- 30 janvier 2009 21:13:50 :
- Corrections d'orthographe, dans le Zip cette fois (code et plan "Le Secret du Volcan").
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Jeu de dames [ par Christophe ]
Je cherche à réaliser un mini-jeu de dames. Sachant qu'on doit pouvoir ensuite gérer des événements Drag-Drop, quels types de contrôles dois-je utilis
winamp et VB5 [ par Rescator ]
bonjourj'utilise un petit prog ecris sous vb5 pour commander un jeu de lumière par le port // de mon PC. seulement j'aimerais récupérer le tempo de la
Créer une action lorsqu'un objet touche un autre [ par qwertyuiopasdfghjklzxcvbnm ]
J'aimerais savoir ça serait quoi le bon mot qui remplace touche ou bien si c'est pas ça le code ben cé koi alors.If images1 "touche" image2 then...Mer
bouger objet avet une manette de jeu? [ par ZIDANE ]
Est ce que quelqu'un sait comment faire pour bouger un objet avec une mannette de jeu ordinaire ? (gamepad)Si vous avez la réponse pouvez vous me l'en
Jeu de tir à la Rogue Spear [ par Nat ]
Salut.Je développe un jeu de tir et j'ai grave besoin d'aide.Il me manque un graphiste et j'aimerais aussi savoir comment on fait pour interpréter la
SOURCE JEU D'ECHEC [ par TOUATI ]
POUR UN HANDICAPE SEMI VISUEL JE CHERCHE DES SOURCES POUR ADAPTER CE JEU A CES PROBLEMES POUR CELA JE CHERCHE /1/ les sources d'un jeu d'echec 2 / un
Cmt afficher une fenetre par dessus un jeu windows ? [ par lechti62 ]
Bonjour je voudrai savoir si il est possible quand un jeu Windows ou Direct Xest lancé, de pouvoir afficher un programme fait avec VB par dessus ce je
annuler la dernière action [ par MyLoRdPl ]
salut,mon pb c que j'ai créé une application qui renomme des fichiers en grande quantité et je voudrais trouver une astuce pour annuler la dernière ac
Comment creer un serveur de jeux en reseaux? [ par Momo3dfx ]
Salut a tous,j'ai un exellent site, sur un jeu, j'ai du matos pour faire un serveur, j'ai tout sauf l'expérience et el savoir faire.-Comment fait-on p
AIDE DATA SVP ! [ par Seb ]
Je fais un programme jeu :j ai une basse access que j accede grace au data de vb et j aimerai mettre a jour le score d'une personne à la fin d un jeu.
|
Derniers Blogs
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Forum
TAILLETAILLE par nounuo74
Cliquez pour lire la suite par nounuo74
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|