Discussion forum for all Windows batch related topics.
Moderator: DosItHelp
-
Geertje123
- Posts: 4
- Joined: 15 Aug 2012 03:54
#1
Post
by Geertje123 » 15 Aug 2012 08:38
Hi guys,
I can't seem to solve this problem on my own. Every time I run it and I press '1' and 'Enter' the cmd screen just disappears (Most of the times that happens when there is an error). I think the error is somewhere in here:
if %ervaring% geq 0 & lss 100 set level=1. What am I doing wrong? Please take a look at my code:
Code: Select all
set /p menu=Optie:
if %menu% == 1 goto voorstatus
:voorstatus
cls
echo ---- Status ----
if %ervaring% geq 0 & lss 100 set level=1
if %ervaring% geq 100 & lss 250 set level=2
if %ervaring% geq 250 & lss 500 set level=3
if %ervaring% geq 500 & lss 750 set level=4
if %ervaring% geq 750 & lss 1000 set level=5
if %ervaring% geq 1000 & lss 1250 set level=6
if %ervaring% geq 1250 & lss 1500 set level=7
if %ervaring% geq 1500 & lss 1750 set level=8
if %ervaring% geq 1750 & lss 2000 set level=9
if %ervaring% geq 2000 & lss 2500 set level=10
if %ervaring% geq 2500 & lss 3000 set level=11
if %ervaring% geq 3000 & lss 3750 set level=12
goto status
:status
cls
echo ---- Status ----
Thanks,
Geertje123
-
Squashman
- Expert
- Posts: 4488
- Joined: 23 Dec 2011 13:59
#2
Post
by Squashman » 15 Aug 2012 08:46
if %ervaring% geq 0 IF %ervaring% lss 100 set level=1
-
Geertje123
- Posts: 4
- Joined: 15 Aug 2012 03:54
#3
Post
by Geertje123 » 15 Aug 2012 08:49
Squashman wrote:if %ervaring% geq 0 IF %ervaring% lss 100 set level=1
Thank you very much, it worked

But I still don't get why you don't have to use the '&'...
-
Squashman
- Expert
- Posts: 4488
- Joined: 23 Dec 2011 13:59
#4
Post
by Squashman » 15 Aug 2012 08:51
The ampersand is used to process another command after the first one is done executing. Everything after the ampersand needs to be a valid command. LSS is not a valid command.
-
Ed Dyreen
- Expert
- Posts: 1569
- Joined: 16 May 2011 08:21
- Location: Flanders(Belgium)
-
Contact:
#5
Post
by Ed Dyreen » 15 Aug 2012 09:26
'
Hey geertje, you've got a lot of redundant code in there
Code: Select all
set /p menu=Optie:
if %menu% == 1 goto voorstatus
:voorstatus
cls
echo ---- Status ----
if not defined ervaring set /a ervaring = 0
set /a level = -1 &for %%? in (
1, 100, 250, 500, 750, 1000, 1250, 1500, 1750, 2000, 2500, 3000, 3750
) do if %ervaring% lss %%~? (
set /a level += 1
)
goto status
:status
cls
echo ---- Status ----
Groetjes
ED
-
Geertje123
- Posts: 4
- Joined: 15 Aug 2012 03:54
#6
Post
by Geertje123 » 15 Aug 2012 09:42
Ed Dyreen wrote:'
Hey geertje, you've got a lot of redundant code in there
Code: Select all
set /p menu=Optie:
if %menu% == 1 goto voorstatus
:voorstatus
cls
echo ---- Status ----
if not defined ervaring set /a ervaring = 0
set /a level = -1 &for %%? in (
1, 100, 250, 500, 750, 1000, 1250, 1500, 1750, 2000, 2500, 3000, 3750
) do if %ervaring% lss %%~? (
set /a level += 1
)
goto status
:status
cls
echo ---- Status ----
Groetjes
ED
Dat ziet er goed uit. Alleen begin je nu op level 12 en als ik 20 ervaring heb wordt ik level 11 :S
-
Ed Dyreen
- Expert
- Posts: 1569
- Joined: 16 May 2011 08:21
- Location: Flanders(Belgium)
-
Contact:
#7
Post
by Ed Dyreen » 15 Aug 2012 09:56
Code: Select all
set /p menu=Optie:
if %menu% == 1 goto voorstatus
:voorstatus
cls
echo ---- Status ----
if not defined ervaring set /a ervaring = 0
set /a level = 0 &for %%? in (
0, 99, 249, 499, 749, 999, 1249, 1499, 1749, 1999, 2499, 2999, 3749
) do if %ervaring% gtr %%~? (
set /a level += 1
)
goto status
:status
cls
echo ---- Status ----
-
Geertje123
- Posts: 4
- Joined: 15 Aug 2012 03:54
#8
Post
by Geertje123 » 15 Aug 2012 10:28
Ed Dyreen wrote::oops:
Code: Select all
set /p menu=Optie:
if %menu% == 1 goto voorstatus
:voorstatus
cls
echo ---- Status ----
if not defined ervaring set /a ervaring = 0
set /a level = 0 &for %%? in (
0, 99, 249, 499, 749, 999, 1249, 1499, 1749, 1999, 2499, 2999, 3749
) do if %ervaring% gtr %%~? (
set /a level += 1
)
goto status
:status
cls
echo ---- Status ----
Helemaal top! Werkt prima! Wil je versie 0.3 van het spel zien waar dit in zit?
http://www.mediafire.com/?25lunvyq56tggtu. Het spel werkt al redelijk goed, maar ik ga er nog veel meer aan toevoegen natuurlijk. dit is alleen de basis. ps. Fabrieken werken niet omdat ik die nog niet gemaakt heb. De ping berichten bij het opslaan zijn vor het vertragen. als het te snel gaat vangt het bestand de helft van de tekst die in zeg datie erin moet zetten niet op.
Ik ben nog maar een beginnende programmeur en batch/dos is een simpele taal om mee te beginnen

-
Ed Dyreen
- Expert
- Posts: 1569
- Joined: 16 May 2011 08:21
- Location: Flanders(Belgium)
-
Contact:
#9
Post
by Ed Dyreen » 15 Aug 2012 10:47
'
I've downloaded it and it works, so far
