Connexion
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité Aucun
Le record du nombre d'utilisateurs en ligne est de 29 le Mer 29 Jan 2020, 10:53
Sujets les plus vus
Derniers sujets
Créer un effet de mouvement du curseur
Page 1 sur 1
Créer un effet de mouvement du curseur
Hello !
Aujourd'hui, je vous propose un petit tutoriel pour réaliser un effet de mouvement du curseur. En d'autre termes: Les déplacements.
En effet, ayant essayé pendant très longtemps de comprendre l'Astuce (Je ne maîtrisais pas encore la boucle FOR, normal ), j'ai enfin compris et je veux vous en faire par en vous l'expliquant, sans lâcher un simple code sans commentaires et incompréhensible pour les débutants, comme je l'étais il y à peu de temps.
Assez de blabla, commençons !
Dans un premier temps, nous allons devoir définir quatre variables: Les positions X et Y du curseurs et les limites X et Y du terrains.
RAPPEL: X=COLONNES et Y=LIGNES.
ATTENTION: LE SETLOCAL DOIT ETRE ACTIVÉ !
Enfin, nous allons géré l'effet de mouvement (Haut/Bas/Gauche/Droite). Utiliser SET /P ou CHOICE.
Vous avez cherché ? Oui ? Correction commentée ! (SET /P):
NOTA-BENE: LES LIMITES DU TERRAIN NE SONT PAS GÉRÉE, A VOUS DE TROUVER PAR VOUS MÊME
ATTENTION, A CHAQUE RETOUR DANS LA BOUCLE, ON DOIT RÉINITIALISE LE VIDE DE LA COLONNE !
Correction finale (Non commentée, avec CHOICE cette fois ci):
Voila, en espérant vous avoir aidé !
Dylan.
Aujourd'hui, je vous propose un petit tutoriel pour réaliser un effet de mouvement du curseur. En d'autre termes: Les déplacements.
En effet, ayant essayé pendant très longtemps de comprendre l'Astuce (Je ne maîtrisais pas encore la boucle FOR, normal ), j'ai enfin compris et je veux vous en faire par en vous l'expliquant, sans lâcher un simple code sans commentaires et incompréhensible pour les débutants, comme je l'étais il y à peu de temps.
Assez de blabla, commençons !
Dans un premier temps, nous allons devoir définir quatre variables: Les positions X et Y du curseurs et les limites X et Y du terrains.
RAPPEL: X=COLONNES et Y=LIGNES.
ATTENTION: LE SETLOCAL DOIT ETRE ACTIVÉ !
- Code:
SETLOCAL ENABLEDELAYEDEXPENSION
:: // POSITION X DU CURSEUR:
SET "POSY=8"
:: // POSITION Y DU CURSEUR:
SET "POSX=16"
:: // NOMBRE DE LIGNES:
SET "LIMY=16"
:: // NOMBRE DE COLONNES:
SET "LIMX=32"
- Code:
:: // DE 0 A LA LIGNE DU CURSEUR PAR PAS DE 1,ON AFFICHE UNE LIGNE VIDE.
FOR /L %%Y IN (0,1,!POSY!) DO (ECHO.)
:: // DE 0 A LA COLONNES DU CURSEUR, ON AFFICHE UN VIDE AVANT LE CURSEUR.
FOR /L %%X IN (0,1,!POSX!) DO (SET "SPACE= !SPACE!")
:: // ON AFFICHE LE VIDE ET LE CURSEUR.
ECHO !SPACE!Û
:: // DE LA LIGNES DU CURSEUR A LA LIMITE VERTICALE DU TERRAIN, ON AFFICHE UNE LIGNE VIDE.
FOR /L %%Y IN (!POSY!,1,!LIMY!) DO (ECHO.)
Enfin, nous allons géré l'effet de mouvement (Haut/Bas/Gauche/Droite). Utiliser SET /P ou CHOICE.
Vous avez cherché ? Oui ? Correction commentée ! (SET /P):
NOTA-BENE: LES LIMITES DU TERRAIN NE SONT PAS GÉRÉE, A VOUS DE TROUVER PAR VOUS MÊME
- Code:
"SET /P MOVE="
:: // SI ON VA EN HAUT, LE CURSEUR MONTE, DONC ON SUPPRIME UNE LIGNE AVANT CELUI-CI:
IF "%MOVE%" EQU "Z" SET /A "POSY-=1"
:: // SI ON VA EN BAS, LE CURSEUR DESCEND, DONC ON AJOUTE UNE LIGNE AVANT CELUI-CI:
IF "%MOVE%" EQU "S" SET /A "POSY+=1"
:: // SI ON VA A GAUCHE, ON SUPPRIME UNE COLONNE AVANT CELUI-CI:
IF "%MOVE%" EQU "Q" SET /A "POSX-=1"
:: // SI ON VA A DROITE, ON AJOUTE UNE COLONNE AVANT CELUI-CI:
IF "%MOVE%" EQU "D" SET /A "POSX+=1"
ATTENTION, A CHAQUE RETOUR DANS LA BOUCLE, ON DOIT RÉINITIALISE LE VIDE DE LA COLONNE !
Correction finale (Non commentée, avec CHOICE cette fois ci):
- Code:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "POSX=16"
SET "POSY=8"
SET "LIMX=32"
SET "LIMY=16"
:FIELD
CLS
SET "SPACE="
FOR /L %%Y IN (0,1,!POSY!) DO (ECHO.)
FOR /L %%X IN (0,1,!POSX!) DO (SET "SPACE= !SPACE!")
ECHO !SPACE!Û
FOR /L %%Y IN (!POSY!,1,!LIMY!) DO (ECHO.)
CHOICE /C ZSQD /N > NUL
IF "%ERRORLEVEL%" EQU "1" SET /A "POSY-=1"
IF "%ERRORLEVEL%" EQU "2" SET /A "POSY+=1"
IF "%ERRORLEVEL%" EQU "3" SET /A "POSX-=1"
IF "%ERRORLEVEL%" EQU "4" SET /A "POSX+=1"
GOTO FIELD
Voila, en espérant vous avoir aidé !
Dylan.
Invité- Invité
Sujets similaires
» [bat] Mouvement du curseur pour vos jeux sans choice et sans externe
» [Bat/VBS] Créer un programme hybride bat/vbs sans créer de fichier temporarire
» [Ex]Afficher un curseur dans votre GUI.
» [BAT] Créer un point de restauration
» [BAT] CREER UN CADRE AUTOMATIQURMENT
» [Bat/VBS] Créer un programme hybride bat/vbs sans créer de fichier temporarire
» [Ex]Afficher un curseur dans votre GUI.
» [BAT] Créer un point de restauration
» [BAT] CREER UN CADRE AUTOMATIQURMENT
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Ven 25 Déc 2015, 14:17 par Sachadee
» [devellopez] Formater une date en ligne Dos
Ven 31 Juil 2015, 10:40 par Dylan Gadacha
» Un super Tuto Batch de IniTScreen
Lun 08 Juin 2015, 12:16 par InitScreen
» Un code MATRIX sympa
Dim 12 Avr 2015, 14:27 par Sachadee
» [BAT/EXE] DresolChange changer la sesolution de l´écran
Mar 17 Mar 2015, 09:12 par Sachadee
» [EXE/bat] DpScript Código Delphi interpreter
Jeu 12 Mar 2015, 15:48 par Sachadee
» Externo SaveDlg com 2 kb
Dim 15 Fév 2015, 12:20 par Sachadee
» présentation
Dim 15 Fév 2015, 12:14 par Sachadee
» [developpez.com] Transcodage fichier vidéo si fichier déposé
Mar 03 Fév 2015, 01:02 par Sachadee