Le code d’instruction symbolique polyvalent du débutant, est l’endroit où j’ai commencé mon parcours de codage. Sat, âgé de quatre ou cinq ans devant un Commodore 16, j’ai tapé des lignes de mots et de nombres qui constituaient une application ou un effet sonore. Parfois, ils travaillaient, souvent ils ne l’ont pas fait. Les mots que j’ai tapés, avec «l’erreur de syntaxe», ne signifiaient rien pour un enfant de cinq ans qui voulait des dessins animés de céréales et de transformateurs enduits de sucre, mais j’ai persévéré.
Avance rapide jusqu’au 21e siècle, et j’utilise toujours de temps à autre. J’écris de base sur un commodore 64 et un spectre ZX que j’ai récemment rénové. J’ai même écrit de base sur un Raspberry Pi Pico pour contrôler une série de néopixels.
Récemment, Microsoft a ouvert ses ouverts, 6502 Basic à partir de 1978, ce qui m’a fait réfléchir à l’écriture de base sur un PC. Bien sûr, je me souviens de Qbasic et du jeu Gorillas.Bas. J’ai adoré modifier ce jeu sur mon 486 DX33 dans les années 1990, mais je voulais écrire de base sur mon PC Windows 10 en 2025.
Je ne peux pas utiliser MOS6502 BASIC sans passer beaucoup de temps à le faire fonctionner sur mon PC, alors que puis-je utiliser à la place? Il s’avère qu’il y a, et ça s’appelle QB64 Phoenix Edition, Et il ressemble et ressemble à QBasic, mais avec beaucoup plus de fonctionnalités.
- Vérification des erreurs d’entrée en temps réel
- Système d’aide en ligne et hors ligne
- Syntaxe mise en évidence
- Formatage automatique de la source
- Débogage
- Compile les binaires natifs pour Windows, MacOS et Linux
QB64 Phoenix Edition (QB64 PE) est une nouvelle ramification du projet QB64 original, qui semblait s’éteindre au début des années 2020. L’objectif du projet est de maintenir la vie de l’esprit de l’ancienne application et de donner à plus de personnes un accès à l’exécution de base sur leurs ordinateurs. QB64 PE est multiplateforme et il a une compatibilité avec le code QBasic et QuickBasic 4.5. Mais QB64 PE nous donne également un étendu de base et OpenGL, ce qui signifie que nous pouvons créer des applications / jeux avec des graphiques et du son.
Jetons donc un coup d’œil à QB64 PE et créons notre propre projet de base.
Commencer avec QB64 PE
Il ne pouvait vraiment pas être plus simple de commencer avec QB64 PE.
Obtenez les meilleures nouvelles et les critiques approfondies de Tom Hardware, directement dans votre boîte de réception.
1. Aller au Page du projet QB4 PE et téléchargez le package pour votre système d’exploitation.
2. Extraire le fichier dans un répertoire.
3. Accédez à ce répertoire et double-cliquez sur gauche sur l’application QB64PE.EXE.
L’interface utilisateur QB64 PE ressemble beaucoup à QBasic. Nous avons le menu en haut, la zone de codage au milieu et une zone d’état / sortie / débogage en bas. Notre projet nous verra travailler avec le menu Fichier et exécuter.
Au premier démarrage, QB64 PE nous dira que l’application et tous les exécutables fabriqués par celle-ci peuvent être identifiés à tort par votre package antivirus. Vous pouvez éventuellement la liste blanche le répertoire, mais je n’ai eu aucun problème dans mes tests.
QB64 PE est une application géniale, et je vous exhorte à creuser dans le Documentation glorieusement approfondie (C’est là que j’ai trouvé comment montrer des images) et en savoir plus sur QB64 PE.
Une courte histoire de base
La langue de base est avec nous depuis 1964, et elle a été développée en tant que langue de haut niveau (facile à lire) de John G Kemeny, président du Dartmouth College Math Department. Le nom de base est venu de Thomas Kurtz.
La structure de la base est censée être trop simplifiée à des fins. Chaque ligne de base est lue par le compilateur et transformée en bytecode, que la machine peut ensuite exécuter. Mais Basic peut être compilé ou interprété, selon la version que vous utilisez. Par exemple, sur le Commodore 64, nous voyons Commodore 64 Basic V2, une version de Microsoft Basic, qui a un nombre limité de mots clés.
L’objectif du projet: faire un jeu simple
L’apprentissage de base, ou n’importe quel langage de codage, est mieux réalisé en créant un projet. Je pourrais m’asseoir ici et vous enseigner les concepts de programmation de base, ou nous pourrions nous amuser et faire un jeu simple. Le jeu en question est inspiré par les livres de codage de base des années 80 d’Usborne, en particulier les jeux d’espace informatique, que j’adorais quand j’étais enfant.
Le jeu est «Escape de Planet LXF329», et le but du jeu est de décoller et d’échapper à un groupe d’étrangers qui essaient de capturer le vaisseau spatial. Essentiellement, il s’agit d’un jeu à nombre, mais avec un thème de science-fiction.
- Apprenez la syntaxe de base
- Apprenez à afficher des images
- Utiliser des déclarations conditionnelles
- Créer des variables pour les entiers et les chaînes
- Obtenez la saisie des utilisateurs
Vous avez peut-être repéré «Apprenez à afficher des images» et oui, je vais vous montrer comment afficher une image statique à l’écran à l’aide de QB64 PE. Dans l’intérêt de la divulgation complète, les images utilisées dans le jeu ont été générées à l’aide d’Adobe Firefly, un service d’IA. Pourquoi? J’aurais pu utiliser des images de stocks ou passer du temps à Gimp et Inkscape, mais je n’ai pas eu le temps, ni le talent, alors Adobe Firefly a fait le travail pour moi.
Nous allons commencer par créer l’écran de départ, une image qui annonce le jeu et définit la scène.
1. Créez un nouveau document vide et cliquez sur Fichier >> Enregistrer et enregistrer le projet en tant qu’espace.bas. N’oubliez pas de sauver souvent.
2. Créez un nouvel objet d’écran, en réglant l’écran sur 1024 x 1024 pixels et une couleur 32 bits, puis définissez le titre de la fenêtre pour s’échapper de la planète LXF329 ”.
Screen _NewImage(1024, 1024, 32)
_Title "ESCAPE FROM PLANET LXF329"
3. Créez une variable, myimage et stockez votre image.
myImage& = _LoadImage("title.png")
4. Créez un gestionnaire d’erreurs pour vérifier que l’image a été chargée correctement. Il s’agit essentiellement d’une vérification conditionnelle qui vérifie le fichier chargé dans la variable. S’il n’y a rien là-bas, 0, alors il imprimera un message d’erreur.
If myImage& = 0 Then
Print "Error loading image!"
End
End If
5. Mettez l’image sur l’écran en position 0,0 (en haut à gauche) puis en pause, en attendant que l’utilisateur appuie sur une touche.
_PutImage (0, 0), myImage&
Sleep
6. Enregistrez le code et cliquez sur Exécuter >> Exécuter uniquement (pas d’EXE) pour démarrer le code. Cliquez sur OK dans la boîte de dialogue pour démarrer. Vous devriez voir l’image apparaître à l’écran. Appuyez sur n’importe quelle touche pour fermer la fenêtre.
7. Créez une étiquette, Démarrez: Les étiquettes nous permettent d’écrire du code qui peut sauter dans différentes sections en utilisant une commande Go TO. Vous connaissez peut-être l’utilisation des nombres et le saut de la ligne numérotée. Ici, nous n’utilisons pas de chiffres, donc les étiquettes feront le même travail.
START:
8. Pour commencer le code de jeu, effacez l’écran (CLS), puis utilisez une série d’instructions imprimées pour imprimer un récit Pour mettre le lecteur au courant des mécanismes de jeu et de l’histoire.
Cls
Print "ESCAPE FROM PLANET LXF329"
Print "Your vessel, the USS TOMSHARDWARE has landed on LXF329"
Print "on a routine survey mission"
Print
Print "But the evil aliens, led by HOAL are after your blood!"
Print
Print "Calculate the thrust necessary to take-off and escape"
Print "the planet's gravity!"
Print
Print "You only have ten seconds until the aliens burst into"
Print "the starship and lay waste to your crew!"
9. Assurez-vous que le jeu utilise des numéros de pseudo-aléatoire. Si nous ne faisons pas cela, le jeu choisira les mêmes chiffres à chaque fois.
Randomize Timer
10. Créer deux variablesg (gravité) et w (poids), qui sont des entiers aléatoires, multipliés par 20 et 40, respectivement. Utilisations de base Let pour créer des variables.
Let g = Int(Rnd * 20)
Let w = Int(Rnd * 40)
11. Créez une troisième variable pour stocker la bonne poussée pour quitter la planète.
Let r = g * w
12. À des fins de débogage, imprimez la réponse à l’écran. Plus tard, commentez ceci en utilisant le mot-clé REM (Remarque).
Print r
Changer pour cela pour le jeu final
REM Print r
13. Imprimez la gravité de la planète, puis demandez à l’utilisateur de faire son calcul de poussée.
Print "Planet Gravity = "; g
Print "Type in thrust to escape: "
14. En utilisant une boucle pour une boucle, nous donnons au joueur dix suppositions avant que les extraterrestres entrent dans le navire.
For c = 1 To 10
15. Stocké la supposition du joueur dans une variable, f. Cette valeur est comparée à la réponse, r. Si la poussée est trop élevée ou bas, la boucle pour se répète jusqu’à ce que le joueur soit à court de suppositions. Si la supposition est correcte, le jeu va à l’étiquette de fin de partie.
For c = 1 To 10
Input f
If f > r Then Print "Thrust too high";
If f < r Then Print "Thrust too low";
If f = r Then GoTo ENDGAME
Next c
16. Imprimez «la mauvaise fin» à l’écran. Cette section s’exécute si le joueur ne fait pas les calculs corrects, puis la boucle FOR se termine, jetant l’utilisateur dans ce scénario de cauchemar.
Print
Print "The aliens have entered the starship and you and your"
Print "crew are now their prisoners!"
Print
17. Ajoutez un graphique pour montrer à votre navire de perdre contre l’assaut extraterrestre. Vous devrez créer un fichier PNG, stocké dans le même répertoire que le fichier de jeu. Il s’agit du même code que celui utilisé pour l’écran de démarrage. Dormir pendant 5 est important; Sinon, il y a un bug où l’écran se ferme automatiquement et met fin au jeu.
Screen _NewImage(1024, 1024, 32)
_Title "YOU DIED!"
myImage& = _LoadImage("die.png")
If myImage& = 0 Then
Print "Error loading image!"
End
End If
_PutImage (0, 0), myImage&
Sleep 5
18. À l’aide d’un Goto, envoyez le joueur dans la section de relecture du code.
GoTo REPLAY
19. Imprimez un message à l’utilisateur pour dire qu’il a gagné. Affichez ensuite une image à l’écran. L’étiquette de fin de partie est l’endroit où le joueur réussi est envoyé. Ils sont récompensés par un message et une image d’évasion les montrant se déchaînant dans l’espace!
Print "You have successfully taken off!"
Print "The aliens burn in the wake of your engines"
Screen _NewImage(1024, 1024, 32)
_Title "YOU WON!"
myImage& = _LoadImage("escape.png")
If myImage& = 0 Then
Print "Error loading image!"
End
End If
_PutImage (0, 0), myImage&
Sleep 5
20. Créez un moyen de demander au joueur s’il souhaite réessayer. L’entrée du joueur est stockée sous forme de variable, a. Mais notez que la variable contient une chaîne ($) qui peut être y ou n. Si c’est Y, le jeu remonte à l’étiquette de départ. Sinon, le jeu s’arrête. Nous utilisons l’étiquette de relecture pour identifier à quoi sert le code et diriger le lecteur à travers le jeu.
REPLAY:
Print "Would you like to try again? Press y or n"
Input a$
If a$ = "y" Then
GoTo START
Else
Stop
End If
21. Enregistrez le code et cliquez sur Exécuter >> Exécuter uniquement (pas d’EXE) pour démarrer le code. Cliquez sur OK dans la boîte de dialogue pour démarrer.
22. Exécutez le jeu plusieurs fois, gagnez et perdez. N’oubliez pas que la réponse est imprimée à l’écran, alors assurez-vous de commenter cela lorsque vous laissez vos amis.
Listes de code complètes
Screen _NewImage(1024, 1024, 32)
_Title "ESCAPE FROM PLANET LXF329"
myImage& = _LoadImage("title.png")
If myImage& = 0 Then
Print "Error loading image!"
End
End If
_PutImage (0, 0), myImage&
Sleep
START:
Cls
Print "ESCAPE FROM PLANET LXF329"
Print "Your vessel, the USS TOMSHARDWARE has landed on LXF329"
Print "on a routine survey mission"
Print
Print "But the evil aliens, led by HOAL are after your blood!"
Print
Print "Calculate the thrust necessary to take-off and escape"
Print "the planet's gravity!"
Print
Print "You only have ten seconds until the aliens burst into"
Print "the starship and lay waste to your crew!"
Randomize Timer
Let g = Int(Rnd * 20)
Let w = Int(Rnd * 40)
Let r = g * w
Print r
Print "Planet Gravity = "; g
Print "Type in thrust to escape: "
For c = 1 To 10
Input f
If f > r Then Print "Thrust too high";
If f < r Then Print "Thrust too low";
If f = r Then GoTo ENDGAME
Next c
Print
Print "The aliens have entered the starship and you and your"
Print "crew are now their prisoners!"
Print
Screen _NewImage(1024, 1024, 32)
_Title "YOU WON!"
myImage& = _LoadImage("die.png")
If myImage& = 0 Then
Print "Error loading image!"
End
End If
_PutImage (0, 0), myImage&
Sleep 5
GoTo REPLAY
ENDGAME:
Print "You have successfully taken off!"
Print "The aliens burn in the wake of your engines"
Screen _NewImage(1024, 1024, 32)
_Title "YOU WON!"
myImage& = _LoadImage("escape.png")
If myImage& = 0 Then
Print "Error loading image!"
End
End If
_PutImage (0, 0), myImage&
Sleep 5
REPLAY:
Print "Would you like to try again? Press y or n"
Input a$
If a$ = "y" Then
GoTo START
Else
Stop
End If
Partage de votre travail!
Si vous voulez partager le jeu avec vos amis, vous le pouvez! Gardez simplement à l’esprit que l’exécutable résultant est lié au système d’exploitation avec lequel il a été créé. De plus, comme le note QB64 PE, votre exécutable peut être signalé comme un faux positif par votre antivirus.
1. Cliquez sur Exécuter >> Faire EXE uniquement. Vous pouvez également cliquer sur Exécuter >> Commencez à compiler et à exécuter le code. De cette façon, vous obtenez à la fois l’exécutable et le code s’exécutera dans l’éditeur.
2. Cliquez sur OK pour compiler l’exécutable dans le dossier QB64PEle même dossier où QB64 PE est exécuté.
3. Attendez que le code se compile. Vérifiez la barre d’état en bas de l’écran pour suivre les progrès. Sur les systèmes modernes, cela prendra quelques secondes.
4. Accédez au dossier avec le code de jeu compilé. J’ai scanné mon code compilé en utilisant Microsoft Defender et MalwareBytes, et rien de méchant n’a été trouvé.
5. Double-cliquez sur l’exécutable pour exécuter le jeu.



