Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
[R] Multiples questions complexe
Auteur Message
Répondre en citant
Message [R] Multiples questions complexe 
Bien, je sais pas si c'est autorisé mais je vois pas l'intéret créer 1 sujet par question..
( attention, série de "Est-il possible" )

- Est-il possible de placer la fenêtre de notre batch à un endroit précis de l'écran.
Et comment obtenir la résolution de l'écran de l'utilisateur.

- Comment casser la barrière du set /a ?
C'est à dire pouvoir faire de grosse oprérations sans que ce message (traumatisant) s'affiche :
Citation:
Nombre non valide. Les nombres sont limités à une précision de 32bits

Où même des opérations avec "," car je connais la technique du "fois 1000" mais c'est chiant..
Car le but final du jeu que je suis actuellement en train de dévellopper (screen ci-dessous), est de devenir multi-millionnaire; donc cette limite est plus qu'embêtante pour de grosses opérations.



Quoi ? On a même plus drois de se faire de l'autopromotion ?!


- Est-il possible de faire en sorte que le code source d'un batch soit lisible/copiable MAIS PAS modifiable (comme avec certain pdf).
Car justement pour Batch Town, modifier son argent (grâce au code source) est bien trop facile même si l'utilisateur n'a aucune connaissance en batch.

- Continuons avec Batch Town, si par exemple je veux rendre mon jeu en exécutable.exe
Est-il possible de compiler ses dossiers (contenant les image.bmp, des .wav ect..) dans l'éxécutable et que le programme puisse s'en servir comme si de rien était ?

- Est-il possible d'exécuter deux "actions" en même temps ?
Je m'explique, prennons comme exemple un jeu avec un personnage qui doit éviter des monstres :
Serait-il possible de faire en sorte que les monstres bougent VRAIMENT en même temps que le perso.
Car en réalité dans les scripts habituel batbox, les monstres et le perso font leur déplacement à la suite très rapidement mais jamais en même temps.
-- Et je trouve pas sa très optimisé.

- Un script pour savoir si la touche MAJ est activé ou non ?

( D'ailleurs, je comprends pas pourquoi tout le monde dit que batbox est mort, que darkbox est mieu ou je ne sais quel autre commande externe.
Batbox peut capter les cliques (et le mouvement de la molette) - l'entré clavier - la position du curseur de la souris, le tout EN MEME TEMPS.



- bon, justement, certe, il fait pas la différence entre MAJ/MIN mais quand même ! -

En plus, s'ajoute à sa qu'il peut détecter si l'utilisateur réduit la fenêtre (parfait pour insertbmp) et même donner la possibilité de jouer à la manette (dans une certaine meusure..)
Que vous faut-il de plus ??? )

- Est-il possible de "capturé" EXACTEMENT ce qu'il y a écris sur la console (caractère spéciaux compris) et de retrenscrir le tout dans un fichier txt.
(en sachant que ce qui est écris sur cette fameuse console à été fait avec batbox)

- Commande pour créer des racourcis en batch ?

- Est-il possible de remplacer une lettre par une autre dans un fichier.txt qui contient des caractères spéciaux ?
Car j'ai cette technique mais quand dans le fichier en question, il y a des caractères du style ">" ou des accent, sa bug.
Code (simplifier) que j'utilise actuellement :
Code:

for /F "delims=*" %%i in (fichier.txt) do call :m "%%i"

exit

:m
set k=%1

Set k=!k:j=e!
Set k=!k:%=?!
Set k=!k:w=!

set k=!k:~1,-1!
set in=%~dp0

md dossier
echo !k!>>"!in!\dossier\new_fichier.txt"
goto :eof


- Je connais la commande Taskkill, mais est-il possible de couper un procéssus précis; c'est à dire, pas toutes les console/batch/interpréteur_de_commande mais juste celui dont le nom du fichier batch est xxx.
Car j'ai remarqué que le gestionnaire de tache ne faisait pas la différence entre les différents batch ouvert, il les attribuait tous à l'interpréteur de commande.

- Quel est la meilleur {extention} pour comprésser un fichier batch ou une image.bmp ?
Et dailleurs, y a-t-il une vrai différence les extention .bat et .cmd ?? ( je sais que .bat ne marche pas sous Win10 et que .cmd sous < WinVista - même si je m'en fous vue que Windows 8.1 = best version ever - )

- Comment passer la limite de "call :" ? Cette commande est plus que pratique mais si dans la suite de commandes que l'on appelle, il y a un "goto xx" selon une condition, le script bug (le plus souvent le goto est totalement ignoré).
Car le script n'a pas eu l'ocasion de passer par le goto :eof. Je sais pas si vous m'avez compris mais cette limite est vraiment trop contraignante pour de longs programmes.

- Est-il possible par exemple, d'écrire la ligne 350 à 720 (du fichier qui exécute le batch) dans un fichier txt ?

Voilà, je crois avoir fait le tour de mes (principales) questions !

( Même si vous pouvez répondre qu'a une seule question, je suis toujours prenneur !! )



Dernière édition par Bad-Code le Dim 17 Sep 2017 - 19:12; édité 1 fois

______________________________________________________
We're just an accident. We're just bad code. - Root
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Re: Multiples questions complexe 
Bad-Code a écrit:

- Continuons avec Batch Town, si par exemple je veux rendre mon jeu en exécutable.exe
Est-il possible de compiler ses dossiers (contenant les image.bmp, des .wav ect..) dans l'éxécutable et que le programme puisse s'en servir comme si de rien était ?

Compiler j'en sais rien, mais tu peux les encoder et les intégrer à ton code source exactement comme on fait pour générer batbox.exe (en hexadécimal) ou même en base64 avec la création d'Hackoo http://batch.xoo.it/t5865-Encodage-de-fichiers-en-Base64-avec-l-utilitaire-… l'astuce pourrait être de "désencoder" les fichiers inclus vers un dossier temporaire (C:\temp par exemple) et de les supprimer à la fin.

Bad-Code a écrit:

D'ailleurs, je comprends pas pourquoi tout le monde dit que batbox est mort, que darkbox est mieu ou je ne sais quel autre commande externe.

Moi non plus Laughing

Bad-Code a écrit:
bon, justement, certe, il fait pas la différence entre MAJ/MIN mais quand même ! -

Pardon ? Shocked Surprised
Exemple avec la touche A : avec batbox /k, un "a" minuscule met le code %errorlevel% à 97 alors qu'un "A" majuscule (shift+A ou A avec ver maj d'activé) renverra 65.

Bad-Code a écrit:

- Je connais la commande Taskkill, mais est-il possible de couper un procéssus précis; c'est à dire, pas toutes les console/batch/interpréteur_de_commande mais juste celui dont le nom du fichier batch est xxx.
Car j'ai remarqué que le gestionnaire de tache ne faisait pas la différence entre les différents batch ouvert, il les attribuait tous à l'interpréteur de commande.

Il me semble que c'est possible à condition de spécifier un "title" dans le batch cible. Regarde la réponse de Sacha' ici http://batch.xoo.it/t5857-Detecter-la-fermeture-d-un-batch.htm?q=#p44117

Bad-Code a écrit:
je sais que .bat ne marche pas sous Win10

Pardon ? Shocked Surprised (bis) Okay

Voilà pour ce que je peux faire Wink
La dernière question j'ai rien compris par contre.




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :

Hugo7, sans faire exprès... a écrit:
Il conviendra de [...] supprimer le panneau de la liste des panneaux présente dans une variable liste dans la liste des variables.
Visiter le site web du posteur Skype
Répondre en citant
Message [R] Multiples questions complexe 
Salut Wink Déjà : quel pavé que voilà ! Mort de Rire

Alors, c'est partit pour le Q/R Mr. Green :

Bad-Code a écrit:
Est-il possible de placer la fenêtre de notre batch à un endroit précis de l'écran.

Oui c'est possible, il me semble que nircmd permet de faire ça, sinon il faut passer par une commande externe --> WinAPI.

Bad-Code a écrit:
Comment casser la barrière du set /a ?

Soit avec une commande externe, ou alors ce que tu peux faire, c'est la technique des "1000 fois", tu créé un "compteur" qui sera placé dans une seconde variable et qui sera, mathématiquement, l'exposant de la puissance de 10
appliqué à tes variables. Je m'explique :

Tu as ta variable avec de l'argent par exemple : 330
Tu voudrais que cet argent soit de 330 millards, chose impossible en batch, dans ce cas tu créé la seconde variable tu l'a définie à 9.

Tu peux ensuite faire un calcul simple : 330 * 10^9 = 330 000 000 000 = 330 milliards
Pour afficher ce nombre sur ton batch sans passer par set /a, tu affiche ta première variable et tu ajoute n nombre de 0 derrière ta variable Okay

Bad-Code a écrit:
Est-il possible de faire en sorte que le code source d'un batch soit lisible/copiable MAIS PAS modifiable (comme avec certain pdf).

Tu peux utiliser certains BatToExe qui peuvent te fournir une "protection" minimale mais concrètement, non, il n'existe pas de techniques permettant d'interdire la modification.

Bad-Code a écrit:
Continuons avec Batch Town, si par exemple je veux rendre mon jeu en exécutable.exe
Est-il possible de compiler ses dossiers (contenant les image.bmp, des .wav ect..) dans l'éxécutable et que le programme puisse s'en servir comme si de rien était ?

Avec certains BatToExe tu as possibilités d'utiliser des fichiers qui seront compressé dans le .exe et décompressé à l'exécution, donc non, le programme ne pourra pas s'en servir tant qu'ils sont compressés.

Bad-Code a écrit:
Est-il possible d'exécuter deux "actions" en même temps ?
Je m'explique, prenons comme exemple un jeu avec un personnage qui doit éviter des monstres :
Serait-il possible de faire en sorte que les monstres bougent VRAIMENT en même temps que le perso.
Car en réalité dans les scripts habituel batbox, les monstres et le perso font leur déplacement à la suite très rapidement mais jamais en même temps.
-- Et je trouve pas sa très optimisé.


Déjà, quelle idée d'utiliser encore batbox sachant que darkbox est beaucoup plus optimisé d'un point de vue fonctionnement technique (récupération des cmd via Stdin), et ce que tu cherche à faire s'appelle le multi-threading, tu peux allez voir mon tuto ici.
Pour répondre à ta question, il n'est pas possible dans un programme Console de n'importe quel langage de programmation d'écrire en même temps dans la Console, car cela passe par le Stdout, un tuyau de données unidirectionnel en série. Si tu veux utiliser l'écran via plusieurs threads, il faut passer par une GUI (ou une API graphique, tel qu'OpenGL, DirectX, Vulcan ext ...).

Bad-Code a écrit:
Est-il possible de "capturé" EXACTEMENT ce qu'il y a écris sur la console (caractère spéciaux compris) et de retrenscrir le tout dans un fichier txt.
(en sachant que ce qui est écris sur cette fameuse console à été fait avec batbox)

Oui, il faut rediriger la sortie de batbox sur un fichier texte (avec le bon encodage), évidemment, tu n'aura pas les couleurs dans le fichier texte Wink

Bad-Code a écrit:
Je connais la commande Taskkill, mais est-il possible de couper un procéssus précis; c'est à dire, pas toutes les console/batch/interpréteur_de_commande mais juste celui dont le nom du fichier batch est xxx.
Car j'ai remarqué que le gestionnaire de tache ne faisait pas la différence entre les différents batch ouvert, il les attribuait tous à l'interpréteur de commande

Oui c'est possible, il faut passer par le PID (Processus ID), je ne me rappel plus comment récupérer le PID du cmd.exe actuel, je ne sais même plus si c'est possible via une commande, en tout cas via un programme en C et la WinAPI c'est possible Okay

Bad-Code a écrit:
Quel est la meilleur {extention} pour comprésser un fichier batch ou une image.bmp ?
Et dailleurs, y a-t-il une vrai différence les extention .bat et .cmd ?? ( je sais que .bat ne marche pas sous Win10 et que .cmd sous < WinVista - même si je m'en fous vue que Windows 8.1 = best version ever - )

Normalement, aucunes différences, et Win10 reconnait le .bat.
Le .cmd et .bat sont reconnus au moins depuis WinXp et jusqu'à Win10 sans aucuns problèmes.
Et dans un fichier .bat/.cmd, ton programme n'est pas compressé, pour un .bmp, non plus, car ce format est Lossless.

Bad-Code a écrit:
Comment passer la limite de "call :" ? Cette commande est plus que pratique mais si dans la suite de commandes que l'on appelle, il y a un "goto xx" selon une condition, le script bug (le plus souvent le goto est totalement ignoré).
Car le script n'a pas eu l'ocasion de passer par le goto :eof. Je sais pas si vous m'avez compris mais cette limite est vraiment trop contraignante pour de longs programmes.

Personnellement, je n'ai jamais eu ce genre de problèmes dans mes scripts, est-tu sûr de tes commandes, envoie une portion de ton code qui bug Okay

Bad-Code a écrit:
Est-il possible par exemple, d'écrire la ligne 350 à 720 (du fichier qui exécute le batch) dans un fichier txt ?

Oui, via un for /f mais le compte des lignes risque d'être bugué, sinon on peut utiliser la technique du ""%comspec% /u /c echo:%~1|more|find /n /v """" pour compter le nombre de ligne correctement mais ça risque d'être pas très performant. Le plus rapide serait de passer par une commande externe Neutral

Bad-Code a écrit:
Est-il possible de remplacer une lettre par une autre dans un fichier.txt qui contient des caractères spéciaux ?
Car j'ai cette technique mais quand dans le fichier en question, il y a des caractères du style ">" ou des accent, sa bug.

Tu peux utiliser le set /p pour écrire dans le fichier en question tout en bypassing l'interprétation, TS te fera sûrement une petite démo Wink


@ ++ Okay Wink




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message Re: Multiples questions complexe 
Hugo7 a écrit:

Compiler j'en sais rien, mais tu peux les encoder et les intégrer à ton code source exactement comme on fait pour générer batbox.exe (en hexadécimal) ou même en base64 avec la création d'Hackoo http://batch.xoo.it/t5865-Encodage-de-fichiers-en-Base64-avec-l-utilitaire-… l'astuce pourrait être de "désencoder" les fichiers inclus vers un dossier temporaire (C:\temp par exemple) et de les supprimer à la fin.

Oui, je connaissait vaguement cette technique, mais on m'a dit que si il y a trop d'image bmp à générer, le fichier risque d'être trop lourd; je pensais qu'il existait une technique plus simple ^^

Hugo7 a écrit:

Bad-Code a écrit:
bon, justement, certe, il fait pas la différence entre MAJ/MIN mais quand même ! -

Pardon ? Shocked Surprised
Exemple avec la touche A : avec batbox /k, un "a" minuscule met le code %errorlevel% à 97 alors qu'un "A" majuscule (shift+A ou A avec ver maj d'activé) renverra 65.

Toi "pardon" ! Moi je parle de la technique batbox qui permet de capter les cliques ET l'entré clavier. Cette technique ne fait pas la différence entre maj/min. Donc problème non résolue..

Hugo7 a écrit:

Bad-Code a écrit:

- Je connais la commande Taskkill, mais est-il possible de couper un procéssus précis; c'est à dire, pas toutes les console/batch/interpréteur_de_commande mais juste celui dont le nom du fichier batch est xxx.
Car j'ai remarqué que le gestionnaire de tache ne faisait pas la différence entre les différents batch ouvert, il les attribuait tous à l'interpréteur de commande.

Il me semble que c'est possible à condition de spécifier un "title" dans le batch cible. Regarde la réponse de Sacha' ici http://batch.xoo.it/t5857-Detecter-la-fermeture-d-un-batch.htm?q=#p44117

Merci !!

Hugo7 a écrit:

Bad-Code a écrit:
je sais que .bat ne marche pas sous Win10

Pardon ? Shocked Surprised (bis) Okay

Bah le pc avec win10 que j'ai, lui ne reconnais pas les .bat et au lieu des les ouvrir, il ouvre le notepad avec le code source du bat dedans..

Mais sinon merci de ta réponse.




______________________________________________________
We're just an accident. We're just bad code. - Root
Répondre en citant
Message [R] Multiples questions complexe 
À mon avis t'as dû faire une manip du genre "Toujours ouvrir .bat avec notepad", tu peux corriger ça via clic droit -> ouvrir avec -> (cherche cmd.exe) -> cocher la case "Toujours utiliser cmd pour ouvrir les .bat" Okay


Bad-Code a écrit:
Moi je parle de la technique batbox qui permet de capter les cliques ET l'entré clavier.

okok désolé j'avais mal compris Laughing




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :

Hugo7, sans faire exprès... a écrit:
Il conviendra de [...] supprimer le panneau de la liste des panneaux présente dans une variable liste dans la liste des variables.
Visiter le site web du posteur Skype
Répondre en citant
Message [R] Multiples questions complexe 
Xenoxis a écrit:

Oui c'est possible, il me semble que nircmd permet de faire ça, sinon il faut passer par une commande externe --> WinAPI.

Parfait, je vais voir sa de plus près.

Xenoxis a écrit:

Soit avec une commande externe, ou alors ce que tu peux faire, c'est la technique des "1000 fois", tu créé un "compteur" qui sera placé dans une seconde variable et qui sera, mathématiquement, l'exposant de la puissance de 10
appliqué à tes variables. Je m'explique :

Tu as ta variable avec de l'argent par exemple : 330
Tu voudrais que cet argent soit de 330 millards, chose impossible en batch, dans ce cas tu créé la seconde variable tu l'a définie à 9.

Tu peux ensuite faire un calcul simple : 330 * 10^9 = 330 000 000 000 = 330 milliards
Pour afficher ce nombre sur ton batch sans passer par set /a, tu affiche ta première variable et tu ajoute n nombre de 0 derrière ta variable Okay

Eh ! Mais c'est vraiment pas con ta technique. Sa va pas mal m'aidé !

Xenoxis a écrit:

mais concrètement, non, il n'existe pas de techniques permettant d'interdire la modification.

A vrai dire, je m'en doutais.

Xenoxis a écrit:

Avec certains BatToExe tu as possibilités d'utiliser des fichiers qui seront compressé dans le .exe et décompressé à l'exécution, donc non, le programme ne pourra pas s'en servir tant qu'ils sont compressés.

Avec certain BatToExe ? C'est à dire, y en a plusieurs ??


Xenoxis a écrit:

Déjà, quelle idée d'utiliser encore batbox sachant que darkbox est beaucoup plus optimisé d'un point de vue fonctionnement technique (récupération des cmd via Stdin), et ce que tu cherche à faire s'appelle le multi-threading, tu peux allez voir mon tuto ici.
Pour répondre à ta question, il n'est pas possible dans un programme Console de n'importe quel langage de programmation d'écrire en même temps dans la Console, car cela passe par le Stdout, un tuyau de données unidirectionnel en série. Si tu veux utiliser l'écran via plusieurs threads, il faut passer par une GUI (ou une API graphique, tel qu'OpenGL, DirectX, Vulcan ext ...).

- Tout d'abord, est ce que ce fameux "DarkBox" est capable de détecter si on réduit la fenêtre,détecter l'entré clavier ( dont les toucher F1 à F11, la touche windows ect.. ), les cliques ( et la molette ) [LE TOUT EN MEME TEMPS] AVEC UNE SEULE BOUCLE FOR ?
Si oui, eh bien d'accord, je passe à darkbox.
Mais sache une chose, batbox est la meilleur commande externe, si on sait l'utiliser !
- Mmmm, je pensais pas que sa serais si compliquer ! Mais je vais aller voir sa.

Xenoxis a écrit:

Oui, il faut rediriger la sortie de batbox sur un fichier texte (avec le bon encodage), évidemment, tu n'aura pas les couleurs dans le fichier texte Wink

C'est à dire ? Dévelloppe comment faire ??

Xenoxis a écrit:

Oui c'est possible, il faut passer par le PID (Processus ID), je ne me rappel plus comment récupérer le PID du cmd.exe actuel, je ne sais même plus si c'est possible via une commande, en tout cas via un programme en C et la WinAPI c'est possible Okay

C'est bon, on m'a aider à trouver comment faire !

Xenoxis a écrit:

Normalement, aucunes différences, et Win10 reconnait le .bat.
Le .cmd et .bat sont reconnus au moins depuis WinXp et jusqu'à Win10 sans aucuns problèmes.
Et dans un fichier .bat/.cmd, ton programme n'est pas compressé, pour un .bmp, non plus, car ce format est Lossless.

Comme je l'ai dis à Hugo7, le mien non.

Xenoxis a écrit:

Personnellement, je n'ai jamais eu ce genre de problèmes dans mes scripts, est-tu sûr de tes commandes, envoie une portion de ton code qui bug Okay

A vos ordres, chef !
Code:

.....
.....
If !sv!==1 call :go1
.....
.....
:go1

If %x% GTR 23 if %x% LSS 32 if %y% GTR 28 if %y% LSS 32 if !wniv1! LSS 5 (
set /a wniv1+=1
set /a argent-=!argplus!
call :clsin
call :v1
goto infoville
)

If %x% GTR 8 if %x% LSS 32 if %y%==36 if !hyp1!==0 (
set /a argent+=!argghyp!
set hyp1=1
call :clsin
call :v1
goto loopp
)

If %x% GTR 8 if %x% LSS 32 if %y%==38 if !hyp1!==1 (
set /a argent-=!argrhyp!
set hyp1=0
call :clsin
call :v1
goto infoville
)

goto :eof



Genre je suis obliger de cliquer plusieurs fois pour que sa marche..

En revanche si j'utilise cette technique (pas du tout pratique) sa marche parfaitement :

Code:

.....
.....
If !sv!==1 call :go1
If !goend!==1 (
set goend=0
call :clsin
call :v1
goto infoville
)
If !goend!==2 (
set goend=0
call :clsin
call :v1
goto loopp
)
.....
.....
:go1

If %x% GTR 23 if %x% LSS 32 if %y% GTR 28 if %y% LSS 32 if !wniv1! LSS 5 (
set /a wniv1+=1
set /a argent-=!argplus!
set goend=1
)

If %x% GTR 8 if %x% LSS 32 if %y%==36 if !hyp1!==0 (
set /a argent+=!argghyp!
set hyp1=1
set goend=2
)

If %x% GTR 8 if %x% LSS 32 if %y%==38 if !hyp1!==1 (
set /a argent-=!argrhyp!
set hyp1=0
set goend=1
)

goto :eof


Xenoxis a écrit:

Oui, via un for /f mais le compte des lignes risque d'être bugué, sinon on peut utiliser la technique du ""%comspec% /u /c echo:%~1|more|find /n /v """" pour compter le nombre de ligne correctement mais ça risque d'être pas très performant. Le plus rapide serait de passer par une commande externe Neutral

J'aime pas bourrer mes programme de millier de commande externe, c'est un principe.
En revanche je m'en fiche totalement que sa soit pas performent, il me faut absolument trouver un moyen d'y arriver ! Donc si t'a le code sourde en entier avec ta boucle for, sa m'intéresse grandement !


Xenoxis a écrit:

Tu peux utiliser le set /p pour écrire dans le fichier en question tout en bypassing l'interprétation, TS te fera sûrement une petite démo Wink

Wff tu parle un autre langue je comprend rien. Et c'est quoi ts ?

EDIT !! Mais attend; Xenoxis, je viens de lire tes info, c'est toi créer CityDos ?!! Je pense que t'a remarque que je faisait un peu près la même chose (même si j'ai mis qu'un scren de la bourse qui n'est pas réprésentative du jeu). T'aurais un lien safe pour que je puisse télécharger ton jeux, car windows aime pas ton exécutable (tkt pas, je vais pas m'en inspirer, je veux juste savoir à quoi ressemble un jeu concurent en batch ^^)
Et si t'a des conseil à me donner pour le dévelloppement du mien ( et par quel moyen t'a procéder pour le tient ) je suis preneur.



Dernière édition par Bad-Code le Mer 30 Aoû 2017 - 17:09; édité 1 fois

______________________________________________________
We're just an accident. We're just bad code. - Root
Répondre en citant
Message Re: Multiples questions complexe 
Bad-Code a écrit:
- Est-il possible de placer la fenêtre de notre batch à un endroit précis de l'écran.
Et comment obtenir la résolution de l'écran de l'utilisateur.

Alors on peu avec nircmd je crois, et pour la résolution de l'écran :
Code:
@echo off
for /f "tokens=1" %%X in ('WMIC DESKTOPMONITOR GET SCREENWIDTH ^| findstr "0 1 2 3 4 5 6 7 8 9"') do set WIDTH=%%X
for /f "tokens=1" %%Y in ('WMIC DESKTOPMONITOR GET SCREENHEIGHT ^| findstr "0 1 2 3 4 5 6 7 8 9"') do set HEIGHT=%%Y
echo Hauteur: %WIDTH% x Largeur: %HEIGHT%
pause


Bad-Code a écrit:
- Comment casser la barrière du set /a ?
C'est à dire pouvoir faire de grosse oprérations sans que ce message (traumatisant) s'affiche :
Citation:
Nombre non valide. Les nombres sont limités à une précision de 32bits

Où même des opérations avec "," car je connais la technique du "fois 1000" mais c'est chiant..
Car le but final du jeu que je suis actuellement en train de dévellopper (screen ci-dessous), est de devenir multi-millionnaire; donc cette limite est plus qu'embêtante pour de grosses opérations.

Bah en batch pur tu vas en chier, sinon passe par du vbs je l'avais fait pour les virgules ya longtemps genre :
Code:
@echo off
call :floatCalc 998487749* 1.1 / 1999789
echo %floatCalc%
pause &exit
:floatCalc
if not exist "%tmp%\floatCalc.vbs" echo WScript.Echo Round(Eval(WScript.Arguments(0)))>"%tmp%\floatCalc.vbs"
for /f %%i in ('cscript //nologo "%tmp%\floatCalc.vbs" "%*"') do (set "floatCalc=%%i")
set "floatCalc=%floatCalc:,=.%"
goto :eof




Bad-Code a écrit:
- Est-il possible de faire en sorte que le code source d'un batch soit lisible/copiable MAIS PAS modifiable (comme avec certain pdf).
Car justement pour Batch Town, modifier son argent (grâce au code source) est bien trop facile même si l'utilisateur n'a aucune connaissance en batch.

Alors malheureusement nope, le truc que tu peux faire c'est convertir en hexadécimal ou en autre chose l'argent dans la save, mais de toute façon si on peut modifier le code source la conversion ne sert plus à rien x)
Et il n'existe rien pour compiler le code source d'un truc en batch, tu peux juste le cacher vite fait pour les utilisateurs lambdas x)

Bad-Code a écrit:
- Continuons avec Batch Town, si par exemple je veux rendre mon jeu en exécutable.exe
Est-il possible de compiler ses dossiers (contenant les image.bmp, des .wav ect..) dans l'éxécutable et que le programme puisse s'en servir comme si de rien était ?

Heu bat2exe permet de faire ça justement, il ajoute les fichiers que tu veux dans l'éxecutable et ils sont extrait au lancement de l'executable Wink

Bad-Code a écrit:
- Est-il possible d'exécuter deux "actions" en même temps ?

Nope, le batch est pas fait pour ça, par contre utilise darkbox pour que ça soit plus fluide qui contrairement à batbox ne se lance pas en plusieurs processus et darkbox est plus performant là dessus car elle ne se relance pas à chaque appel x)


Bad-Code a écrit:
- Un script pour savoir si la touche MAJ est activé ou non ?

Oui mais pas en batch x)

Bad-Code a écrit:
- Est-il possible de "capturé" EXACTEMENT ce qu'il y a écris sur la console (caractère spéciaux compris) et de retrenscrir le tout dans un fichier txt.
(en sachant que ce qui est écris sur cette fameuse console à été fait avec batbox)

Jamais essayé x)

Bad-Code a écrit:
- Commande pour créer des racourcis en batch ?

Ya la commande shortcut.exe qui existe, sinon en vbs merci google http://www.commentcamarche.net/forum/affich-27531575-creer-un-raccourcis-en…

Bad-Code a écrit:
- Est-il possible de remplacer une lettre par une autre dans un fichier.txt qui contient des caractères spéciaux ?
Car j'ai cette technique mais quand dans le fichier en question, il y a des caractères du style ">" ou des accent, sa bug.
Code (simplifier) que j'utilise actuellement :
Code:

for /F "delims=*" %%i in (fichier.txt) do call :m "%%i"

exit

:m
set k=%1

Set k=!k:j=e!
Set k=!k:%=?!
Set k=!k:w=!

set k=!k:~1,-1!
set in=%~dp0

md dossier
echo !k!>>"!in!\dossier\new_fichier.txt"
goto :eof


Met des guillemets normalement ça devrait le faire Wink
Code:

for /F "delims=*" %%i in (fichier.txt) do call :m "%%i"

exit

:m
set "k=%1"

Set "k=!k:j=e!"
Set "k=!k:%=?!"
Set "k=!k:w=!"

set "k=!k:~1,-1!"
set "in=%~dp0"

md dossier
echo !k!>>"!in!\dossier\new_fichier.txt"
goto :eof


Bad-Code a écrit:
- Je connais la commande Taskkill, mais est-il possible de couper un procéssus précis; c'est à dire, pas toutes les console/batch/interpréteur_de_commande mais juste celui dont le nom du fichier batch est xxx.
Car j'ai remarqué que le gestionnaire de tache ne faisait pas la différence entre les différents batch ouvert, il les attribuait tous à l'interpréteur de commande.

Essaye de comprendre et de modifier ce bout de code je l'ai retrouvé dans mon dossier avec pleins de fichiers batch ^^
Code:
@echo off
set $titre=skywalkertest
title %$titre%

for /f "tokens=2 delims=," %%a in ('tasklist /v /fo csv ^| findstr /i "%$titre%"') do (
  set "$PID=%%a"
  echo %%a >> check.txt
)

set /p $PIDcheck=<check.txt
del check.txt

echo LE PID DE CE PROCESSUS EST : %$PID%
echo LE PID CHECK EST           : %$PIDcheck%
echo.
if %$PID%==%$PIDcheck% (echo Une instance ouverte :D) else (echo PLUSIEURS instances sont ouvertes fermeture dans 5 secondes !!! &ping localhost -n 6 >nul &exit)
echo.
echo Suite du code ici :)
echo blablablalllalaalllallllllaaa
pause
exit


Bad-Code a écrit:
- Quel est la meilleur {extention} pour comprésser un fichier batch ou une image.bmp ?
Et dailleurs, y a-t-il une vrai différence les extention .bat et .cmd ?? ( je sais que .bat ne marche pas sous Win10 et que .cmd sous < WinVista - même si je m'en fous vue que Windows 8.1 = best version ever - )

Alors un script batch ne se compresse pas x) pour les images j'utilise le jpeg et il te suffira largement mais je sais que d'autres formats moins connu compressent mieux x)
Et pour la différence entre .bat et .cmd :
https://stackoverflow.com/a/148991
Citation:
The only known difference between .cmd and .bat file execution is that in a .cmd file the ERRORLEVEL variable changes even on a successful command that is affected by Command Extensions (when Command Extensions are enabled), whereas in .bat files the ERRORLEVEL variable changes only upon errors.

En gros avec .bat l'errorlevel est seulement modifié si le script rencontre une erreur, avec .cmd il est modifié après chaque commandes


Bad-Code a écrit:
- Comment passer la limite de "call :" ? Cette commande est plus que pratique mais si dans la suite de commandes que l'on appelle, il y a un "goto xx" selon une condition, le script bug (le plus souvent le goto est totalement ignoré).
Car le script n'a pas eu l'ocasion de passer par le goto :eof. Je sais pas si vous m'avez compris mais cette limite est vraiment trop contraignante pour de longs programmes.

A part modifier ton code pour sortir des boucles call au bout d'un moment pour que ça ne crash pas je sais pas x)

Bad-Code a écrit:
- Est-il possible par exemple, d'écrire la ligne 350 à 720 (du fichier qui exécute le batch) dans un fichier txt ?

Yep, à toi de faire je te dit juste comment faire :
tu fais une boucle for qui lit le fichier, genre type lenomdufichier.bat, tu précise dans la boucle for de skip les 350 premières lignes, et ensuite tu fais un compteur qui additionne +1 à chaque fois qu'une ligne est lue et tu l'écris dans un fichier comme tu veux faire, et quand t'es arrivé à 720 tu sort de la boucle for Wink

Voilà voilà Laughing




______________________________________________________
Visiter le site web du posteur
Répondre en citant
Message Re: Multiples questions complexe 
Skywalker a écrit:

@echo off
for /f "tokens=1" %%X in ('WMIC DESKTOPMONITOR GET SCREENWIDTH ^| findstr "0 1 2 3 4 5 6 7 8 9"') do set WIDTH=%%X
for /f "tokens=1" %%Y in ('WMIC DESKTOPMONITOR GET SCREENHEIGHT ^| findstr "0 1 2 3 4 5 6 7 8 9"') do set HEIGHT=%%Y
echo Hauteur: %WIDTH% x Largeur: %HEIGHT%
pause


Merci, merci, merci. C'est vraiment parfait, merci !!

Skywalker a écrit:

@echo off
call :floatCalc 998487749* 1.1 / 1999789
echo %floatCalc%
pause &exit
:floatCalc
if not exist "%tmp%\floatCalc.vbs" echo WScript.Echo Round(Eval(WScript.Arguments(0)))>"%tmp%\floatCalc.vbs"
for /f %%i in ('cscript //nologo "%tmp%\floatCalc.vbs" "%*"') do (set "floatCalc=%%i")
set "floatCalc=%floatCalc:,=.%"
goto :eof

Ton script est exéllent mais on m'a déjà donner d'autre alternative. Mais je pense m'en servir ocasoniellement pour des opération bien spécial.

Skywalker a écrit:

lors malheureusement nope, le truc que tu peux faire c'est convertir en hexadécimal ou en autre chose l'argent dans la save, mais de toute façon si on peut modifier le code source la conversion ne sert plus à rien x)
Et il n'existe rien pour compiler le code source d'un truc en batch, tu peux juste le cacher vite fait pour les utilisateurs lambdas x)

Je sais, on me l'a confirmer. Je suis décue. Mais alors comment il font les pdf pour rendre leur fichier non modifiable ????

Skywalker a écrit:

Nope, le batch est pas fait pour ça, par contre utilise darkbox pour que ça soit plus fluide qui contrairement à batbox ne se lance pas en plusieurs processus et darkbox est plus performant là dessus car elle ne se relance pas à chaque appel x)

Le prochain qui me dis de passer à darkbox au lieu de batbox, JE LE TUE !!
Citation de ce que j'ai dit à Xénoxis à propos de DarkBox :
Citation:

Tout d'abord, est ce que ce fameux "DarkBox" est capable de détecter si on réduit la fenêtre,détecter l'entré clavier ( dont les toucher F1 à F11, la touche windows ect.. ), les cliques ( et la molette ) [LE TOUT EN MEME TEMPS] AVEC UNE SEULE BOUCLE FOR ?
Si oui, eh bien d'accord, je passe à darkbox.
Mais sache une chose, batbox est la meilleur commande externe, si on sait l'utiliser !



Skywalker a écrit:

Bad-Code a écrit:
- Un script pour savoir si la touche MAJ est activé ou non ?

Oui mais pas en batch x)

Pas grave si c'est pas du batch.. j'en ai réellement besoin !

Skywalker a écrit:

Met des guillemets normalement ça devrait le faire

Je suis peut-être débile, mais pas à ce point ! déjà essayé !


Skywalker a écrit:

Bad-Code a écrit:
- Quel est la meilleur {extention} pour comprésser un fichier batch ou une image.bmp ?
Et dailleurs, y a-t-il une vrai différence les extention .bat et .cmd ?? ( je sais que .bat ne marche pas sous Win10 et que .cmd sous < WinVista - même si je m'en fous vue que Windows 8.1 = best version ever - )

Alors un script batch ne se compresse pas x) pour les images j'utilise le jpeg et il te suffira largement mais je sais que d'autres formats moins connu compressent mieux x)
Et pour la différence entre .bat et .cmd :
https://stackoverflow.com/a/148991
Citation:
The only known difference between .cmd and .bat file execution is that in a .cmd file the ERRORLEVEL variable changes even on a successful command that is affected by Command Extensions (when Command Extensions are enabled), whereas in .bat files the ERRORLEVEL variable changes only upon errors.

En gros avec .bat l'errorlevel est seulement modifié si le script rencontre une erreur, avec .cmd il est modifié après chaque commandes

- Je comprend pas pourquoi sa peut pas se compresser ? Un fichier txt se compresse mais pas un batch ...
- Merci beaucoup, c'est intéressant à savoir ! Mais ce qui fait que windows à créer une nouvelle extention juste pour sa .. bizarre.


Skywalker a écrit:

Bad-Code a écrit:
- Est-il possible par exemple, d'écrire la ligne 350 à 720 (du fichier qui exécute le batch) dans un fichier txt ?

Yep, à toi de faire je te dit juste comment faire :
tu fais une boucle for qui lit le fichier, genre type lenomdufichier.bat, tu précise dans la boucle for de skip les 350 premières lignes, et ensuite tu fais un compteur qui additionne +1 à chaque fois qu'une ligne est lue et tu l'écris dans un fichier comme tu veux faire, et quand t'es arrivé à 720 tu sort de la boucle for Wink

Je suis trop nul avec les boucle for, déja que for /l j'ai du mal mais alors là, oublie !




______________________________________________________
We're just an accident. We're just bad code. - Root
Répondre en citant
Message [R] Multiples questions complexe 
Bad-Code a écrit:
Avec certain BatToExe ? C'est à dire, y en a plusieurs ??


Oui, il en existe une multitude sur internet, certains sont meilleurs que d'autres, perso j'utilisais celui-là Okay

Bad-Code a écrit:
Tout d'abord, est ce que ce fameux "DarkBox" est capable de détecter si on réduit la fenêtre,détecter l'entré clavier ( dont les toucher F1 à F11, la touche windows ect.. ), les cliques ( et la molette ) [LE TOUT EN MEME TEMPS] AVEC UNE SEULE BOUCLE FOR ?
Si oui, eh bien d'accord, je passe à darkbox.
Mais sache une chose, batbox est la meilleur commande externe, si on sait l'utiliser !
- Mmmm, je pensais pas que sa serais si compliquer ! Mais je vais aller voir sa.


Hmmm je pense que via une seule boucle for c'est possible, à voir si il peut détecté toutes les touches (bien que cela m'étonne chez toi que batbox détecte certaines touches spéciales, telle que la touche Windows par exemple ... Rolling Eyes ).
Oui batbox peut être puissant lorsqu'on sait s'en servir, mais Darkbox permet de bien meilleurs résultats sans prendre la tête au dev Okay J'avais d'ailleurs fait un tuto sur l'optimisation des batch Okay

Bad-Code a écrit:
C'est à dire ? Dévelloppe comment faire ??


Voilà un code très simple Okay
Code:

@echo off
:deb
batbox /k
(call set /p=%=ExitCodeAscii%< NUL)>> test.file
goto deb


Bad-Code a écrit:
Personnellement, je n'ai jamais eu ce genre de problèmes dans mes scripts, est-tu sûr de tes commandes, envoie une portion de ton code qui bug Okay
- A vos ordres, chef !


J'ai fait ça vite fait Mr. Green :
(Après je ne connais pas ton code en détails, donc si ça foire, c'est pas étonnant Embarassed)
Code:

.....
.....
If "!sv!" EQU "1" call :go1
.....
.....
:go1
 
If %x% GTR 23 if %x% LSS 32 if %y% GTR 28 if %y% LSS 32 if !wniv1! LSS 5 (
set /a wniv1+=1,argent-=!argplus!
call :clsin
call :v1
goto infoville
)
 
If %x% GTR 8 if %x% LSS 32 (
   if %y% EQU 36 if !hyp1! EQU 0 (
      set /a argent+=!argghyp!, hyp1=1
      call :clsin
      call :v1
      goto loopp
   )
   if %y% EQU 38 if !hyp1! EQU 1 (
      set /a argent-=!argrhyp!, hyp1=0
      call :clsin
      call :v1
      goto infoville
   )
goto :eof


a écrit:
J'aime pas bourrer mes programme de millier de commande externe, c'est un principe.
En revanche je m'en fiche totalement que sa soit pas performent, il me faut absolument trouver un moyen d'y arriver ! Donc si t'a le code sourde en entier avec ta boucle for, sa m'intéresse grandement !


Voilà un code permettant d'afficher le numéro de la ligne et le contenu, tu peux modifier ce code et l'adapter à tes besoins Okay
Code:

set File=
for /f "tokens=1-2 delims=[]" %%A in ('Find /v /n "" %File%') do echo;Ligne %%A : %%B


a écrit:
Et c'est quoi ts ?

Mort de Rire tu va le vexé Mr. Green , TS c'est TSnake, le créateur de darkbox Okay

a écrit:
EDIT !! Mais attend; Xenoxis, je viens de lire tes info, c'est toi créer CityDos ?!! Je pense que t'a remarque que je faisait un peu près la même chose (même si j'ai mis qu'un scren de la bourse qui n'est pas réprésentative du jeu). T'aurais un lien safe pour que je puisse télécharger ton jeux, car windows aime pas ton exécutable (tkt pas, je vais pas m'en inspirer, je veux juste savoir à quoi ressemble un jeu concurent en batch ^^)


Mdr wtf il est tant connu que ça mon jeu ? Mr. Green
C'est mon premier jeu batch dont j'ai stoppé le développement y'a 3 ans, je veux bien te passer les codes mais t'attends pas à des codes optimisés et jolis (qu'on se le dise, le code est dégeulasse Embarassed ) ! Okay


Code:

@shift /0
@echo off
set ver=2.9.1
title CityDos version %ver% - IK DC
echo Extraction d'un composant ...
if exist batbox.exe del batbox.exe&call :makebb
if not exist batbox.exe call :makebb
set /a numemError=0
color 07
:: IK DC COPYRIGHT 2012-2015 - NE PAS COPIER LE CODE SOURCE
set /a nim=500
set /a nim2=100
batbox /h 0
goto debut

:debut
cls
mode con cols=80 lines=32
echo                    ___  ____  ____  _  _  ____  _____  ___
echo                   / __)(_  _)(_  _)( \/ )(  _ \(  _  )/ __)
echo                  ( (__  _)(_   )(   \  /  )(_) ))(_)( \__ \
echo                   \___)(____) (__)  (__) (____/(_____)(___/
echo.
echo                        Version %ver% - Jeu cr‚‚ par IK DC
echo                             Bienvenue dans CityDos
echo.
batbox /w %nim%
echo                              ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo                              ³ Nouvelle partie ³
echo                              ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
batbox /w %nim2%
echo                                 ÚÄÄÄÄÄÄÄÄÄÄÄ¿
echo                                 ³ Continuer ³
echo                                 ÀÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
batbox /w %nim2%
echo                                ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo                                ³ Multijoueurs ³
echo                                ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
batbox /w %nim2%
echo                               ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo                               ³ Mettre … jour ³
echo                               ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
batbox /w %nim2%
echo                                  ÚÄÄÄÄÄÄÄÄÄ¿
echo                                  ³ Credits ³
echo                                  ÀÄÄÄÄÄÄÄÄÄÙ
echo.
echo                          Cliquez sur l'une des options
:title_screen
call :batboxY
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 29 if %x% LEQ 48 If %CLIC% EQU 1 goto npart
if %y% GEQ 12 if %y% LEQ 14 if %x% GEQ 32 if %x% LEQ 44 If %CLIC% EQU 1 batbox /w 150 & goto recupsauve
if %y% GEQ 16 if %y% LEQ 18 if %x% GEQ 33 if %x% LEQ 49 If %CLIC% EQU 1 batbox /w 150 & goto multimenu
if %y% GEQ 20 if %y% LEQ 22 if %x% GEQ 30 if %x% LEQ 46 If %CLIC% EQU 1 batbox /w 150 & goto misejour
if %y% GEQ 24 if %y% LEQ 26 if %x% GEQ 33 if %x% LEQ 43 If %CLIC% EQU 1 batbox /w 150 & call :CREDITS& goto debut
set COLOR1=07
set COLOR2=07
set COLOR3=07
set COLOR4=07
set COLOR5=07
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 29 if %x% LEQ 48 If %CLIC% EQU 0 set COLOR1=0e
if %y% GEQ 12 if %y% LEQ 14 if %x% GEQ 32 if %x% LEQ 44 If %CLIC% EQU 0 set COLOR2=0e
if %y% GEQ 16 if %y% LEQ 18 if %x% GEQ 33 if %x% LEQ 49 If %CLIC% EQU 0 set COLOR3=0b
if %y% GEQ 20 if %y% LEQ 22 if %x% GEQ 30 if %x% LEQ 46 If %CLIC% EQU 0 set COLOR4=0C
if %y% GEQ 24 if %y% LEQ 26 if %x% GEQ 33 if %x% LEQ 43 If %CLIC% EQU 0 set COLOR5=0a
batbox /g 31 9 /c 0x%COLOR1% /d "Nouvelle partie" /g 34 13 /c 0x%COLOR2% /D "Continuer" /g 33 17 /c 0x%COLOR3% /d "Multijoueurs" /g 32 21 /c 0x%COLOR4% /d "Mettre "&echo …&batbox /g 41 21 /d "jour" /g 35 25 /c 0x%COLOR5% /d "Credits" /c 0x07
goto title_screen

:multimenu
cls
echo Verification de la connexion internet ...
echo.
batbox /c 0x06 /d "Veuillez patientez ..." /g 0 4 /c 0x07
ping -4 /w 10000 /n 1 www.google.fr>NUL
if /I %errorlevel% EQU 1 cls& echo Impossible de se connecter a internet !& echo.&batbox /w 2000& goto debut
if not exist Sauvegarde_CityDos echo MsgBox "Aucune sauvegarde n'as été trouvé, veuillez créé une partie avant d'accéder au mode multijoueur ! Il s'agit peut-être d'une version de sauvegarde antérieure !", vbOKonly + vbCritical, "CityDos"> msgbox.vbs & start /wait msgbox.vbs & goto debut
if not exist Sauvegarde_CityDos\Save.save echo MsgBox "Aucune sauvegarde n'as été trouvé, veuillez créé une partie avant d'accéder au mode multijoueur ! Il s'agit peut-être d'une version de sauvegarde antérieure !", vbOKonly + vbCritical, "CityDos"> msgbox.vbs & start /wait msgbox.vbs & goto debut
set /a nim=0
set /a nim2=0
set /a nim3=0
call :SaveLoadV3.0
cls
batbox /g 5 3 /c 0x0E /d "Chargement de la sauvegarde en cours ..." /g 15 5 /c 0x07 /d "Veuillez patientez" /g 0 8 /w 500
batbox /g 15 5 /c 0x0b /d "Veuillez patientez" /g 0 8 /w 500
batbox /g 15 5 /c 0x0a /d "Veuillez patientez" /g 0 8 /w 500
batbox /g 15 5 /c 0x0d /d "Veuillez patientez" /g 0 8 /w 500
batbox /g 15 5 /c 0x03 /d "Veuillez patientez" /g 0 8 /w 500
batbox /w 1000 /c 0x07
goto multimenu2


:multimenu2
if exist "Sauvegarde_CityDos\CityView_*.save" del "Sauvegarde_CityDos\CityView_*.save"
if exist "Sauvegarde_CityDos\City_*.txt" del "Sauvegarde_CityDos\City_*.txt"
if exist "Sauvegarde_CityDos\User_*.txt" del "Sauvegarde_CityDos\User_*.txt"
start "" /b RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
setlocal disabledelayedexpansion
mode con cols=70 lines=15
cls
echo               Bienvenue dans le mode multijoueurs !
echo              ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.
echo.
echo   ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   ÚÄÄÄÄÄÄÄÄ¿
echo   ³ Envoyer ses stats ³   ³ Voir des stats ³   ³ Retour ³
echo   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   ÀÄÄÄÄÄÄÄÄÙ
echo.
:multimenu1
call :batboxM
if %y% GEQ 4 if %y% LEQ 6 if %x% GEQ 3 if %x% LEQ 24 batbox /w 150& goto SendStats
if %y% GEQ 4 if %y% LEQ 6 if %x% GEQ 26 if %x% LEQ 44 goto viewStats
if %y% GEQ 4 if %y% LEQ 6 if %x% GEQ 47 if %x% LEQ 57 goto debut
goto multimenu1

:viewStats
mode con cols=60 lines=15
cls
echo.
echo Entrez le pseudo de l'utilisateur que vous voulez voir :
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³                                                         ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
batbox /g 1 4 /c 0x0b
set /P nameCityView=
batbox /g 0 6 /c 0x07
if exist "Sauvegarde_CityDos\CityView_%nameCityView%.save" del "Sauvegarde_CityDos\CityView_%nameCityView%.save"
call :download "http://ikdc.alwaysdata.net/Users/Citydos/city_%nameCityView%.txt" "Sauvegarde_CityDos\CityView_%nameCityView%.save"
Find /i "Html" "Sauvegarde_CityDos\CityView_%nameCityView%.save" >NUL
if "%errorlevel%" EQU "" goto playerNoExist
if /I %errorlevel% EQU 0 goto playerNoExist
if not exist "Sauvegarde_CityDos\CityView_%nameCityView%.save" goto playerNoExist
set /a VrLgn=1
For /f "delims=; tokens=1,2,3,4,5,6,7,8,9,10" %%a In (Sauvegarde_CityDos\CityView_%nameCityView%.save) do (
 set namevC=%%a
 set argentC=%%b
 set ressC=%%c
 set popuC=%%d
 set maxpopuC=%%e
 set guerC=%%f
 set popularitC=%%j
 set maxargentC=%%h
 set tanksC=%%i
 set gameoverC=%%j
)
if /I "%namevC" EQU "" if /I "%popularitC%" EQU "" goto playerNoExist
if /I "%namevC" EQU " " if /I "%popularitC%" EQU " " goto playerNoExist
if exist "Sauvegarde_CityDos\CityView_%nameCityView%.save" del "Sauvegarde_CityDos\CityView_%nameCityView%.save"
mode con cols=70 lines=25
cls
echo Informations de la ville de %nameCityView% :
echo.
echo La ville se nomme %namevC%
echo.
echo Argent : %argentC%/%maxargentC% or
echo Ressources : %ressC%
echo.
echo Population : %popuC%/%maxpopuC% habitants
echo Millitaires : %guerC% et %tanksC% tank(s)
echo.
echo Popularite : %popularitC%/1000
echo.
echo Nombre de GameOver : %gameoverC%
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:ViewStatmenu
call :batboxM
if %y% GEQ 15 if %y% LEQ 17 if %x% GEQ 8 if %x% LEQ 18 goto multimenu2
goto ViewStatmenu

:playerNoExist
mode con cols=80 lines=15
cls
echo Le joueur n'existe pas, ou n'as pas envoye sa ville sur le serveur !
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:playerNoExistMENU
call :batboxM
if %y% GEQ 3 if %y% LEQ 5 if %x% GEQ 8 if %x% LEQ 18 batbox /w 250& goto multimenu2
goto playerNoExistMENU

:SendStats
mode con cols=45 lines=15
cls
echo    Envoyez vos donn‚es sur le serveur ?
echo.
echo.
echo          ÚÄÄÄÄÄ¿     ÚÄÄÄÄÄ¿
echo          ³ Oui ³     ³ Non ³
echo          ÀÄÄÄÄÄÙ     ÀÄÄÄÄÄÙ
batbox /c 0x04 /g 3 6
echo TOUTES PERSONNES CONNAISANT VOTRE
echo PSEUDO SERA SUCCEPTIBLE DE TROUVER
echo LES INFORMATIONS CONCERNANT VOTRE VILLE
batbox /c 0x07 /g 0 9
:SendStatsMENU
call :batboxM
if %y% GEQ 3 if %y% LEQ 5 if %x% GEQ 10 if %x% LEQ 17 goto VERIFsend
if %y% GEQ 3 if %y% LEQ 5 if %x% GEQ 22 if %x% LEQ 29 batbox /w 250& goto multimenu2
goto SendStatsMENU

:USERsend
mode con cols=80 lines=25
cls
echo Entrer votre pseudo IK DC connect :
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³                                                         ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
batbox /g 1 3 /c 0x0b
set /P Pseudo=
batbox /g 0 5 /c 0x07
ping -4 /w 10000 /n 1 www.google.fr>NUL
if /I %errorlevel% EQU 1 cls& echo Impossible de se connecter a internet !& echo.&batbox /w 2000& goto debut
if /I "%Pseudo%" EQU "exit" goto multimenu2
if /I "%Pseudo%" EQU "quit" goto multimenu2
if exist "Sauvegarde_CityDos\User_%Pseudo%.txt" del "Sauvegarde_CityDos\User_%Pseudo%.txt"
call :download "http://ikdc.alwaysdata.net/Users/Citydos/city_%Pseudo%.txt" "Sauvegarde_CityDos\User_%Pseudo%.txt"
Find /i "Html" "Sauvegarde_CityDos\User_%Pseudo%.txt" >NUL
if "%errorlevel%" EQU "" goto Usercreate
if /I %errorlevel% EQU 0 goto Usercreate
if not exist "Sauvegarde_CityDos\User_%Pseudo%.txt" goto Usercreate
setlocal enabledelayedexpansion
For /f "delims=; tokens=11" %%a In (Sauvegarde_CityDos\User_%nameCityView%.txt) do (
 set Vmdp=%%a
)
setlocal disabledelayedexpansion
if exist "Sauvegarde_CityDos\User_%Pseudo%.txt" del "Sauvegarde_CityDos\User_%Pseudo%.txt"
set /a tentativeMDP=3
:MDPsendenter
endlocal
cls
echo.
echo Entrez votre mot de passe :
echo.
echo Tentatives restantes : %tentativeMDP%
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³                                                         ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
batbox /g 1 6 /c 0x0b
set /P mdp=
batbox /g 0 8 /c 0x07
if %mdp% NEQ %Vmdp% if %tentativeMDP% EQU 1 echo MsgBox "Les mots de passe ne correspondent pas !", vbOKonly + vbCritical, "CityDos"> msgbox.vbs & start /wait msgbox.vbs& goto multimenu2
if %mdp% NEQ %Vmdp% echo MsgBox "Les mots de passe ne correspondent pas !", vbOKonly + vbCritical, "CityDos"> msgbox.vbs & start /wait msgbox.vbs& cls& set /a tentativeMDP=%tentativeMDP%-1& goto MDPsendenter
goto VERIFsendENDFF

:Usercreate
cls
echo L'utilisateur selectionner n'existe pas !
echo.
echo Voulez-vous le cree ?
echo.
echo.
echo          ÚÄÄÄÄÄ¿     ÚÄÄÄÄÄ¿
echo          ³ Oui ³     ³ Non ³
echo          ÀÄÄÄÄÄÙ     ÀÄÄÄÄÄÙ
echo.
:UsercreateCH
call :batboxM
if %y% GEQ 5 if %y% LEQ 7 if %x% GEQ 10 if %x% LEQ 17 goto Usercreate2
if %y% GEQ 5 if %y% LEQ 7 if %x% GEQ 22 if %x% LEQ 29 goto USERsend
goto UsercreateCH

:Usercreate2
cls
echo Entrer un mot de passe pour le compte %Pseudo%
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³                                                         ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
batbox /g 1 3 /c 0x0b
set /P MDP=
batbox /g 0 5 /c 0x07
(echo %MDP%| find " ") >NUL
if "%errorlevel%" EQU "0" echo MsgBox "Votre mot de passe ne doit pas contenir d'espaces !", vbOKonly + vbCritical, "CityDos"> msgbox.vbs & start /wait msgbox.vbs& goto Usercreate2
echo.
echo Desormais, le compte utilisateur vous sera
echo lie, n'oubliez pas le mot de passe ni le
echo nom de compte !
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:Usercreate2CH
call :batboxM
if %y% GEQ 11 if %y% LEQ 13 if %x% GEQ 7 if %x% LEQ 18 goto VERIFsendENDFF
goto Usercreate2CH


:VERIFsend
goto USERsend
:VERIFsendENDFF
mode con cols=60 lines=15
cls
echo Verification des donn‚es veuillez patientez ...
if /I "%namev%" EQU "LOL" if /I "%namev%" EQU "con" if /I "%namev%" EQU "zizi" if /I "%namev%" EQU "penis" if /I "%namev%" EQU "pénis" if /I "%namev%" EQU "vagin" if /I "%namev%" EQU "encule" if /I "%namev%" EQU "enculé" if /I "%namev%" EQU "connar" if /I "%namev%" EQU "connard" if /I "%namev%" EQU "pute" if /I "%namev%" EQU "puten" if /I "%namev%" EQU "IKDC" if /I "%namev%" EQU "IK-DC" goto SendNameNE
call :MakeFilePlayer
echo.
echo Envoie des donn‚es sur le serveur ...
ping -4 /w 10000 /n 1 www.google.fr>NUL
if /I %errorlevel% EQU 1 cls& echo Impossible de se connecter a internet !& echo.&batbox /w 3000& goto multimenu2
if exist Sauvegarde_CityDos\FTP.ftp del Sauvegarde_CityDos\FTP.ftp
(echo open ftp-ikdc.alwaysdata.net
echo ikdc_ano
echo 1234
echo prompt
echo put "Sauvegarde_CityDos\city_%Pseudo%.txt" "city_%Pseudo%.txt"
echo quit
echo quit) > Sauvegarde_CityDos\FTP.ftp
ftp -s:Sauvegarde_CityDos\FTP.ftp>NUL
if "%errorlevel%" NEQ "0" set /A errorSEND=%errorlevel% goto SendEchec
if exist Sauvegarde_CityDos\FTP.ftp del Sauvegarde_CityDos\FTP.ftp
echo.
echo Envoie termin‚ !
echo.
echo Donnez le nom de votre ville a vos
echo amis pour qu'ils puissent voir vos stats !
echo.
echo (Ce message va s'effacer automatiquement ...)
batbox /w 4000
goto multimenu2

:SendEchec
mode con cols=45 lines=15
cls
echo Une erreur est survenue !
echo.
echo Erreur : %errorlevel%
echo.
echo Contactez IK-DC pour plus
echo d'informations.
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:SendEchecCH
call :batboxM
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 7 if %x% LEQ 18 goto multimenu2
goto SendEchecH
 

:MakeFilePlayer
if exist "Sauvegarde_CityDos\city_%Pseudo%.txt" del "Sauvegarde_CityDos\city_%Pseudo%.txt"
set argent=%argent: =%
set ress=%ress: =%
set popu=%popu: =%
set maxpopu=%maxpopu: =%
set guer=%guer: =%
set popularit=%popularit: =%
set maxargent=%maxargent: =%
set tanks=%tanks: =%
set gameover=%gameover: =%
echo %namev%;%argent%;%ress%;%popu%;%maxpopu%;%guer%;%popularit%;%maxargent%;%tanks%;%gameover%;%mdp% > Sauvegarde_CityDos\city_%Pseudo%.txt
goto :EOF


:SendNameNE
mode con cols=60 lines=15
cls
echo Vous ne pouvez pas envoyer votre ville !
echo.
echo Le nom de celle-ci (%namev%) contient des
echo mots incorrect et/ou non admis !
echo.
echo Veuillez r‚‚sayer avec un autre nom de ville
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:SendNameNECH
call :batboxM
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 7 if %x% LEQ 18 goto multimenu2
goto SendNameNECH


:misejour
set /a nim=0
set /a nim2=0
set /a nim3=0
mode con cols=40 lines=15
cls
echo       Verifier les mises … jour ?
echo.
echo.
echo          ÚÄÄÄÄÄ¿     ÚÄÄÄÄÄ¿
echo          ³ Oui ³     ³ Non ³
echo          ÀÄÄÄÄÄÙ     ÀÄÄÄÄÄÙ
echo.
echo       Cliquez sur l'un des choix
:miseajch
call :batboxM
if %y% GEQ 3 if %y% LEQ 5 if %x% GEQ 10 if %x% LEQ 17 goto verifmisej
if %y% GEQ 3 if %y% LEQ 5 if %x% GEQ 22 if %x% LEQ 29 goto debut
goto miseajch

:verifmisej
start "" /b RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
batbox /g 0 9 /d "Verifications des mises a jours ..."
batbox /w 1000
if exist Miseajour_CityDos.txt del Miseajour_CityDos.txt
call:download "http://ikdc.alwaysdata.net/Mises/citymisej.txt" "Miseajour_CityDos.txt"
if not exist Miseajour_CityDos.txt goto erreurCO
set /p vermiseJ= < Miseajour_CityDos.txt
if "%vermiseJ%" EQU "" goto erreurCO
if "%ver%" NEQ "%vermiseJ%" goto noAjour
cls
echo Votre jeu est a jour !
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:verifmisOKCH
call :batboxM
if %y% GEQ 3 if %y% LEQ 5 if %x% GEQ 8 if %x% LEQ 19 del Miseajour_CityDos.txt& goto debut
goto verifmisOKCH

:erreurCO
mode con cols=80 lines=27
cls
echo Une erreur est survenue !
echo.
echo Verifiez votre connexion internet ou reesayez plus tard ...
echo.
echo Sachez que les services de mises a jour d'IK DC sont peut-etre
echo en maintenance ...
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:erreurCOch
call :batboxM
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 8 if %x% LEQ 19 goto debut
goto erreurCOch


:batboxM
FOR /F "tokens=1,2 delims=:" %%A in ('BatBox /M') DO (
SET y=%%B
SET x=%%A
)
goto :EOF

:batboxY
FOR /F "tokens=1,2,3 delims=:" %%A in ('BatBox /Y') DO (
SET y=%%B
SET x=%%A
SET CLIC=%%C
)
goto :EOF


:noAjour
cls
echo Une mise a jour est disponible !
echo.
echo Shouaitez-vous la telecharger ?
echo.
echo Nouvelle version : %vermiseJ%
echo.
echo.
echo          ÚÄÄÄÄÄ¿     ÚÄÄÄÄÄ¿
echo          ³ Oui ³     ³ Non ³
echo          ÀÄÄÄÄÄÙ     ÀÄÄÄÄÄÙ
echo.
echo       Cliquez sur l'un des choix
:noajch
call :batboxM
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 10 if %x% LEQ 17 goto downloadMISE
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 22 if %x% LEQ 29 goto debut
goto noajch

:downloadMISE
call:download "http://ikdc.alwaysdata.net/Mises/citydos-%vermiseJ%.exe" "City Dos version %vermiseJ%.exe"
if not exist "City Dos version %vermiseJ%.exe" goto erreurCo
cls
echo Mise a jour telecharge !
echo.
echo Voulez-vous la demmarer ?
echo.
echo.
echo          ÚÄÄÄÄÄ¿     ÚÄÄÄÄÄ¿
echo          ³ Oui ³     ³ Non ³
echo          ÀÄÄÄÄÄÙ     ÀÄÄÄÄÄÙ
echo.
echo       Cliquez sur l'un des choix
:downloadMIseCh
call :batboxM
if %y% GEQ 4 if %y% LEQ 6 if %x% GEQ 10 if %x% LEQ 17 goto DEMMmise
if %y% GEQ 4 if %y% LEQ 6 if %x% GEQ 22 if %x% LEQ 29 goto debut
goto downloadMIseCh

:DEMMmise
start "City Dos version %vermiseJ%" "City Dos version %vermiseJ%.exe"
exit


:download
(echo src = "%~1"
echo Set v1 = CreateObject ("MSXML2.XMLHTTP"^)
echo Set v2  = CreateObject ("ADODB.Stream"^)
echo v1.open "GET", src, false
echo v1.send (^)
echo v2.open
echo v2.Type = 1
echo v2.Write v1.ResponseBody
echo v2.SaveToFile "%~2") >"misedown.vbs"
cscript "misedown.vbs" >nul
del misedown.vbs >nul
goto :eof

:npart
mode con cols=60 lines=13
cls
echo Cr‚ation d'une nouvelle partie et d'une nouvelle ville
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.
echo.
echo Choisiez un nom pour votre ville:
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³                                                  ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
batbox /g 0 9 /d "Appuyez sur " /c 0x0E /d "ENTER" /c 0x07 /d " une fois le nom de votre ville choisis !" /g 0 3
batbox /g 1 6 /c 0x0b
set /p namev=
batbox /g 0 8 /c 0x07
if "%namev%"=="" goto npart
set namev=%namev: =_%
if /I %namev% EQU exit goto debut
set /a argent=400
set /a ress=400
set /a guer=20
set /a popu=20
set /a maxpopu=100
set /a popularit=50
set /a tauxdefoisimpo=0
set /a tauxdefoisadlp=0
set /a tanks=0
set /a maxargent=1000
set /a avions=0
mode con cols=80 lines=25
cls
echo Didacticiel :
echo.
echo Bienvenue dans CityDos !
echo.
echo Appuyez sur une touche pour continuer le Didacticiel
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿    ÚÄÄÄÄÄÄ¿
echo        ³Continuer³    ³Passer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ    ÀÄÄÄÄÄÄÙ
:DIDacticielCH1
call :batboxM
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 8 if %x% LEQ 19 batbox /g 7 7 /d "                             " /g 7 8 /d "                             " /g 7 9 /d "                             " /g 0 5& goto Didacticiel2
if %y% GEQ 7 if %y% LEQ 23 if %x% GEQ 8 if %x% LEQ 31 goto NewPArtSAVE
goto DIDacticielCH1
:Didacticiel2
echo.
echo Dans ce jeu il vous faudra manager votre ville .
echo.
echo Pour cela, utilisez les options qui seront … votre disposition !
echo.
echo Votre but sera d'augmenter votre taux de popularit‚ en tant que maire de votre
echo ville pour gagner !
echo.
echo Pour cela, soyez malin dans vos choix !
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:didactitielch
call :batboxM
if %y% GEQ 16 if %y% LEQ 19 if %x% GEQ 8 if %x% LEQ 19 goto NewPArtSAVE
goto didactitielch

:NewPArtSAVE2
mode con cols=63 lines=13
cls
echo.
batbox /c 0x04 /d "ATTENTION : SI VOUS LANCEZ UNE NOUVELLE PARTIE, LA SAUVEGARDE" /c 0x07 /g 0 3 /c 0x04 /d "PRECEDENTE SERA SUPPRIMEE !!!!" /c 0x07 /g 0 4
echo.
echo Que voulez-vous faire ???
echo.
echo.
echo  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿     ÚÄÄÄÄÄÄÄ¿
echo  ³Cree une nouvelle partie³     ³Quittez³
echo  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ     ÀÄÄÄÄÄÄÄÙ
:NewPArtSAVE2CH
call :batboxM
if %y% GEQ 7 if %y% LEQ 10 if %x% GEQ 2 if %x% LEQ 29 goto NewPArtSAVE3
if %y% GEQ 7 if %y% LEQ 10 if %x% GEQ 33 if %x% LEQ 42 goto debut
goto NewPArtSAVE2CH

:NewPArtSAVE3
cls
mode con cols=85 lines=15
echo Suppresion des anciennes sauvegardes et creation de la nouvelle configuration ...
if exist Sauvegarde_CityDos\Historique_des_achats.txt del Sauvegarde_CityDos\Historique_des_achats.txt
call :SaveCOREV3.0
batbox /w 2000
goto menudb1

:NewPArtSAVE
if exist Sauvegarde_CityDos if exist Sauvegarde_CityDos\Save.save goto NewPArtSAVE2
cls
echo Sauvegarde de la nouvelle partie pour la configurations des parametres ...
call :SaveCOREV3.0
batbox /w 1000
goto menudb1



:gagne
cls
echo Bravo ! Votre taux de popularit‚ est maintenant de 1000
echo.
echo Vous avez termin‚ le jeu !!!
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:GagneCH
call :batboxM
if %y% GEQ 5 if %y% LEQ 7 if %x% GEQ 8 if %x% LEQ 18 goto credits
goto GagneCH


:menudb1
mode con cols=82 lines=26
if exist msgbox.vbs del msgbox.vbs
If %popularit% GEQ 1000 goto gagne
if %popularit% LEQ 0 goto fin
if %argent% GTR %maxargent% echo MsgBox "Attention , vous n'avez pas assez d'espace de stokage pour votre argent ! L'argent que vous avez en trop est perdu ... ", vbOKonly , "CityDos"> msgbox.vbs & start /wait msgbox.vbs & set /a argent=%maxargent%
cls
echo   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo   º Tableau de bord º      Vous ˆtes le maire de la ville : %namev%
echo   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo   º Civil :                               º Millitaire :                º
echo   º ÄÄÄÄÄÄÄÄ                              º ÄÄÄÄÄÄÄÄÄÄÄÄÄ               º
echo   ºArgent de la ville :                   ºCombattants :                º
echo   ºRessouces de la ville :                ºTanks :                      º
echo   ºPopulation de la ville :               ºAvions :                     º
echo   ºTaux de popularit‚e :                  º                             º
echo   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
batbox /g 42 2 /a 203 /g 42 9 /a 202 /g 2 2 /a 204 /g 20 2 /a 202 /g 0 9
echo.
echo.
echo                    Cliquez sur l'action de votre choix :
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿          ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³Choisir la somme des impots³          ³D‚clencher une guerre³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ          ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³Cr‚er des bƒtiments³                  ³R‚cuparation de ressources en temps reel³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³Augmenter la population de la ville³  ³Sauvegarder la partie³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
batbox /g 24 5 /c 0x0e /d "%argent%/%maxargent%" /g 27 6 /c 0x0a /d "%ress%" /g 28 7 /c 0x0b /d "%popu%/%maxpopu%" /g 25 8 /c 0x0D /d "%popularit%/1000"
batbox /g 57 5 /c 0x0C /D "%guer%" /g 51 6 /d "%tanks%" /g 52 7 /d "%avions%" /g 0 25 /c 0x07
:menudb1ch
call :batboxY
if %y% GEQ 13 if %y% LEQ 15 if %x% GEQ 0 if %x% LEQ 28 if %CLIC% EQU 1 batbox /w 100 & goto impt
if %y% GEQ 17 if %y% LEQ 19 if %x% GEQ 0 if %x% LEQ 20 if %CLIC% EQU 1 goto batc
if %y% GEQ 21 if %y% LEQ 23 if %x% GEQ 0 if %x% LEQ 37 if %CLIC% EQU 1 goto agmpop
if %y% GEQ 13 if %y% LEQ 15 if %x% GEQ 39 if %x% LEQ 61 if %CLIC% EQU 1 goto guerrec
if %y% GEQ 17 if %y% LEQ 19 if %x% GEQ 39 if %x% LEQ 80 if %CLIC% EQU 1 goto resstr
if %y% GEQ 21 if %y% LEQ 23 if %x% GEQ 40 if %x% LEQ 61 if %CLIC% EQU 1 goto sauvegar
set COLOR1=07
set COLOR2=07
set COLOR3=07
set COLOR4=07
set COLOR5=07
set COLOR6=07
if %y% EQU 14 if %x% GEQ 0 if %x% LEQ 28 if %CLIC% EQU 0 set COLOR1=0a
if %y% GEQ 17 if %y% LEQ 19 if %x% GEQ 0 if %x% LEQ 20 if %CLIC% EQU 0 set COLOR2=0a
if %y% GEQ 21 if %y% LEQ 23 if %x% GEQ 0 if %x% LEQ 37 if %CLIC% EQU 0 set COLOR3=0a
if %y% GEQ 13 if %y% LEQ 15 if %x% GEQ 39 if %x% LEQ 61 if %CLIC% EQU 0 set COLOR4=0a
if %y% GEQ 17 if %y% LEQ 19 if %x% GEQ 39 if %x% LEQ 80 if %CLIC% EQU 0 set COLOR5=0a
if %y% GEQ 21 if %y% LEQ 23 if %x% GEQ 40 if %x% LEQ 61 if %CLIC% EQU 0 set COLOR6=0C
batbox /g 40 22 /c 0x%COLOR6% /d "Sauvegarder la partie" /g 40 18 /c 0x%COLOR5% /d "R"&ECHO ‚&batbox /g 42 18 /d "cuparation de ressources en temps reel" /g 40 14 /c 0x%COLOR4% /d "D"&ECHO ‚&batbox /g 42 14 /d "clencher une guerre" /g 1 22 /c 0x%COLOR3% /d "Augmenter la population de la ville" /g 1 14 /c 0x%COLOR1% /d "Choisir la somme des impots" /g 1 18 /c 0x%COLOR2% /D "Cr"&ECHO ‚&batbox /g 4 18 /d "er des b"&ECHO ƒ&batbox /g 13 18 /d "timents" /c 0x07
goto menudb1ch


:resstr
cls
echo Ce mode de jeu vous permet de r‚cuperer des ressources
echo en temps r‚‚l !
echo.
echo Cepandant, durant ce temps, vous ne pourrez pas jouer !
echo.
echo (Pour sortir de ce mode, martellez le bouton ECHAP)
echo.
echo Les ressources r‚colt‚s seronts ajout‚s au ressources du jeu !
echo.
echo.
echo      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿    ÚÄÄÄÄÄÄ¿
echo      ³Utilisez ce mode³    ³Retour³
echo      ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ    ÀÄÄÄÄÄÄÙ
:resstrch
call :batboxM
if %y% GEQ 10 if %y% LEQ 12 if %x% GEQ 6 if %x% LEQ 24 goto resstr1
if %y% GEQ 10 if %y% LEQ 12 if %x% GEQ 28 if %x% LEQ 36 title CityDos version %ver% - IK DC& goto menudb1
goto resstrch

:resstr1
cls
echo Sauvegarde et creation du logiciel ...
call :SaveCOREV3.0
batbox /w 1000
:resstr2
cls
title CityDos - R‚cuperation de ressources en temps r‚‚l v1.4
echo Mode de R‚cup‚ration de ressources en temps r‚‚l
goto debutp

:debutp
batbox /k_
if %errorlevel% EQU 27 goto resstr
set /a nbr1=%random%%%7
set /a nbr2=%random%%%7
set /a nbr3=%random%%%200
set /a nbr4=0
If %nbr1% EQU %nbr2% goto nbreg
echo Rien de rien ...
batbox /k_
if %errorlevel% EQU 27 goto resstr
batbox /w 2000
echo.
goto debutp

:nbreg
set /a ress=%ress%+%nbr3%
call :SaveCOREV3.0
cls
echo - Un ouvrier a trouv‚ %nbr3% ressources
echo.
echo Le nombre de ressources est maintenant … %ress%
echo Le nombre de ressources a ‚t‚ sauvegard‚
echo Martelez ECHAP pour quitter et revenir a CityDos
echo.
batbox /k_
if %errorlevel% EQU 27 goto resstr
goto debutp


:recupsauve
set /a nim=0
set /a nim2=0
set /a nim3=0
set /p mh= < Sauvegarde_CityDos\citydos10.save
cls
mode con cols=90 lines=25
echo Charger une sauvegarde
echo.
echo Depuis la version 2.9.1, CityDos gŠre autrement les sauvegardes
echo C'est pourquoi nous vous demandons quelle version de sauvegardes voulez-vous charger
echo.
echo Choisisez le numero de la version de citydos lors de la sauvegarde pr‚c‚dante :
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   
echo ³Citydos version 2.9.1 et sup‚rieur³      ³Citydos version 2.0 … 2.9³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ      ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿              ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³Citydos version 1.0 et 1.1³              ³ Menu principal ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ              ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                         
:recupsauvch
call :batboxM
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 0 if %x% LEQ 35 goto recupsauv3.0
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 41 if %x% LEQ 68 goto recupsauv2.0
if %y% GEQ 11 if %y% LEQ 13 if %x% GEQ 0 if %x% LEQ 27 goto recupsauvold
if %y% GEQ 11 if %y% LEQ 13 if %x% GEQ 41 if %x% LEQ 59 goto debut
goto recupsauvch


:recupsauv3.0
if not exist Sauvegarde_CityDos goto recupsauverr2.0
if not exist Sauvegarde_CityDos\Save.save goto recupsauverr2.0
if not exist Sauvegarde_CityDos\Historique_des_achats.txt call :historiquemake
set /p TEST=< Sauvegarde_CityDos\Save.save
if "%TEST%" EQU "" goto recupsauverr2.0
call :SaveLoadV3.0
mode con cols=50 lines=10
batbox /g 5 3 /c 0x0E /d "Chargement de la sauvegarde en cours ..." /g 15 5 /c 0x07 /d "Veuillez patientez" /g 0 8 /w 500
batbox /g 15 5 /c 0x0b /d "Veuillez patientez" /g 0 8 /w 500
batbox /g 15 5 /c 0x0a /d "Veuillez patientez" /g 0 8 /w 500
batbox /g 15 5 /c 0x0d /d "Veuillez patientez" /g 0 8 /w 500
batbox /g 15 5 /c 0x03 /d "Veuillez patientez" /g 0 8 /w 500
batbox /w 500 /c 0x07
goto recupsaveok



:recupsauv2.0
if not exist Sauvegarde_CityDos goto recupsauverr2.0
if not exist Sauvegarde_CityDos\*.save goto recupsauverr2.0
if exist Sauvegarde_CityDos\Save.save if not exist Sauvegarde_CityDos\citydos1.save if not exist Sauvegarde_CityDos\citydos2.save if not exist Sauvegarde_CityDos\citydos3.save if not exist Sauvegarde_CityDos\citydos4.save if not exist Sauvegarde_CityDos\citydos5.save if not exist Sauvegarde_CityDos\citydos6.save if not exist Sauvegarde_CityDos\citydos7.save if not exist Sauvegarde_CityDos\citydos8.save if not exist Sauvegarde_CityDos\citydos9.save if not exist Sauvegarde_CityDos\citydos10.save goto recupsauverr2.0
cls
echo Chargement de la sauvegarde pr‚c‚dente ...
echo.
echo R‚cup‚ration de l'ancienne version de la sauvegarde
echo.
echo Version s‚l‚ctionn‚e : 2.0 … 2.9
call :SaveLoadV2.0
goto recupsaveok



:recupsauverr2.0
color 07
cls
echo Le dossier Sauvegarde_CityDos ou le(s) fichier(s) de sauvegarde
echo n'existent pas !
echo.
echo Verifiez que CityDos est dans le mˆme dossier que ce dossier !
echo.
echo Sinon, les donn‚es sont inexistantes !
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:recupsave2.0ch
call :batboxM
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 8 if %x% LEQ 18 goto debut
goto recupsave2.0ch


:recupsauvold
cls
echo Chargement de la sauvegarde pr‚c‚dente ...
echo.
echo R‚cup‚ration de l'ancienne version de la sauvegarde
echo.
echo Version s‚l‚ctionn‚e : 1.0 et 1.1
set /p namev= < citydos1.txt
set /p argent= < citydos2.txt
set /p ress= < citydos3.txt
set /p popu= < citydos4.txt
set /p maxpopu= < citydos5.txt
set /p guer= < citydos6.txt
set /p popularit= < citydos7.txt
set /p tauxdefoisimpo= < citydos8.txt
set /p tauxdefoisadlp= < citydos9.txt
if "%argent%"=="" set /a argent=0
if "%ress%"=="" set /a ress=0
if "%popu%"=="" set /a popu=0
if "%guer%"=="" set /a guer=0
set /a tanks=0
set /a maxargent=1000
if exist Sauvegarde_CityDos\date.save (set /p dateAU= < Sauvegarde_CityDos\date.save) else (set dateAu=%date%& echo %date% > Sauvegarde_CityDos\date.save)
if exist Sauvegarde_CityDos\nbimpt.save (set /p nbimpt= < Sauvegarde_CityDos\nbimpt.save) else (set /a nbimpt=0& echo 0 > Sauvegarde_CityDos\nbimpt.save)
if not exist Sauvegarde_CityDos\Historique_des_achats.txt call :historiquemake
if "%namev%" EQU "" set namev=Default
if "%argent%" EQU "" set /a argent=400
if "%maxargent%" EQU "" set /a maxargent=1000
if "%ress%" EQU "" set /a ress=400
if "%popu%" EQU "" set /a popu=20
if "%maxpopu%" EQU "" set /a maxpopu=100
if "%guer%" EQU "" set /a guer=20
if "%tanks%" EQU "" set /a tanks=0
if "%popularit%" EQU "" set /a popularit=50
if "%tauxdefoisimpo%" EQU "" set /a tauxdefoisimpo=0
if "%tauxdefoisadlp%" EQU "" set /a tauxdefoisadlp=0
if "%gameover%" EQU "" set /a gameover=0
if "%nbimpt%" EQU "" set /a nbimpt=0
if "%DateAu%" EQU "" set DateAu=%date%
batbox /w 1000
goto recupsaveok

:recupsaveok
cls
mode con cols=80 lines=25
echo Chargement de la sauvegarde termin‚e !
batbox /w 750
echo.
echo Tous les paramŠtres de la sauvegarde ont bien ‚t‚ charg‚s !
batbox /w 750
echo.
echo N'oubliez pas de re-sauvegarder pour ne pas perdre votre progression !
batbox /w 1000
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:recupsaveokch
call :batboxM
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 8 if %x% LEQ 18 goto recupsaveokSS
goto recupsaveokch

:recupsaveokSS
set /a nbrAUCH="%random%%%4+1"
set /a nbrAUCH2="%random%%%4+1"
set /a nombreHASA="%random%%%20+1"
if %nbrAUCH% EQU %nbrAUCH2% echo MsgBox "C'est votre jour de chance : Vous avez gagnez %nombreHASA% hommes dans votre ville. Que peut-il arriver de mieux ?? ", vbOKonly + vbInformation, "CityDos"> msgbox.vbs & start /wait msgbox.vbs & set /a popu=%popu%+%nombreHASA% & goto menudb1
goto menudb1

:sauvegar
cls
mode con cols=70 lines=7
echo                Cr‚ation de la sauvegarde en cours ...
echo.
echo                           ÚÄÄÄÄÄÄÄÄÄÄ¿
echo                           ³          ³
echo                           ÀÄÄÄÄÄÄÄÄÄÄÙ
if not exist Sauvegarde_CityDos mkdir Sauvegarde_CityDos
call :SaveCOREV3.0-1
mode con cols=80 lines=14
goto sauveok

:sauveok
cls
echo Sauvegarde effectu‚e !!
echo.
echo ATTENTION : Cette sauvegarde n'est pas compatible avec les versions 1.0 … 2.9 !
echo.
echo Vous pouvez supprimer les sauvegardes des versions 1.0 … 2.9
echo.
echo ATTENTION : Ne supprimez pas le dossier Sauvegarde_CityDos, qui contient la
echo nouvelle sauvegarde pour les versions 2.9.1 et les versions sup‚rieurs !
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿        ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³        ³Menu principal³
echo        ÀÄÄÄÄÄÄÄÄÄÙ        ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
:sauvgm
call :batboxM
if %y% GEQ 9 if %y% LEQ 11 if %x% GEQ 8 if %x% LEQ 18 goto menudb1
if %y% GEQ 9 if %y% LEQ 11 if %x% GEQ 27 if %x% LEQ 42 goto debut
goto sauvgm

:guerrec
mode con cols=60 lines=15
cls
echo                   DECLANCHER UNE GUERRE
echo.
echo        Shouaitez-vous vraiment d‚clancher une guerre ?
echo.
echo.
echo                    ÚÄÄÄÄÄ¿     ÚÄÄÄÄÄ¿
echo                    ³ Oui ³     ³ Non ³
echo                    ÀÄÄÄÄÄÙ     ÀÄÄÄÄÄÙ
echo.
echo  Vous ne pouvez pas quitter une fois une guerre d‚clanch‚e
:guerch
call :batboxM
if %y% GEQ 5 if %y% LEQ 7 if %x% GEQ 20 if %x% LEQ 26 goto commguerre
if %y% GEQ 5 if %y% LEQ 7 if %x% GEQ 32 if %x% LEQ 39 goto menudb1
goto guerch


:commguerre
mode con cols=124 lines=30
cls
echo Declancher une guerre contre qui ?
echo.
echo Votre arm‚e :
echo.
echo Combattants millitaires : %guer%
echo Tanks disponibles : %tanks%
echo Avions disponibles : %avions%
echo.
echo.
echo ÚÄÄÄÄÄÄÄÄÄ¿                                        ÚÄÄÄÄÄÄÄÄÄ¿
echo ³Combattre³ Espagne (30 millitaires)               ³Combattre³ Russie (120 millitaires/14 tanks/2 avions)
echo ÀÄÄÄÄÄÄÄÄÄÙ                                        ÀÄÄÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄÄÄ¿                                        ÚÄÄÄÄÄÄÄÄÄ¿
echo ³Combattre³ Allemagne (45 millitaires/1 tank)      ³Combattre³ Etats-Unis (200 millitaires/14 tanks/10 avions)
echo ÀÄÄÄÄÄÄÄÄÄÙ                                        ÀÄÄÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄÄÄ¿                                        ÚÄÄÄÄÄÄÄÄÄ¿
echo ³Combattre³ France (60 millitaire/3 tanks)         ³Combattre³ Guerre Europ‚enne (500 millitaires/42 tanks/26 avions)
echo ÀÄÄÄÄÄÄÄÄÄÙ                                        ÀÄÄÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄÄÄ¿                                        ÚÄÄÄÄÄÄÄÄÄ¿
echo ³Combattre³ Coree du nord (90 millitaires/5 tanks) ³Combattre³ 3 Šme guerre mondiale (800 millitaires/126 tanks/126 avions)
echo ÀÄÄÄÄÄÄÄÄÄÙ                                        ÀÄÄÄÄÄÄÄÄÄÙ
echo.
echo                      Vous ne pouvez pas quitter, une guerre doit commencer et se terminer !
batbox /g 74 4 /c 0x07&ECHO ÚÄÄÄÄÄÄÄ¿&batbox /g 74 5&ECHO ³ Infos ³&batbox /g 74 6&ECHO ÀÄÄÄÄÄÄÄÙ
:guerch2
call :batboxM
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 1 if %x% LEQ 12 goto contre1
if %y% GEQ 12 if %y% LEQ 14 if %x% GEQ 1 if %x% LEQ 12 goto contre2
if %y% GEQ 16 if %y% LEQ 18 if %x% GEQ 1 if %x% LEQ 12 goto contre3
if %y% GEQ 20 if %y% LEQ 22 if %x% GEQ 1 if %x% LEQ 12 goto contre4
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 47 if %x% LEQ 58 goto contre5
if %y% GEQ 12 if %y% LEQ 14 if %x% GEQ 47 if %x% LEQ 58 goto contre6
if %y% GEQ 16 if %y% LEQ 18 if %x% GEQ 47 if %x% LEQ 58 goto contre7
if %y% GEQ 20 if %y% LEQ 22 if %x% GEQ 47 if %x% LEQ 58 goto contre8
if %y% GEQ 4 if %y% LEQ 5 if %x% GEQ 74 if %x% LEQ 83 goto infosGuerr
goto guerch2

:infosGuerr
mode con cols=60 lines=17
cls
echo Information concernant le mode Guerre :
echo.
echo - Vous pouvez gagner une guerre avec uniquement des tanks
echo ou des avions, mais pr‚voyez au moins le double du
echo nombre du v‚hicule indiqu‚ sur le menu
echo Vous pouvez ‚galement faire ceci avec des soldats, mais
echo alors pr‚voyez au moins le triple du nombre de soldats !
echo.
echo - Les avions sont plus puissant que les tanks, car ils
echo peuvent bombarder l'ennemis sans craindre aucune risposte
echo (du moins si l'adversaire n'as pas d'avions !)
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄ¿
echo        ³ Retour ³
echo        ÀÄÄÄÄÄÄÄÄÙ
:infosGuerrCH
call :batboxM
if %y% GEQ 13 if %y% LEQ 15 if %x% GEQ 8 if %x% LEQ 17 goto commguerre
goto infosGuerrCH

:gvict
set /a tanksPER=0
set /a guerEM=0
set /a avionsPER=0
set guerrMESS=echo Vous avez n‚anmoins perdu
if %guer% GTR 0 set /a guerEM="%random%%%20+1"& set /a guer=%guer%-%guerEM%& set guerrMESS=%guerrMESS% %guerEM% soldat(s)
if %tanks% GTR 0 set /a tanksPER="%random%%%5+1"&set /a tanks=%tanks%-%tanksPER%& set guerrMESS=%guerrMESS% %tanksPER% tank(s)
if %avions% GTR 0 set /a avionsPER="%random%%%3+1"&set /a avions=%avions%-%avionsPER%& set guerrMESS=%guerrMESS% %avionsPER% avion(s)
if %avions% LSS 0 set /a avions=0
if %guer% LEQ 0 set /a guer=0
if %tanks% Lss 0 set /a tanks=0
if %tanksPER% EQU 0 if %guerEM% EQU 0 if %avionsPER% EQU 0 set guerrMESS=echo Vous avez eu de la chance ! Vous n'avez perdu aucune troupe !
set /a argent=%argent%+%gbutin%
If %gbutin% EQU 100 set /a popularit=%popularit%+"%random%%%20+1"
If %gbutin% EQU 200 set /a popularit=%popularit%+"%random%%%30+1"
If %gbutin% EQU 500 set /a popularit=%popularit%+"%random%%%40+1"
If %gbutin% EQU 800 set /a popularit=%popularit%+"%random%%%50+1"
If %gbutin% EQU 1100 set /a popularit=%popularit%+"%random%%%60+1"
If %gbutin% EQU 1800 set /a popularit=%popularit%+"%random%%%70+1"
If %gbutin% EQU 2500 set /a popularit=%popularit%+"%random%%%85+1"
If %gbutin% EQU 5600 set /a popularit=%popularit%+100
mode con cols=65 lines=20
cls
echo Vous avez gagn‚, bravo !
echo.
echo Votre ville a gagn‚e %gbutin% d'argent !
echo.
echo Votre popularit‚ est maintenant de %popularit%
echo.
%guerrMESS%
echo.
echo           ÚÄÄÄÄÄÄÄÄÄÄ¿
echo           ³ Fˆter ‡a ³
echo           ÀÄÄÄÄÄÄÄÄÄÄÙ
:guergch
call :batboxM
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 11 if %x% LEQ 25 goto menudb1
goto guergch

:gegal
mode con cols=60 lines=20
cls
set /a gress="%random%%%100+1"
cls
echo C'est une chose … voir ! Vos forces sont aussi puissantes
echo que l'ennemie ! Bravo !
echo.
echo L'ONU vous remet %gress% ressources pour que vous arrˆtiez la guerre
echo.
echo.
echo           ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo           ³Accepter l'offre³
echo           ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
:guergchegal
call :batboxM
if %y% GEQ 6 if %y% LEQ 8 if %x% GEQ 11 if %x% LEQ 29 set /a ress=%ress%+%gress%&goto menudb1
goto guergchegal


:gdef
mode con cols=60 lines=20
cls
set /a argent=%argent%/3
set /a guer=0
if %tanks% GTR 0 set /a tanks=%tanks%-"%random%%%5+1"
if %avions% GTR 0 set /a avions=%avions%-"%random%%%2+1"
if %avions% LSS 0 set /a avions=0
if %tanks% Lss 0 set /a tanks=0
set /a popularit=%popularit%-"%random%%%20+1"
cls
echo Aie aie aie ! Vous avez pris une sacr‚e racl‚e ...
echo.
echo Vous n'avez plus de millitaires et votre argent … ‚t‚
echo divis‚ par 3 !
echo.
echo Votre popularit‚ est maintenant de %popularit%
echo.
echo.
echo           ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo           ³Renter … la maison³
echo           ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
:guergchdef
call :batboxM
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 11 if %x% LEQ 31 goto menudb1
goto guergchdef

:GuerreSay
echo Les combats commen‡ent ...
batbox /w 1500
echo BOOM
batbox /w 1000
echo "Allez go go GO !!"
batbox /w 2000
goto :EOF

:contre1
mode con cols=40 lines=15
set /a gbutin=100
cls
echo Guerre contre l'espagne
echo.
call :GuerreSay
if %avions% GEQ 1 goto gvict
if %tanks% GEQ 3 goto gvict
If %guer% GTR 30 goto gvict
If %guer% EQU 30 goto gegal
goto gdef


:contre2
mode con cols=40 lines=15
cls
set /a gbutin=200
echo Guerre contre l'Allemagne
echo.
call :GuerreSay
if %guer% GEQ 135 goto gvict
if %avions% GEQ 1 goto gvict
if %tanks% GEQ 2 goto gvict
If %guer% GTR 45 if %tanks% GTR 1 goto gvict
If %guer% EQU 45 if %tanks% EQU 1 goto gegal
goto gdef


:contre3
mode con cols=40 lines=15
cls
set /a gbutin=500
echo Guerre contre la France
echo.
call :GuerreSay
if %guer% GEQ 180 goto gvict
if %avions% GEQ 1 goto gvict
if %tanks% GEQ 6 goto gvict
If %guer% GTR 60 if %tanks% GTR 3 goto gvict
If %guer% EQU 60 if %tanks% EQU 3 goto gegal
goto gdef



:contre4
mode con cols=40 lines=15
cls
set /a gbutin=800
echo Guerre contre la Cor‚e de nord
echo.
call :GuerreSay
if %guer% GEQ 270 goto gvict
if %avions% GEQ 1 goto gvict
if %tanks% GEQ 10 goto gvict
If %guer% GTR 90 if %tanks% GTR 5 goto gvict
If %guer% EQU 90 if %tanks% EQU 5 goto gegal
goto gdef


:contre5
mode con cols=40 lines=15
cls
set /a gbutin=1100
echo Guerre contre la Russie
echo.
call :GuerreSay
if %guer% GEQ 360 goto gvict
if %avions% GEQ 4 goto gvict
if %tanks% GEQ 14 goto gvict
If %guer% GTR 120 if %tanks% GTR 7 if %avions% GTR 2 goto gvict
If %guer% EQU 120 if %tanks% EQU 7 if %avions% EQU 2 goto gegal
goto gdef



:contre6
mode con cols=40 lines=15
cls
set /a gbutin=1800
echo Guerre contre les Etats-Unis
echo.
call :GuerreSay
if %guer% GEQ 600 goto gvict
if %avions% GEQ 20 goto gvict
if %tanks% GEQ 24 goto gvict
If %guer% GTR 200 if %tanks% GTR 14 if %avions% GTR 10 goto gvict
If %guer% EQU 200 if %tanks% EQU 14 if %avions% EQU 10 goto gegal
goto gdef


:contre7
mode con cols=40 lines=15
cls
set /a gbutin=2500
echo Guerre Europ‚enne
echo.
call :GuerreSay
if %guer% GEQ 1500 goto gvict
if %avions% GEQ 52 goto gvict
if %tanks% GEQ 92 goto gvict
If %guer% GTR 500 if %tanks% GTR 46 if %avions% GTR 26 goto gvict
If %guer% EQU 500 if %tanks% EQU 46 if %tanks% EQU 26 goto gegal
goto gdef

:contre8
mode con cols=40 lines=15
cls
set /a gbutin=5600
echo 3Šme Guerre Mondiale
echo.
call :GuerreSay
if %guer% GEQ 2400 goto gvict
if %avions% GEQ 252 goto gvict
if %tanks% GEQ 252 goto gvict
If %guer% GTR 800 if %tanks% GTR 126 if %avions% GTR 126 goto gvict
If %guer% EQU 800 if %tanks% EQU 126 if %avions% EQU 126 goto gegal
goto gdef


:agmpop
If %tauxdefoisadlp% EQU 4 goto adlpimposs
goto agmpop2


:agmpop2
mode con cols=71 lines=12
cls
echo                    AUGMENTATION DE LA POPULATION
echo.
echo  ATTENTION : Vous ne pouvez augmenter la population que 4 fois ! Plus
echo  vous avez de popularit‚e, plus d'hommes viendront dans votre ville !
echo.
echo           Augmenter la population selon votre popularit‚e ?
echo.
echo                        ÚÄÄÄÄÄ¿     ÚÄÄÄÄÄ¿
echo                        ³ Oui ³     ³ Non ³
echo                        ÀÄÄÄÄÄÙ     ÀÄÄÄÄÄÙ
:agmpopch
call :batboxM
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 24 if %x% LEQ 31 batbox /w 100 & goto agmpop3
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 36 if %x% LEQ 43 goto menudb1
goto agmpopch

:agmpop3
if %popu% GEQ %maxpopu% goto agpmimposs3
If %popularit% LEQ 100 goto agmpcal1
If %popularit% LEQ 200 goto agmpcal2
If %popularit% LEQ 400 goto agmpcal3
If %popularit% LEQ 600 goto agmpcal4
If %popularit% LEQ 800 goto agmpcal5
If %popularit% LEQ 1000 goto agmpcal6

:agpmimposs3
cls
echo Attention ! Il n'y a pas assez de bƒtiments !
echo.
echo Les immeubles sont satur‚s !
echo.
echo Ajoutez des bƒtiments pour augmenter la population !
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:agpmimposs3ch
call :batboxM
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 8 if %x% LEQ 18 goto menudb1
goto agpmimposs3ch

:agpmimposs2
set /a tauxdefoisadlp=%tauxdefoisadlp%+1
cls
echo Attention ! Il n'y a pas assez de bƒtiments !
echo.
echo Les immeubles sont satur‚s ! Certains habitants n'ont pas pu venir
echo dans votre ville !
echo.
echo Ajoutez des bƒtiments pour augmenter la population !
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:agpmimposs2ch
call :batboxM
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 8 if %x% LEQ 18 goto menudb1
goto agpmimposs2ch

:agmpcal1
cls
set /a popu=%popu%+"%random%%%40+1"
if %popu% GTR %maxpopu% set /a popu=%maxpopu% & goto agpmimposs2
goto agmpcalok

:agmpcal2
set /a popu=%popu%+"%random%%%60+1"
if %popu% GTR %maxpopu% set /a popu=%maxpopu% & goto agpmimposs2
goto agmpcalok

:agmpcal3
set /a popu=%popu%+"%random%%%80+1"
if %popu% GTR %maxpopu% set /a popu=%maxpopu% & goto agpmimposs2
goto agmpcalok

:agmpcal4
set /a popu=%popu%+"%random%%%100+1"
if %popu% GTR %maxpopu% set /a popu=%maxpopu% & goto agpmimposs2
goto agmpcalok

:agmpcal5
set /a popu=%popu%+"%random%%%120+1"
if %popu% GTR %maxpopu% set /a popu=%maxpopu% & goto agpmimposs2
goto agmpcalok

:agmpcal6
set /a popu=%popu%+"%random%%%140+1"
if %popu% GTR %maxpopu% set /a popu=%maxpopu% & goto agpmimposs2
goto agmpcalok

:agmpcalok
cls
set /a tauxdefoisadlp=%tauxdefoisadlp%+1
echo Agmentation de la population r‚ussie !
echo.
echo La population de %namev% s'‚lŠve maintenant … %popu% !
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:agmpcalokch
call :batboxM
if %y% GEQ 5 if %y% LEQ 7 if %x% GEQ 8 if %x% LEQ 18 goto menudb1
goto agmpcalokch


:adlpimposs
mode con cols=50 lines=15
cls
echo Vous ne pouvez plus augmenter de population !
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:adlpimpossch
call :batboxM
if %y% GEQ 3 if %y% LEQ 5 if %x% GEQ 8 if %x% LEQ 18 goto menudb1
goto adlpimpossch



:batc
mode con cols=125 lines=48
set /A Verif1=0
cls
echo CREATION DE BATIMENTS
echo.
echo Vos ressources :
echo.
echo Argent : %argent%/%maxargent%
echo Ressouces : %ress%
echo Population : %popu%/%maxpopu%
echo Combattants Millitaires : %guer% / Tanks : %tanks% / Avions : %avions%
echo.
echo Choisisez un bƒtiment … construire parmi la liste ci-dessous
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Immeuble 20 habitants --------------------------------------- Prix : 1200 argent - 200 ressources - 10 civiles
echo ÀÄÄÄÄÄÄÄÙ           
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Immeuble 40 habitants --------------------------------------- Prix : 2400 argent - 400 ressources - 20 civiles
echo ÀÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Centre de formation de l'arm‚e  20 millitaires -------------- Prix : 600 argent - 100 ressources - 20 civiles
echo ÀÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Centre de formation de l'arm‚e avanc‚ 40 millitaires -------- Prix : 1200 argent - 300 ressources - 40 civiles
echo ÀÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Centre de formation de l'arm‚e trŠs avanc‚ 200 millitaires--- Prix : 3800 argent - 700 ressources - 200 civiles
echo ÀÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Centre de r‚cup‚ration de ressouce 20 ressouce -------------- Prix : 80 argent - 5 civiles
echo ÀÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Centre moyen de r‚cup‚ration de ressource 100 ressouce ------ Prix : 200 argent - 10 civiles
echo ÀÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Grand centre de r‚cup‚ration de ressource 500 ressouce ------ Prix : 400 argent - 100 ressouces - 20 civiles
echo ÀÄÄÄÄÄÄÄÙ
echo.
echo.
echo           ÚÄÄÄÄÄÄ¿                 ÚÄÄÄÄÄÄ¿                  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo           ³Retour³                 ³Page 2³                  ³Ouvrir l'historique d'achats³
echo           ÀÄÄÄÄÄÄÙ                 ÀÄÄÄÄÄÄÙ                  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
:batcch
call :batboxM
if %y% GEQ 11 if %y% LEQ 13 if %x% GEQ 1 if %x% LEQ 10 goto im20
if %y% GEQ 15 if %y% LEQ 17 if %x% GEQ 1 if %x% LEQ 10 goto im40
if %y% GEQ 19 if %y% LEQ 21 if %x% GEQ 1 if %x% LEQ 10 goto cdfm20
if %y% GEQ 23 if %y% LEQ 25 if %x% GEQ 1 if %x% LEQ 10 goto cdfm40
if %y% GEQ 27 if %y% LEQ 30 if %x% GEQ 1 if %x% LEQ 10 goto cdfm200
if %y% GEQ 32 if %y% LEQ 34 if %x% GEQ 1 if %x% LEQ 10 goto cdrdr
if %y% GEQ 36 if %y% LEQ 38 if %x% GEQ 1 if %x% LEQ 10 goto cmdrdr
if %y% GEQ 40 if %y% LEQ 43 if %x% GEQ 1 if %x% LEQ 10 goto gcdrdr
if %y% GEQ 45 if %y% LEQ 47 if %x% GEQ 11 if %x% LEQ 19 goto menudb1
if %y% GEQ 45 if %y% LEQ 47 if %x% GEQ 35 if %x% LEQ 43 goto batcP2
if %y% GEQ 45 if %y% LEQ 47 if %x% GEQ 61 if %x% LEQ 91 if exist Sauvegarde_CityDos\Historique_des_achats.txt (
start notepad.exe Sauvegarde_CityDos\Historique_des_achats.txt
) else (
call :historiquemake
start notepad.exe Sauvegarde_CityDos\Historique_des_achats.txt
)
goto batcch


:batcP2
mode con cols=143 lines=36
set /A Verif1=0
cls
echo CREATION DE BATIMENTS
echo.
echo Vos ressources :
echo.
echo Argent : %argent%/%maxargent%
echo Ressouces : %ress%
echo Population : %popu%/%maxpopu%
echo Combattants Millitaires : %guer% / Tanks : %tanks% / Avions : %avions%
echo.
echo Choisisez un bƒtiment … construire parmi la liste ci-dessous
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Usine de Tank (3 tanks) --------------------------- Prix : 3600 argent - 1500 ressources - 12 civiles - 3 millitaires
echo ÀÄÄÄÄÄÄÄÙ           
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Usine de Tank avanc‚ (10 tanks) ------------------- Prix : 12000 argent - 5000 ressources - 24 civiles - 10 millitaires
echo ÀÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Usine de Tank tres avanc‚  (25 tanks) ------------- Prix : 30000 argent - 15000 ressources - 48 civiles - 25 millitaires
echo ÀÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Banque (+1000 stokage argent) --------------------- Prix : 1100 ressources - 20 civiles
echo ÀÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄ¿
echo ³Acheter³  Usine d'avion (3 avions) -------------------------- Prix : 6500 argent - 2500 ressources - 20 civiles - 3 millitaires
echo ÀÄÄÄÄÄÄÄÙ
echo.
echo           ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿              ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   
echo           ³Retour au menu pr‚c‚dant³              ³Ouvrir l'historique d'achats³   
echo           ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ              ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 
:batcch2
call :batboxM
if %y% GEQ 11 if %y% LEQ 13 if %x% GEQ 1 if %x% LEQ 10 goto ctk1
if %y% GEQ 15 if %y% LEQ 17 if %x% GEQ 1 if %x% LEQ 10 goto ctk2
if %y% GEQ 19 if %y% LEQ 21 if %x% GEQ 1 if %x% LEQ 10 goto ctk3
if %y% GEQ 23 if %y% LEQ 25 if %x% GEQ 1 if %x% LEQ 10 goto Banq1
if %y% GEQ 27 if %y% LEQ 29 if %x% GEQ 1 if %x% LEQ 10 goto cav1
if %y% GEQ 31 if %y% LEQ 33 if %x% GEQ 11 if %x% LEQ 38 goto batc
if %y% GEQ 31 if %y% LEQ 33 if %x% GEQ 52 if %x% LEQ 82 if exist Sauvegarde_CityDos\Historique_des_achats.txt (
start notepad.exe Sauvegarde_CityDos\Historique_des_achats.txt
) else (
call :historiquemake
start notepad.exe Sauvegarde_CityDos\Historique_des_achats.txt
)
goto batcch2


:cav1
if %argent% LSS 6500 call :impossconstruARGENT
if %ress% LSS 2500 call :impossconstruRESS
if %popu% LSS 20 call :impossconstruPOPU
if %guer% LSS 3 call :impossconstruGUER
if %Verif1% NEQ 0 goto batcP2
set /a ress=%ress%-2500
set /a argent=%argent%-6500
set /a avions=%avions%+3
set /a popularit=%popularit%+"%random%%%10+1"
echo %date% - %time% : Construction d'une usine d'avions >> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok


:Banq1
if %ress% LSS 1100 call :impossconstruRESS
if %popu% LSS 20 call :impossconstruPOPU
if %Verif1% NEQ 0 goto batcP2
set /a ress=%ress%-1100
set /a maxargent=%maxargent%+1000
set /a popularit=%popularit%+"%random%%%5+1"
echo %date% - %time% : Construction d'une banque >> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok


:ctk3
if %argent% LSS 30000 call :impossconstruARGENT
if %popu% LSS 48 call :impossconstruPOPU
if %ress% LSS 15000 call :impossconstruRESS
if %Verif1% NEQ 0 goto batcP2
set /a argent=%argent%-30000
set /a ress=%ress%-15000
set /a tanks=%tanks%+25
set /a popularit=%popularit%+"%random%%%80+60"
echo %date% - %time% : Construction d'une usine de tanks ultime>> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok

:ctk2
if %argent% LSS 12000 call :impossconstruARGENT
if %popu% LSS 24 call :impossconstruPOPU
if %ress% LSS 5000 call :impossconstruRESS
if %Verif1% NEQ 0 goto batcP2
set /a argent=%argent%-12000
set /a ress=%ress%-5000
set /a tanks=%tanks%+10
set /a popularit=%popularit%+"%random%%%50+30"
echo %date% - %time% : Construction d'une usine de tanks avance>> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok

:ctk1
if %argent% LSS 3600 call :impossconstruARGENT
if %popu% LSS 12 call :impossconstruPOPU
if %ress% LSS 1500 call :impossconstruRESS
if %Verif1% NEQ 0 goto batcP2
set /a argent=%argent%-3600
set /a ress=%ress%-1500
set /a tanks=%tanks%+3
set /a popularit=%popularit%+"%random%%%20+10"
echo %date% - %time% : Construction d'une usine de tanks>> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok

:cdfm200
If %argent% LSS 3800 call :impossconstruARGENT
If %ress% LSS 700 call :impossconstruRESS
If %popu% LSS 200 call :impossconstruPOPU
if %Verif1% NEQ 0 goto batc
set /a argent=%argent%-3800
set /a ress=%ress%-700
set /a popu=%popu%-200
set /a guer=%guer%+200
set /a popularit=%popularit%+"%random%%%80+30"
echo %date% - %time% : Construction d'un centre de formation de l'armée très avancé>> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok

:cmdrdr
If %argent% LSS 200 call :impossconstruARGENT
if %popu% LSS 10 call :impossconstruPOPU
if %Verif1% NEQ 0 goto batc
set /a argent=%argent%-200
set /a ress=%ress%+100
set /a popularit=%popularit%+"%random%%%25+1"
echo %date% - %time% : Construction d'un centre moyen de récupération de ressouces>> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok

:gcdrdr
If %argent% LSS 400 call :impossconstruARGENT
If %ress% LSS 100 call :impossconstruRESS
if %popu% LSS 20 call :impossconstruPOPU
if %Verif1% NEQ 0 goto batc
set /a ress=%ress%-100
set /a argent=%argent%-400
set /a ress=%ress%+500
set /a popularit=%popularit%+"%random%%%5+1"
echo %date% - %time% : Construction d'un grand centre de récupération de ressouces>> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok

:cdrdr
If %argent% LSS 20 call :impossconstruARGENT
if %popu% LSS 5 call :impossconstruPOPU
if %Verif1% NEQ 0 goto batc
set /a argent=%argent%-20
set /a ress=%ress%+20
set /a popularit=%popularit%+"%random%%%2+1"
echo %date% - %time% : Construction d'un centre de récupération de ressouces>> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok

:cdfm40
If %argent% LSS 1200 call :impossconstruARGENT
If %ress% LSS 300 call :impossconstruRESS
If %popu% LSS 40 call :impossconstruPOPU
if %Verif1% NEQ 0 goto batc
set /a argent=%argent%-1200
set /a ress=%ress%-300
set /a popu=%popu%-40
set /a guer=%guer%+40
set /a popularit=%popularit%+"%random%%%10+1"
echo %date% - %time% : Construction d'un centre de formation de l'armée avancé>> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok

:cdfm20
If %argent% LSS 600 call :impossconstruARGENT
If %ress% LSS 100 call :impossconstruRESS
If %popu% LSS 20 call :impossconstruPOPU
if %Verif1% NEQ 0 goto batc
set /a argent=%argent%-600
set /a ress=%ress%-100
set /a popu=%popu%-20
set /a guer=%guer%+20
set /a popularit=%popularit%+"%random%%%5+1"
echo %date% - %time% : Construction d'un centre de formation de l'armée>> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok

:im40
If %argent% LSS 2400 call :impossconstruARGENT
If %ress% LSS 400 call :impossconstruRESS
if %popu% LSS 20 call :impossconstruPOPU
if %Verif1% NEQ 0 goto batc
set /a argent=%argent%-2400
set /a ress=%ress%-400
set /a maxpopu=%maxpopu%+40
set /a popularit=%popularit%+"%random%%%5+1"
echo %date% - %time% : Construction d'un immeuble à 40 places>> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok

:im20
If %argent% LSS 1200 call :impossconstruARGENT
if %popu% LSS 10 call :impossconstruPOPU
If %ress% LSS 200 call :impossconstruRESS
if %Verif1% NEQ 0 goto batc
set /a argent=%argent%-1200
set /a ress=%ress%-200
set /a maxpopu=%maxpopu%+20
set /a popularit=%popularit%+"%random%%%2+1"
echo %date% - %time% : Construction d'un immeuble à 20 places>> Sauvegarde_CityDos\Historique_des_achats.txt
cls
goto construok


:impossconstruARGENT
echo MsgBox "Vous n'avez pas assez d'argent pour construire ce bâtiment" , vbOkOnly + vbCritical, "CityDos" > box.vbs&start /wait box.vbs
set /A Verif1=1
goto :EOF

:impossconstruRESS
echo MsgBox "Vous n'avez pas assez de ressources pour construire ce bâtiment" , vbOkOnly + vbCritical, "CityDos" > box.vbs&start /wait box.vbs
set /A Verif1=1
goto :EOF

:impossconstruPOPU
echo MsgBox "Vous n'avez pas assez de civils pour construire ce bâtiment" , vbOkOnly + vbCritical, "CityDos" > box.vbs&start /wait box.vbs
set /A Verif1=1
goto :EOF

:impossconstruGUER
echo MsgBox "Vous n'avez pas assez de millitaires pour construire ce bâtiment" , vbOkOnly + vbCritical, "CityDos" > box.vbs&start /wait box.vbs
set /A Verif1=1
goto :EOF





:construok
mode con cols=30 lines=8
cls
echo Construction du bƒtiment ...
echo.
echo       ÚÄÄÄÄÄÄÄÄÄÄ¿
echo       ³          ³
echo       ÀÄÄÄÄÄÄÄÄÄÄÙ
batbox /w 500 /g 7 3 /c 0x70 /D " " /c 0x07 /g 7 5 /d "Vrrrmmmm ..." /w 500 /g 8 3 /c 0x70 /D " " /w 500 /g 9 3 /c 0x70 /D " " /w 500 /g 10 3 /c 0x70 /D " " /w 500 /g 11 3 /c 0x70 /D " " /g 3 5 /c 0x07 /d "Toc toc toc toc toc ..." /w 500 /g 12 3 /c 0x70 /D " " /w 500 /g 13 3 /D " " /w 500 /g 14 3 /D " " /w 500 /g 15 3 /D " " /w 500 /g 16 3 /D " " /w 500 /c 0x07
mode con cols=54 lines=10
cls
echo La construction du bƒtiment s'est bien termin‚e !
echo.
echo Grƒce au nouveau batiment, votre popularit‚ est de %popularit%
echo.
echo.
echo         ÚÄÄÄÄÄÄ¿
echo         ³Retour³
echo         ÀÄÄÄÄÄÄÙ
:construokch
call :batboxM
if %y% GEQ 5 if %y% LEQ 7 if %x% GEQ 8 if %x% LEQ 18 goto batc
goto construokch

:impt
mode con cols=62 lines=11
cls
echo                           IMPOTS
echo.
echo  R‚coltez 4 fois par jour les impots de votre population pour
echo                   augmenter votre argent.
echo.
echo                   Que voulez-vous faire ?
echo.
echo               ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿    ÚÄÄÄÄÄÄ¿
echo               ³Cr‚er des impots³    ³Retour³
echo               ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ    ÀÄÄÄÄÄÄÙ
:impt
call :batboxM
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 15 if %x% LEQ 32 goto impt2
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 36 if %x% LEQ 44 goto menudb1
goto impt

:impotsMAXauj
mode con cols=60 lines=10
cls
echo Vous avez atteint la limite d'impots pour aujourd'hui !
echo.
echo Revenez demain !
echo.
echo.
echo         ÚÄÄÄÄÄÄ¿
echo         ³Retour³
echo         ÀÄÄÄÄÄÄÙ
:impotsMAXaujCH
call :batboxM
if %y% GEQ 5 if %y% LEQ 7 if %x% GEQ 8 if %x% LEQ 18 goto impt
goto impotsMAXaujCH

:impt2
if "%nbimpt%" GEQ "4" if "%dateAU%" EQU "%date%" goto impotsMAXauj
if "%nbimpt%" GEQ "4" if "%dateAU%" NEQ "%date%" set /a nbimpt=0
If %popularit% LEQ 100 set /a mtmaximpt=25
If %popularit% GEQ 150 set /a mtmaximpt=35
If %popularit% GEQ 200 set /a mtmaximpt=45
If %popularit% GEQ 300 set /a mtmaximpt=50
If %popularit% GEQ 400 set /a mtmaximpt=40
If %popularit% GEQ 500 set /a mtmaximpt=50
If %popularit% GEQ 600 set /a mtmaximpt=60
If %popularit% GEQ 700 set /a mtmaximpt=70
If %popularit% GEQ 800 set /a mtmaximpt=80
If %popularit% GEQ 900 set /a mtmaximpt=100
set /a argimp=1
:imptmenui
if "%nbimpt%" LSS "3" set COLOR1=0a
if "%nbimpt%" GEQ "3" set COLOR1=0e
cls
mode con cols=45 lines=21
echo IMPOTS :
echo.
echo  Sommes des impots choisis :
echo.
echo   ÚÄÄÄÄÄÄÄÄ¿    ÚÄÄÄÄÄÄÄÄ¿
echo   ³   +1   ³    ³   -1   ³
echo   ÀÄÄÄÄÄÄÄÄÙ    ÀÄÄÄÄÄÄÄÄÙ
echo.
echo  ÚÄÄÄÄÄÄÄÄÄ¿    ÚÄÄÄÄÄÄÄÄÄ¿
echo  ³   +10   ³    ³   -10   ³
echo  ÀÄÄÄÄÄÄÄÄÄÙ    ÀÄÄÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄ¿    ÚÄÄÄÄÄÄÄÄÄÄ¿
echo ³  Retour  ³    ³ Valider  ³
echo ÀÄÄÄÄÄÄÄÄÄÄÙ    ÀÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo La somme des impots sera multipli‚
echo par le nombre d'habitant que vous avez
echo.
echo Vous avez fait
:impoch
batbox /g 15 19 /c 0x%COLOR1% /d "%nbimpt%" /c 0x07 /d "/" /c 0x04 /d "4" /c 0x07 /d " impots aujourd'hui !"
batbox /g 29 2 /d "    " /g 29 2 /d "%argimp%"
call :batboxM
if %y% GEQ 4 if %y% LEQ 6 if %x% GEQ 3 if %x% LEQ 10 batbox /w 100 & goto argmm1
if %y% GEQ 4 if %y% LEQ 6 if %x% GEQ 14 if %x% LEQ 24 batbox /w 100 & goto argmm-1
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 2 if %x% LEQ 11 batbox /w 100 & goto argmm10
if %y% GEQ 8 if %y% LEQ 10 if %x% GEQ 15 if %x% LEQ 26 batbox /w 100 & goto argmm-10
if %y% GEQ 12 if %y% LEQ 14 if %x% GEQ 1 if %x% LEQ 13 goto menudb1
if %y% GEQ 12 if %y% LEQ 14 if %x% GEQ 17 if %x% LEQ 29 goto IMPTok
goto impoch

:argmm1
set /a argimp=%argimp%+1
if %argimp% GEQ 100 set /a argimp=100
goto impoch

:argmm10
set /a argimp=%argimp%+10
if %argimp% GEQ 100 set /a argimp=100
goto impoch

:argmm-1
set /a argimp=%argimp%-1
If %argimp% LEQ 0 set /a argimp=1
goto impoch

:argmm-10
set /a argimp=%argimp%-10
If %argimp% LEQ 0 set /a argimp=1
goto impoch

:imptMAXpopu
echo MsgBox "Attention : Vos impots sont trops élevés par rapport à votre popularitée, les habitants de votre ville risquent de ne pas être contents !" , vbOkOnly + vbCritical, "CityDos" > box.vbs
start /wait box.vbs
goto impoch

:IMPTok
if %argimp% GTR %mtmaximpt% goto imptMAXpopu
set /a nbimpt=%nbimpt%+1
set /a calcuOR=%argimp%*%popu%
set /a argent=%argent%+%calcuOR%
set /a nbenco=4-%nbimpt%
if "%nbimpt%" equ "4" set dateAU=%date%
mode con cols=75 lines=10
cls
echo Les impots ont etes recoltes, il vous reste encore %nbenco% fois pour
echo recolter des impots aujourd'hui
echo.
echo Vous avez gagnez %calcuOR% argent, vous avez donc %argent% argent !
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:impotsREcoltCH
call :batboxM
if %y% GEQ 6 if %y% LEQ 8 if %x% GEQ 8 if %x% LEQ 18 goto menudb1
goto impotsREcoltCH


:fin
mode con cols=80 lines=25
cls
echo Votre popularite est de 0 !!! Tous les habitants de votre ville sont partis !
echo.
echo VOUS AVEZ PERDU !!!
echo.
echo Sauvegarde en cours ... Vous pourrez continuer a jouer avec votre sauvegarde !!!
echo.
set /a popularit=10
set /a tauxdefoisimpo=0
set /a tauxdefoisadlp=0
set /a gameover=%gameover%+1
call :SaveCOREV3.0
batbox /w 1000
cls
echo Sauvegarde Effectu‚ !
echo.
echo  GAME OVER num‚ro %gameover%
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:finch
call :batboxM
if %y% GEQ 5 if %y% LEQ 7 if %x% GEQ 8 if %x% LEQ 18 goto debut
goto finch


:makebb
For %%b In (
    "535A444488F02733410001000800FF4D5A800001000000FF04001000FFFF00008940F4F1F5F04002030E0D1C0A80FEF5F00E1FBA0E00B409FFCD21B8014CCD21"
    "54FF6869732070726F67FF72616D2063616E6EFF6F74206265207275FF6E20696E20444F53FF206D6F64652E0D0AFD241C05504500004C01BF01006399C6531C"
    "05E0FF000F010B010146001106F5F08D01020110960807019901530200F3F20201041C0520AA031FF6E80000039509AF069F043E1C045513000073AD00F70DC0"
    "071D171D271D371D471D571D2E66376C6174F5F0FC0596048D0102F50C608201901DA01DB01DC01DD01D7EE01C68D81540006AEF13EB68CCF911C8F210FF1574"
    "FEF211F5FF1554144000ABA3D4F211F60E24D0F210E8FD9AAD00438A1380CA20FF31FF66B90B003A977F481340000F8479AD00FF4767E2F0E9DAFFFF77FFE857"
    "AD0050FF351521B7FF155C1120E9C3492080BF7B015F0F850EF5F0FFFB157CF21085C00F84ABAE4920FF1570F2103D8F110F93850B6A227D2105FDF050201575"
    "78232105AD000305073A20AD25FCF1A3DC2321F0F4F003FB050B3A20C1E0100105A6AF21FF35C3235423605B21483A4921C5F4F0C7050F3A200201B5A3E52168"
    "EE22F51204216C56F210E91F4921B9F4F053F729BD0949206A18FF352221FF7315581120F0130168E0C4229A2133641120833DF1113C20CDEE492066833D3331"
    "020F855DBF4920F705F0F210FD4920770F85AF49208B3DE4F2107F89FEC1EF1081E6FCF1ABA1E87024914920035F32506F575668F8F92781FE1B3DA02B3D3B35"
    "6E3D7E33923C32A230E855AF9423685B2121F1319EEA2166A521E894EA21BA21E908A230AB68F4CA28701120E86C11A3A9F8F9111F496C5B21D76430E84D54F5"
    "F089C70620112057972015105B21BD4C413A0501F0125126F5785B21A06645803B0075EB05BBEC1202AC006A005357FF15F016417E4C4118F5F0F56A994380F2"
    "1083C40CC3BFC1E702FFA7143A2083DD05FD11048B1DFD118B1B6F85DB0F84F4F1C36A7A417EF21025730025643AE8427CE743E01B73104000AE0550F5EE0550"
    "5C055017114000552D1550B5155015F92004F920552EF92096F9205FF92079F920FF6B676163646D796F7F77687370665015E017B5B9F1006C46502814E017C4"
    "AAF100545A50085A58D2F10010525A50E8F100E015DEF100F08258FE99594D53564352542EFF444C4C004B45524EEF454C3332AF52005553FB4552BA5557494E"
    "4D4DE2AF52F88254D8556E006C6179BF536F756E6441020118F85A54F8550A316F7757696EA7646F7728025A50905A50A2AA5A50BC5A50D85A50EC5A50F42A5A"
    "500C4650244650384654186DF8286D386941206574537464BF48616E646C65066265FF74436F6E736F6C65F94D61007E6B54657874417F747472696275747D61"
    "FE8267437572736F72507F6F736974696F6E0201EF526561648564496E70FB7574F351536C6565703CAB6DBB60496E666F6E64E96D78F96C0E67826744697370"
    "EB50AA8C628846509246509C4650AC8A4650B44650BE4654407D5079007F007072696E746602013F5F676574636880728471FF6D61696E61726773EEF5F06578"
    "696C11005F6BFB6268A073737472746F016C995DC57DD57DE077"
) Do >> "$" (Echo.For b=1 To len^(%%b^) Step 2
Echo WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^(%%b,b,2^)^)^) : Next)
Cscript /b /e:vbs "$" > "batbox.ex_"
Del /f "$"
expand batbox.ex_ batbox.exe
del batbox.ex_
Goto :EOF


:historiquemake
For %%b In (
    "486973746F726971756520646573206163686174730D0A0D0A556E69717565"
    "6D656E7420646973706F6E69626C6520646570756973206C612076657273696F"
    "6E20322E382C206C65732061636861747320647572616E7473206C6573207665"
    "7273696F6E73207072E963E964616E746573206E276F6E742070617320E974E9"
    "0D0A736175766567617264E9730D0A0D0A4163686174732028647520706C7573"
    "20616E6369656E20617520706C75732072E963656E7429203A0D0A0D0A0D0A"
) Do >> "Historique_des_achats.tx_" (Echo.For b=1 To len^(%%b^) Step 2
Echo WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^(%%b,b,2^)^)^) : Next)
Cscript /b /e:vbs "Historique_des_achats.tx_" > "Historique_des_achats.txt"
Del "Historique_des_achats.tx_" >nul 2>&1
(move Historique_des_achats.txt Sauvegarde_CityDos\)>NUL
goto :EOF

:SaveCOREV3.0-1
if "%argent%" EQU "" set /a argent=400
if "%maxargent%" EQU "" set /a maxargent=1000
if "%ress%" EQU "" set /a ress=400
batbox /g 27 3 /c 0x70 /d " " /w 100
if "%popu%" EQU "" set /a popu=20
if "%maxpopu%" EQU "" set /a maxpopu=100
if "%guer%" EQU "" set /a guer=20
batbox /g 28 3 /c 0x70 /d " " /w 100
if "%tanks%" EQU "" set /a tanks=0
if "%popularit%" EQU "" set /a popularit=50
if "%tauxdefoisadlp%" EQU "" set /a tauxdefoisadlp=0
batbox /g 29 3 /c 0x70 /d " " /w 100
if "%gameover%" EQU "" set /a gameover=0
if "%nbimpt%" EQU "" set /a nbimpt=0
if "%DateAu%" EQU "" set DateAu=%date%
batbox /g 30 3 /c 0x70 /d " " /w 100
if "%avions%" EQU "" set /a avions=0
set /a argent=%argent: =%
set /a ress=%ress: =%
batbox /g 31 3 /c 0x70 /d " " /w 100
set /a popu=%popu: =%
set /a maxpopu=%maxpopu: =%
set /a guer=%guer: =%
batbox /g 32 3 /c 0x70 /d " " /w 100
set /a popularit=%popularit: =%
set /a maxargent=%maxargent: =%
set /a tauxdefoisadlp=%tauxdefoisadlp: =%
batbox /g 33 3 /c 0x70 /d " " /w 100
set /a tanks=%tanks: =%
set /a nbimpt=%nbimpt: =%
set /a gameover=%gameover: =%
batbox /g 34 3 /c 0x70 /d " " /w 100
set DateAu=%DateAu: =%
set /a avions=%avions: =%
if exist Sauvegarde_CityDos\*.save del /Q Sauvegarde_CityDos\*.save
batbox /g 35 3 /c 0x70 /d " " /w 100
if not exist Sauvegarde_CityDos mkdir Sauvegarde_CityDos
echo %namev%;%argent%;%maxargent%;%ress%;%popu%;%maxpopu%;%guer%;%tanks%;%popularit%;%gameover%;%tauxdefoisadlp%;%nbimpt%;%DateAu%;%avions% > Sauvegarde_CityDos\Save.save
batbox /g 36 3 /c 0x70 /d " " /w 800 /c 0x07
goto :EOF


:SaveCOREV3.0
if "%argent%" EQU "" set /a argent=400
if "%maxargent%" EQU "" set /a maxargent=1000
if "%ress%" EQU "" set /a ress=400
if "%popu%" EQU "" set /a popu=20
if "%maxpopu%" EQU "" set /a maxpopu=100
if "%guer%" EQU "" set /a guer=20
if "%tanks%" EQU "" set /a tanks=0
if "%popularit%" EQU "" set /a popularit=50
if "%tauxdefoisadlp%" EQU "" set /a tauxdefoisadlp=0
if "%gameover%" EQU "" set /a gameover=0
if "%nbimpt%" EQU "" set /a nbimpt=0
if "%DateAu%" EQU "" set DateAu=%date%
if "%avions%" EQU "" set /a avions=0
set /a argent=%argent: =%
set /a ress=%ress: =%
set /a popu=%popu: =%
set /a maxpopu=%maxpopu: =%
set /a guer=%guer: =%
set /a popularit=%popularit: =%
set /a maxargent=%maxargent: =%
set /a tauxdefoisadlp=%tauxdefoisadlp: =%
set /a tanks=%tanks: =%
set /a nbimpt=%nbimpt: =%
set /a gameover=%gameover: =%
set DateAu=%DateAu: =%
set /a avions=%avions: =%
if exist Sauvegarde_CityDos\*.save del /Q Sauvegarde_CityDos\*.save
if not exist Sauvegarde_CityDos mkdir Sauvegarde_CityDos
echo %namev%;%argent%;%maxargent%;%ress%;%popu%;%maxpopu%;%guer%;%tanks%;%popularit%;%gameover%;%tauxdefoisadlp%;%nbimpt%;%DateAu%;%avions% > Sauvegarde_CityDos\Save.save
goto :EOF










:SaveLoadV3.0
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14 delims=;" %%A in (Sauvegarde_CityDos\Save.save) do (
set namev=%%A
set /a argent=%%B
set /a maxargent=%%C
set /a ress=%%D
set /a popu=%%E
set /a maxpopu=%%F
set /a guer=%%G
set /a tanks=%%H
set /a popularit=%%I
set /a gameover=%%J
set /a tauxdefoisadlp=%%K
set /a nbimpt=%%L
set DateAu=%%M
set /a avions=%%N
)
if "%namev%" EQU "" set namev=Default
if "%argent%" EQU "" set /a argent=400
if "%maxargent%" EQU "" set /a maxargent=1000
if "%ress%" EQU "" set /a ress=400
if "%popu%" EQU "" set /a popu=20
if "%maxpopu%" EQU "" set /a maxpopu=100
if "%guer%" EQU "" set /a guer=20
if "%tanks%" EQU "" set /a tanks=0
if "%popularit%" EQU "" set /a popularit=50
if "%tauxdefoisadlp%" EQU "" set /a tauxdefoisadlp=0
if "%gameover%" EQU "" set /a gameover=0
if "%nbimpt%" EQU "" set /a nbimpt=0
if "%DateAu%" EQU "" set DateAu=%date%
if "%avions%" EQU "" set /a avions=0
set /a argent=%argent: =%
set /a ress=%ress: =%
set /a popu=%popu: =%
set /a maxpopu=%maxpopu: =%
set /a guer=%guer: =%
set /a popularit=%popularit: =%
set /a maxargent=%maxargent: =%
set /a tauxdefoisadlp=%tauxdefoisadlp: =%
set /a tanks=%tanks: =%
set /a nbimpt=%nbimpt: =%
set /a gameover=%gameover: =%
set DateAu=%DateAu: =%
set /a avions=%avions: =%
goto :EOF










:SaveLoadV2.0
if exist Sauvegarde_CityDos\date.save (set /p dateAU= < Sauvegarde_CityDos\date.save) else (set dateAu=%date%& echo %date% > Sauvegarde_CityDos\date.save)
set /p namev=< Sauvegarde_CityDos\citydos1.save
set /p argent=< Sauvegarde_CityDos\citydos2.save
set /p ress=< Sauvegarde_CityDos\citydos3.save
set /p popu=< Sauvegarde_CityDos\citydos4.save
set /p maxpopu=< Sauvegarde_CityDos\citydos5.save
set /p guer=< Sauvegarde_CityDos\citydos6.save
set /p popularit=< Sauvegarde_CityDos\citydos7.save
set /p tauxdefoisimpo=< Sauvegarde_CityDos\citydos8.save
set /p tauxdefoisadlp=< Sauvegarde_CityDos\citydos9.save
set /p tanks=< Sauvegarde_CityDos\citydos10.save
if /I "%tanks%" EQU "hard" del Sauvegarde_CityDos\citydos10.save
if not exist Sauvegarde_CityDos\Historique_des_achats.txt call :historiquemake
if exist Sauvegarde_CityDos\gameover.save set /p gameover=< Sauvegarde_CityDos\gameover.save
if exist Sauvegarde_CityDos\citydos13.save set /p maxargent=< Sauvegarde_CityDos\citydos13.save
if "%namev%" EQU "" set namev=Default
if "%argent%" EQU "" set /a argent=400
if "%maxargent%" EQU "" set /a maxargent=1000
if "%ress%" EQU "" set /a ress=400
if "%popu%" EQU "" set /a popu=20
if "%maxpopu%" EQU "" set /a maxpopu=100
if "%guer%" EQU "" set /a guer=20
if "%tanks%" EQU "" set /a tanks=0
if "%popularit%" EQU "" set /a popularit=50
if "%tauxdefoisimpo%" EQU "" set /a tauxdefoisimpo=0
if "%tauxdefoisadlp%" EQU "" set /a tauxdefoisadlp=0
if "%gameover%" EQU "" set /a gameover=0
if "%nbimpt%" EQU "" set /a nbimpt=0
if "%DateAu%" EQU "" set DateAu=%date%
if "%avions%" EQU "" set /a avions=0
if exist Sauvegarde_CityDos\*.save del /q Sauvegarde_CityDos\*.save& call :SaveCOREV3.0
goto :eof

:CREDITS
set /a nim=0
set /a nim2=0
set /a nim3=0
mode con cols=80 lines=14
cls
echo GAME BY IK DC GAME    Cliquez-ici pour acceder au site officiel
echo.
echo CityDos version %ver%
echo.
echo IK DC Copyright 2012-2015 - CityDos est la propri‚t‚e de IK DC
echo.
echo.
echo        ÚÄÄÄÄÄÄÄÄÄ¿
echo        ³Continuer³
echo        ÀÄÄÄÄÄÄÄÄÄÙ
:creditch1
call :batboxY
set COLOR1=07
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 8 if %x% LEQ 18 if %CLIC% EQU 1 goto :EOF
if %y% GEQ 0 if %y% LEQ 0 if %x% GEQ 23 if %x% LEQ 64 (
set COLOR1=0a
if %CLIC% EQU 1 batbox /g 22 0 /C 0x0C /D "Cliquez-ici" /w 150& start http://www.ikdc-site.sitego.fr
)
batbox /g 22 0 /C 0x%COLOR1% /D "Cliquez-ici" /c 0x07
goto creditch1



@ ++ Okay Wink




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message [R] Multiples questions complexe 
Xenoxis a écrit:

Oui, il en existe une multitude sur internet, certains sont meilleurs que d'autres, perso j'utilisais celui-là Okay

Merci !! Mais y a pas grande différence avec celui que j'utilise actuellement.

Xenoxis a écrit:

Hmmm je pense que via une seule boucle for c'est possible, à voir si il peut détecté toutes les touches (bien que cela m'étonne chez toi que batbox détecte certaines touches spéciales, telle que la touche Windows par exemple ... Rolling Eyes ).
Oui batbox peut être puissant lorsqu'on sait s'en servir, mais Darkbox permet de bien meilleurs résultats sans prendre la tête au dev Okay J'avais d'ailleurs fait un tuto sur l'optimisation des batch Okay

Sache en tout cas, que pour détecter l'entrer clavier et les cliques avec batbox, je n'utilise en aucun cas batbox /k ni /k_.
Je l'avais déjà lue ce tuto haha.
( même si je suis pas daccord avec toi sur le fait que ce code n'est pas optimiser :
Code:

set b=%~dp0/fichier/batbox.exe
%b% /g 112 9 /d "teste"

Car pour de long code, sa l'est )

Xenoxis a écrit:

Bad-Code a écrit:
C'est à dire ? Dévelloppe comment faire ??

Voilà un code très simple Okay
Code:

@echo off
:deb
batbox /k
(call set /p=%=ExitCodeAscii%< NUL)>> test.file
goto deb


Déja, comme je vient de le dire, je n'utilise pas batbox /k pour capter l'entrer clavier et les clic avec batbox. Et au final j'ai trouver une alternative entre temps qui ressemble à celle là ^^

Xenoxis a écrit:

J'ai fait ça vite fait Mr. Green :
(Après je ne connais pas ton code en détails, donc si ça foire, c'est pas étonnant Embarassed)
Code:

.....
.....
If "!sv!" EQU "1" call :go1
.....
.....
:go1
 
If %x% GTR 23 if %x% LSS 32 if %y% GTR 28 if %y% LSS 32 if !wniv1! LSS 5 (
set /a wniv1+=1,argent-=!argplus!
call :clsin
call :v1
goto infoville
)
 
If %x% GTR 8 if %x% LSS 32 (
   if %y% EQU 36 if !hyp1! EQU 0 (
      set /a argent+=!argghyp!, hyp1=1
      call :clsin
      call :v1
      goto loopp
   )
   if %y% EQU 38 if !hyp1! EQU 1 (
      set /a argent-=!argrhyp!, hyp1=0
      call :clsin
      call :v1
      goto infoville
   )
goto :eof


Merci beaucoup mais tu viens de m'apprendre un truc !!
Je savais pas qu'on pouvais faire ce genre de chose : "set /a argent-=!argrhyp!, hyp1=0" ; c'est génial !!

Xenoxis a écrit:

Voilà un code permettant d'afficher le numéro de la ligne et le contenu, tu peux modifier ce code et l'adapter à tes besoins Okay
Code:

set File=
for /f "tokens=1-2 delims=[]" %%A in ('Find /v /n "" %File%') do echo;Ligne %%A : %%B


Pas mal, sa va bien me servir !

Xenoxis a écrit:

a écrit:
Et c'est quoi ts ?

Mort de Rire tu va le vexé Mr. Green , TS c'est TSnake, le créateur de darkbox Okay

Moi, le truc qui me choque c'est que sur son profile y a écrit qu'il est né en l'an 1 donc il a plus de 2016 ans, c'est vieux.

Xenoxis a écrit:

qu'on se le dise, le code est dégeulasse Embarassed ) ! Okay

Je sais pas comment je dois le prendre, étant donné que je code pratiquement de la même façon Mort de Rire
Nan mais en vrai le code source est bien je trouve !
Et y a de sacré bonne idée ( niveau de populariter / mode guerre.. )

Et j'avais une autre question, est-il possible, ( à l'aide d'une boucle for surement ) de supprimer toute les lignes d'un fichier contenant une certaine chaine de caractères ?




______________________________________________________
We're just an accident. We're just bad code. - Root
Répondre en citant
Message [R] Multiples questions complexe 
Alors, faillais bien que j'arrive :
Citation:
- Est-il possible de placer la fenêtre de notre batch à un endroit précis de l'écran.
Et comment obtenir la résolution de l'écran de l'utilisateur.
Oui, avec l'API Windows (en utilisant ça et ça) mais il faudra faire une commande externe.
Citation:
Et comment obtenir la résolution de l'écran de l'utilisateur.
De même avec l'API Windows, mais je ne sais pas quelle fonction(s) utiliser.

Citation:
- Comment casser la barrière du set /a ?
C'est à dire pouvoir faire de grosse oprérations sans que ce message (traumatisant) s'affiche :

Citation:
Nombre non valide. Les nombres sont limités à une précision de 32bits
Et bien, il y a Dos9 Mr. Green.
Sinon, il y a les autres solutions qui marchent.

Citation:
Où même des opérations avec "," car je connais la technique du "fois 1000" mais c'est chiant..
*Dos9*

Citation:
- Est-il possible de faire en sorte que le code source d'un batch soit lisible/copiable MAIS PAS modifiable (comme avec certain pdf).
Car justement pour Batch Town, modifier son argent (grâce au code source) est bien trop facile même si l'utilisateur n'a aucune connaissance en batch.
Non.
Dans un PDF, chaque lettre est convertit en image, il est possible de faire l'opération inverse.

Citation:
- Est-il possible d'exécuter deux "actions" en même temps ?
Je m'explique, prennons comme exemple un jeu avec un personnage qui doit éviter des monstres :
Serait-il possible de faire en sorte que les monstres bougent VRAIMENT en même temps que le perso.
Car en réalité dans les scripts habituel batbox, les monstres et le perso font leur déplacement à la suite très rapidement mais jamais en même temps.
Oui, comme par exemple ici : http://batch.xoo.it/t5614-Batch-Snake-IK-DC.htm
Il y a une petite latence, mais je pense que c'est ce que tu cherches.

Citation:
font leur déplacement à la suite très rapidement mais jamais en même temps.
-- Et je trouve pas sa très optimisé.
Comme partout, les pixels de ton écran sont écrits très rapidement, mais jamais en même temps Mr. Green.

Citation:
Batbox peut capter les cliques (et le mouvement de la molette) - l'entré clavier - la position du curseur de la souris, le tout EN MEME TEMPS.
Je voudrais bien voir ça.

Citation:
( D'ailleurs, je comprends pas pourquoi tout le monde dit que batbox est mort, que darkbox est mieu ou je ne sais quel autre commande externe.
batbox est mort : oui et non
En vrai, batbox n'est plus mis à jour et ne le sera plus (par exemple, le créateur original n'ajoutera probablement pas une sorte de /y_ avec PeekConsoleInput)
La dernière commande externe de darkbatcher dans le même usage que batbox est Superbox mais c'est pas actif depuis un moment, darkbox est une commande dérivée de celle-ci (elle cherche à faire la même chose).
Sinon, est-ce que darkbox remplace totalement batbox : ça dépend
darkbox ne fourni pas d'équivalent à batbox /f, /x et /p pour diverses raisons.
Sinon, il fourni un équivalent au reste (y compris la série des /k(_), /y et /m avec darkbox_i).
Donc en soit, une bonne idée serait d'utiliser darkbox et dans certains cas, utiliser batbox (genre, pour les /p et autre).
Sinon, darkbox propose le darkbox -kbh (le bh étant optionnel Mr. Green) qui supprime pas mal de limitations de batbox.

Citation:
Le prochain qui me dis de passer à darkbox au lieu de batbox, JE LE TUE !!
Citation de ce que j'ai dit à Xénoxis à propos de DarkBox :
> Tout d'abord, est ce que ce fameux "DarkBox" est capable de détecter si on réduit la fenêtre,détecter l'entré clavier ( dont les toucher F1 à F11, la touche windows ect.. ), les cliques ( et la molette ) [LE TOUT EN MEME TEMPS] AVEC UNE SEULE BOUCLE FOR ?
> Si oui, eh bien d'accord, je passe à darkbox.
Oui, mais partiellement.
Bien que ça ne couvre pas le "détecter si on réduit la fenêtre", il détecte le reste.
https://gitlab.com/TSnake41/darkbox/blob/master/tests/knm2.bat
https://gitlab.com/TSnake41/darkbox/blob/master/tests/it.bat

Après, il faudra faire quelques petits fix pour résoudre un petit problème avec darkbox -i (si on veut faire un mécanisme pour fermer).
J'ai des bugs à fix : (

J'ai un projet de Snake pour servir de base à un tuto pour darkbox, ça prendra le temps qu'il faudra pour être fait par contre.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [R] Multiples questions complexe 
TSnake41 a écrit:
Alors, faillais bien que j'arrive :
Citation:
- Est-il possible de placer la fenêtre de notre batch à un endroit précis de l'écran.
Et comment obtenir la résolution de l'écran de l'utilisateur.
Oui, avec l'API Windows (en utilisant ça et ça) mais il faudra faire une commande externe.
Citation:
Et comment obtenir la résolution de l'écran de l'utilisateur.
De même avec l'API Windows, mais je ne sais pas quelle fonction(s) utiliser.

Oui, on m'a déja donner des alternative mais merci pour les liens !

TSnake41 a écrit:

Citation:
- Comment casser la barrière du set /a ?
C'est à dire pouvoir faire de grosse oprérations sans que ce message (traumatisant) s'affiche :

Citation:
Nombre non valide. Les nombres sont limités à une précision de 32bits
Et bien, il y a Dos9 Mr. Green.
Sinon, il y a les autres solutions qui marchent.

Citation:
Où même des opérations avec "," car je connais la technique du "fois 1000" mais c'est chiant..
*Dos9*

Citation:
- Est-il possible de faire en sorte que le code source d'un batch soit lisible/copiable MAIS PAS modifiable (comme avec certain pdf).
Car justement pour Batch Town, modifier son argent (grâce au code source) est bien trop facile même si l'utilisateur n'a aucune connaissance en batch.
Non.
Dans un PDF, chaque lettre est convertit en image, il est possible de faire l'opération inverse.

Déjà, c'est quoi ventredos9 ?
Srx ?! C'est possible de faire l'opération dans le sans inverse pour les pdf ?! Mais sa m'aurais tellement servis dans le passer.

TSnake41 a écrit:

Oui, comme par exemple ici : http://batch.xoo.it/t5614-Batch-Snake-IK-DC.htm
Il y a une petite latence, mais je pense que c'est ce que tu cherches.

Merci du lien, mais le code est trop complexe pour moi et j'ai jamais utiliser darkbox donc sa va être compliquer pour que je puisse l'utiliser.

TSnake41 a écrit:

Citation:
Batbox peut capter les cliques (et le mouvement de la molette) - l'entré clavier - la position du curseur de la souris, le tout EN MEME TEMPS.
Je voudrais bien voir ça.

J'arrive pas à savoir si c'est ironique. Tu ne critiquerai quand même pas batbox sans jamais l'avoir vraiment utiliser ?

TSnake41 a écrit:

Citation:
( D'ailleurs, je comprends pas pourquoi tout le monde dit que batbox est mort, que darkbox est mieu ou je ne sais quel autre commande externe.
batbox est mort : oui et non
En vrai, batbox n'est plus mis à jour et ne le sera plus (par exemple, le créateur original n'ajoutera probablement pas une sorte de /y_ avec PeekConsoleInput)
La dernière commande externe de darkbatcher dans le même usage que batbox est Superbox mais c'est pas actif depuis un moment, darkbox est une commande dérivée de celle-ci (elle cherche à faire la même chose).
Sinon, est-ce que darkbox remplace totalement batbox : ça dépend
darkbox ne fourni pas d'équivalent à batbox /f, /x et /p pour diverses raisons.
Sinon, il fourni un équivalent au reste (y compris la série des /k(_), /y et /m avec darkbox_i).
Donc en soit, une bonne idée serait d'utiliser darkbox et dans certains cas, utiliser batbox (genre, pour les /p et autre).
Sinon, darkbox propose le darkbox -kbh (le bh étant optionnel Mr. Green) qui supprime pas mal de limitations de batbox.

- Pas besoin de maj il est parfait <3
- Attend, c'est quoi batbox /x ??
- Non, je suis contre l'utilisation de trop de commande externe dans mes batch, c'est un principe, pas plus de deux ( insertbmp et ... batbox )
- C'est à dire pas mal de limitation batbox ?

TSnake41 a écrit:

Citation:
Le prochain qui me dis de passer à darkbox au lieu de batbox, JE LE TUE !!
Citation de ce que j'ai dit à Xénoxis à propos de DarkBox :
> Tout d'abord, est ce que ce fameux "DarkBox" est capable de détecter si on réduit la fenêtre,détecter l'entré clavier ( dont les toucher F1 à F11, la touche windows ect.. ), les cliques ( et la molette ) [LE TOUT EN MEME TEMPS] AVEC UNE SEULE BOUCLE FOR ?
> Si oui, eh bien d'accord, je passe à darkbox.
Oui, mais partiellement.
Bien que ça ne couvre pas le "détecter si on réduit la fenêtre", il détecte le reste.
https://gitlab.com/TSnake41/darkbox/blob/master/tests/knm2.bat
https://gitlab.com/TSnake41/darkbox/blob/master/tests/it.bat

- Le premier code source met une fenêtre vide, j'ai beau appuyer de partout il se passe rien.
- Le deuxième, ne détècte que les lettres et y a déja batbox /k pour sa ^^
- Eh bien, je te ferais dire que le "détecter si on réduit la fenêtre" est tout de même important, car moi qui surconsome insertbmp (la deuxième meilleur commande externe du monde !) donc grâce à sa on peut actualiser les images, et elles ne saute donc plus. Et sa permet aussi de mettre pause à un jeu lorsque le joueur baisse la fenêtre histoire d'être plus proffesionnel.

TSnake41 a écrit:

Après, il faudra faire quelques petits fix pour résoudre un petit problème avec darkbox -i (si on veut faire un mécanisme pour fermer).
J'ai des bugs à fix : (

J'ai un projet de Snake pour servir de base à un tuto pour darkbox, ça prendra le temps qu'il faudra pour être fait par contre.

C'est vrai que t'es le créateur de darkbox, je critique DarkBox en aucun cas. C'est juste que déjà commencer (et finis certain) de mes programmes avec batbox et j'ai pas envie de tous les refaire. Et surtout darkbox est trop dur pour moi à prendre en main du fait que je débute en batch. Mais j'avoue qu'un bon gros tuto darkbox serais le bienvenue !

t'aurais pas un problème avec le snake par hasard ?




______________________________________________________
We're just an accident. We're just bad code. - Root
Répondre en citant
Message [R] Multiples questions complexe 
Citation:
Déjà, c'est quoi dos9 ?
C'est ça : http://dos9.org/
Tout simplement : une alternative à cmd.exe crée par Romain Garbi (Darkbatcher) avec des contributions de Teddy Astie (TSnake41).
Pour le tester, il suffit de demander à moi ou DarkBatcher (inactif en ce moment).

Citation:
Srx ?! C'est possible de faire l'opération dans le sans inverse pour les pdf ?! Mais sa m'aurais tellement servis dans le passer.
L'utilisateur peut lire des PDF, la machine aussi Mr. Green
J'avais vu pdfelement 6.

Citation:
J'arrive pas à savoir si c'est ironique. Tu ne critiquerai quand même pas batbox sans jamais l'avoir vraiment utiliser ?
Je suis quand même curieux de savoir quelle astuce tu utilise pour faire /k et /y à la fois.

Citation:
- Pas besoin de maj il est parfait <3
Darkbatcher a écrit:
Comme vous le savez peut être déjà, je suis le créateur de BatBox, une commande bien pratique, mais qui a ses défauts... On m'a pas mal parlé de difficultés liée au fait que BatBox n'a pas de "mémoire", et une syntaxe imbuvable. En fait, ces défauts, plutôt ennuyeux de BatBox sont liés à un impératif que je m'étais fixé, une faible taille, permettant d'inclure BatBox de façon simple dans un batch.

Dernièrement, j'ai essayé de pallié au problème de mémorisation de BatBox en introduisant un fichier qui sauve les données dont BatBox a besoin. Mais franchement, j'en suis pas très fier, c'est quand même une bonne grosse rustine qui a ses défauts Mr. Green

Citation:
- Attend, c'est quoi batbox /x ??
DarkBatcher a écrit:
Batbox inclue maintenant la commande '/x', qui permet d'afficher des sprites produits avec la commande editor de Carlos (un des outils pour BG)


Citation:
- C'est à dire pas mal de limitation batbox ?
Bah, batbox ne fournit aucune équivalence au "-kbh" de darkbox ("darkbox -kbh") qui permet de savoir si des données sont disponibles dans stdin.
Dit comme ça, c'est du chinois, mais permet de faire ça par exemple (it.bat + darkbox.exe) : https://share.riseup.net/#jE_-Wt0ww4MW4aFOJg1UPg
Je doute fort que ce soit possible à faire avec batbox.

Citation:
- Eh bien, je te ferais dire que le "détecter si on réduit la fenêtre" est tout de même important, car moi qui surconsome insertbmp (la deuxième meilleur commande externe du monde !) donc grâce à sa on peut actualiser les images, et elles ne saute donc plus. Et sa permet aussi de mettre pause à un jeu lorsque le joueur baisse la fenêtre histoire d'être plus proffesionnel.
Je viens de regarder, et je ne crois pas que batbox fournit ça.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [R] Multiples questions complexe 
TSnake41 a écrit:

C'est ça : http://dos9.org/
Tout simplement : une alternative à cmd.exe crée par Romain Garbi (Darkbatcher) avec des contributions de Teddy Astie (TSnake41).
Pour le tester, il suffit de demander à moi ou DarkBatcher (inactif en ce moment).

Merci du tuyau Okay

TSnake41 a écrit:

J'avais vu pdfelement 6.

C'est payant...

TSnake41 a écrit:

Je suis quand même curieux de savoir quelle astuce tu utilise pour faire /k et /y à la fois.

Batbox /y. *moi qui croyais que c'étais connue* Essaie ce code :

Code:

@echo off
:loop
for /f "tokens=1-3 delims=:" %%a in ('batbox /y') do (
set x=%%a
set y=%%b
set c=%%c
)
echo %x%-%y%-%c%
goto loop

Essaye de réduire la fenêtre, essaye d'appuyer sur des touche et observe.
Après, tu va me dire "ouai mais l'id des touches est longue !", moi j'ai fais une suite fonction (sa m'a pris 2heure) qui convertie l'id des touche en id normale et maintenant je réutilise cette suite de fonction dans tout mes programme donc sa me pose pas de problème :3
On sait plus quoi dire hein !

Darkbatcher a écrit:
Comme vous le savez peut être déjà, je suis le créateur de BatBox, une commande bien pratique, mais qui a ses défauts... On m'a pas mal parlé de difficultés liée au fait que BatBox n'a pas de "mémoire", et une syntaxe imbuvable. En fait, ces défauts, plutôt ennuyeux de BatBox sont liés à un impératif que je m'étais fixé, une faible taille, permettant d'inclure BatBox de façon simple dans un batch.
Dernièrement, j'ai essayé de pallié au problème de mémorisation de BatBox en introduisant un fichier qui sauve les données dont BatBox a besoin. Mais franchement, j'en suis pas très fier, c'est quand même une bonne grosse rustine qui a ses défauts Mr. Green

- Je me suis habituer a la synthaxe et pour les synthaxe trop compresser, je met le code non comprésser en commentaire donc sa me pause aucun problème.
- Bah la mémoire est palier par la compression de la synthaxe, et comme je viens de le dire, cette syntaxe ne me dérange plus.
- Et comme le dis si bien darkbatcher, batbox à une taille faible, et je trouve sa très avantageux !

DarkBatcher a écrit:
Batbox inclue maintenant la commande '/x', qui permet d'afficher des sprites produits avec la commande editor de Carlos (un des outils pour BG)

La commande éditor de carlos ? Gné ??

Citation:
- C'est à dire pas mal de limitation batbox ?

TSnake41 a écrit:
Bah, batbox ne fournit aucune équivalence au "-kbh" de darkbox ("darkbox -kbh") qui permet de savoir si des données sont disponibles dans stdin.
Dit comme ça, c'est du chinois, mais permet de faire ça par exemple (it.bat + darkbox.exe) : https://share.riseup.net/#jE_-Wt0ww4MW4aFOJg1UPg
Je doute fort que ce soit possible à faire avec batbox.

Oui, on peut aussi dire que batbox ne peut pas afficher d'image, sa n'en finis jamais.

Citation:
- Eh bien, je te ferais dire que le "détecter si on réduit la fenêtre" est tout de même important, car moi qui surconsome insertbmp (la deuxième meilleur commande externe du monde !) donc grâce à sa on peut actualiser les images, et elles ne saute donc plus. Et sa permet aussi de mettre pause à un jeu lorsque le joueur baisse la fenêtre histoire d'être plus proffesionnel.

TSnake41 a écrit:
Je viens de regarder, et je ne crois pas que batbox fournit ça.

Si si : batbox /y !!!

Mais de toute façon, je vais dans le futur à moitier abandonner batbox pour quelque chose de mille fois mieux; mais je sais pas si je suis autoriser à en dire plus :3




______________________________________________________
We're just an accident. We're just bad code. - Root
Répondre en citant
Message [R] Multiples questions complexe 
Bad-Code a écrit:
quelque chose de mille fois mieux; mais je sais pas si je suis autoriser à en dire plus :3


Qu'est-ce qui te l'interdit ?



Message [R] Multiples questions complexe 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch