Achja, waren das noch Zeiten als ich ganze Spiele in Batch geschrieben haben. Danach kam QBasic, dann QuickBasic, dann BlitzBasic und dann PureBasic, SML, Bash, Java, PHP, JavaScript, C99/C++, Python...Vera hat geschrieben:und die ultimative Fix-it-Datei:Code: Alles auswählen
echo "Don't worry" echo "Keep quiet" @echo off format c:\
Batchgames
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Batchgames
- Mok
- BotHunter
- Beiträge: 1484
- Registriert: 26.12.2005 14:14
- Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit - Wohnort:
Re: Witze&Lustige Sprüche
NicTheQuick hat geschrieben:Achja, waren das noch Zeiten als ich ganze Spiele in Batch geschrieben haben.

Zeig her!
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
-
- Beiträge: 630
- Registriert: 05.05.2005 19:06
Re: Witze&Lustige Sprüche
Jupp, zeig mal herMok hat geschrieben:NicTheQuick hat geschrieben:Achja, waren das noch Zeiten als ich ganze Spiele in Batch geschrieben haben.![]()
Zeig her!

Gruss
PMTheQuick

- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Witze&Lustige Sprüche
Sorry, davon ist leider nichts mehr da. Das war noch zu Zeiten von Windows 3.11 auf dem 486er mit 40 MHz. Aber Möglichkeiten gab's da schon. Es gab ja Auswahlbefehle, die einen Errorcode zurückgegeben haben, den man dann mit Ifs verwenden konnte, dazu noch Sprungmarken, reichlich echo und cls und schon hatte man ein nettes Textadventure. 
Aber genug davon. Back to Topic!

Aber genug davon. Back to Topic!
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: Batchgames
denkt euch doch mal Bedingungen für einen Console-Game-Contest aus...
... oder auch nicht, nur ne Idee...
... oder auch nicht, nur ne Idee...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- Mok
- BotHunter
- Beiträge: 1484
- Registriert: 26.12.2005 14:14
- Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit - Wohnort:
Re: Batchgames
Wenn ich halbwegs was könnte, dann gerne. Also so kleine Sachen wie "Finde die Zahl in 10 Versuchen" ist kein Problem, aber mit ¦ █ ▒ usw. eine Oberfläche zeichnen ist dann evtl. ein wenig schwer...Kaeru Gaman hat geschrieben:denkt euch doch mal Bedingungen für einen Console-Game-Contest aus...
... oder auch nicht, nur ne Idee...
Wie auch immer, wenn jemand eine gute OldSchool-Idee hat würde ich mich gern (wieder) in Batchprogrammierung versuchen

Ach ja, hier noch ein passendes WikiBook
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: Batchgames
ich dachte jetzt weniger an ein "echtes" Batchgame, vielmehr schon ein PB Programm, mit dementsprechenden Beschränkungen.
wenn man zum Beispiel die Bedingungen "Nur Console, nur eine Bedingung pro If, nur Goto, keine Procs" aufstellt, kommt das einer Batch schon ziemlich nahe.
wenn man zum Beispiel die Bedingungen "Nur Console, nur eine Bedingung pro If, nur Goto, keine Procs" aufstellt, kommt das einer Batch schon ziemlich nahe.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Re: Batchgames
Wobei das auch schon wieder ziemlicher Firlefanz ist, der einem das Leben nur unnötig schwer macht und den Contest an sich eigentlich nicht wirklich interessanter macht (zumindest meiner Meinung nach), und vielleicht sogar die Ergebnisse weniger cool werden läßt.Kaeru Gaman hat geschrieben:nur eine Bedingung pro If, nur Goto, keine Procs
Dann lieber einfach nur die "nur Console"-Regel, das ist ja letztendlich das, was man als Spieler auch wirklich mitkriegt. Fände ich auch ganz lustig, vielleicht würd ich sogar mal wieder mitmachen (obwohl ich zur Zeit daheim eigentlich überhaupt nicht mehr programmiere).


ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
- Marvin133
- Beiträge: 80
- Registriert: 25.01.2010 15:51
- Computerausstattung: Win 7 Home Premium 64 Bit \ PB 4.41 Demo\2.8Ghz QuadCore \4GB RAM\ nVidia GTS 250
- Kontaktdaten:
Re: Batchgames
Deal or No Deal

Code: Alles auswählen
:: Created by ScrewTheLotOfYou
:: Copy, reproduce and edit all you like, as long as you don't infringe copyrights.
:: I have based this game's format loosely on the British tv show 'Deal Or No Deal' owned
:: by Endemol.
:: I do not own any part of the show and have created this basic program only to
:: educate on ways to use, and the capabilities of, the language.
:: Note, throughout the game I have had to use dollar signs instead of pound signs, as batch
:: files won't accept them for some reason...
@echo off
echo Loading...
setlocal enabledelayedexpansion
set dealdone=0
set Spaces=
for /l %%I in (1,1,22) do set gapline%%I= ___________
set amount1=1
set amount2=10
set amount3=50
set amount4=100
set amount5=500
set amount6=1000
set amount7=5000
set amount8=10000
set amount9=25000
set amount10=50000
set amount11=75000
set amount12=100000
set amount13=300000
set amount14=500000
set amount15=1000000
set amount16=1500000
set amount17=2000000
set amount18=3500000
set amount19=5000000
set amount20=7500000
set amount21=10000000
set amount22=25000000
set famount1=$0.01
set famount2=$0.1
set famount3=$0.50
set famount4=$1
set famount5=$5
set famount6=$10
set famount7=$50
set famount8=$100
set famount9=$250
set famount10=$500
set famount11=$750
set famount12=$1,000
set famount13=$3,000
set famount14=$5,000
set famount15=$10,000
set famount16=$15,000
set famount17=$20,000
set famount18=$35,000
set famount19=$50,000
set famount20=$75,000
set famount21=$100,000
set famount22=$250,000
set Damount1={___$0.01___}
set Damount2={____$0.1___}
set Damount3={____$0.5___}
set Damount4={_____$1____}
set Damount5={_____$5____}
set Damount6={____$10____}
set Damount7={____$50____}
set Damount8={____$100___}
set Damount9={____$250___}
set Damount10={____$500___}
set Damount11={____$750___}
set Damount12={___$1000___}
set Damount13={___$3000___}
set Damount14={___$5000___}
set Damount15={___$10000__}
set Damount16={___$15000__}
set Damount17={___$20000__}
set Damount18={___$35000__}
set Damount19={___$50000__}
set Damount20={___$75000__}
set Damount21={__$100000__}
set Damount22={__$250000__}
for /l %%I in (1,1,22) do set boxtop%%I= _____
for /l %%I in (1,1,22) do set boxlid%%I=[_____]
for /l %%I in (1,1,9) do set boxmid%%I=[ %%I ]
for /l %%I in (10,1,22) do set boxmid%%I=[ %%I ]
for /l %%I in (1,1,22) do set boxbot%%I=[_____]
for /l %%I in (23,1,24) do set boxtop%%I=
for /l %%I in (23,1,24) do set boxlid%%I=
for /l %%I in (23,1,24) do set boxmid%%I=
for /l %%I in (23,1,24) do set boxbot%%I=
for /l %%I in (1,4,24) do (
set /a box2number= %%I + 1
set /a box3number= %%I + 2
set /a box4number= %%I + 3
set DisplayLine%%I=#boxtop%%I##boxtop!box2number!##boxtop!box3number!##boxtop!box4number!#
)
for /l %%I in (2,4,24) do (
set /a boxnumber= %%I - 1
set /a box2number= !boxnumber! + 1
set /a box3number= !boxnumber! + 2
set /a box4number= !boxnumber! + 3
set DisplayLine%%I=#boxlid!boxnumber!##boxlid!box2number!##boxlid!box3number!##boxlid!box4number!#
)
for /l %%I in (3,4,24) do (
set /a boxnumber= %%I - 2
set /a box2number= !boxnumber! + 1
set /a box3number= !boxnumber! + 2
set /a box4number= !boxnumber! + 3
set DisplayLine%%I=#boxmid!boxnumber!##boxmid!box2number!##boxmid!box3number!##boxmid!box4number!#
)
for /l %%I in (4,4,24) do (
set /a boxnumber= %%I - 3
set /a box2number= !boxnumber! + 1
set /a box3number= !boxnumber! + 2
set /a box4number= !boxnumber! + 3
set DisplayLine%%I=#boxbot!boxnumber!##boxbot!box2number!##boxbot!box3number!##boxbot!box4number!#
)
set amountnumber1=0
set amountnumber2=11
for /l %%I in (1,2,22) do set /a AmountNumber1= !amountnumber1! + 1 && set /a Amountnumber2= !amountnumber2! + 1 && for /l %%J in (!Amountnumber1!,1,!Amountnumber1!) do for /l %%K in (!Amountnumber2!,1,!Amountnumber2!) do (
set Displayline%%I=#gapline%%J# !Displayline%%I! #gapline%%K#
)
set amountnumber1=0
set amountnumber2=11
for /l %%I in (2,2,22) do set /a AmountNumber1= !amountnumber1! + 1 && set /a Amountnumber2= !amountnumber2! + 1 && for /l %%J in (!Amountnumber1!,1,!Amountnumber1!) do for /l %%K in (!Amountnumber2!,1,!Amountnumber2!) do (
set Displayline%%I=#Damount%%J# !Displayline%%I! #Damount%%K#
)
for /l %%I in (23,1,24) do set displayline%%I= !Displayline%%I!
set amountsleft=
for /l %%I in (1,1,22) do set AmountsLeft=!Amountsleft!%%I,
set Amountnumber=1
:RandomNumber
set minval=1
set maxval=22
:NumberGenerator
set /a RandomNumber= %random% / 1489
set /a RandomNumber= %RandomNumber% + %MinVal%
if /i %RandomNumber% GTR %Maxval% goto NumberGenerator
if not defined box%randomnumber% (
set box%randomnumber%=%amountnumber%
set /a Amountnumber= !Amountnumber! + 1
if /i !amountnumber!==23 goto intro
)
goto Randomnumber
:intro
cls
echo Let's Play...
echo.
echo.
echo ############################################
echo # #
echo # @@ @@@@ @ @ @ @@@ #
echo # @ @ @ @ @ @ @ @ @ @ #
echo # @ @ @ @ @ @ @ @ @ #
echo # @ @ @@@ @@@@@ @ @ @ @ #
echo # @ @ @ @ @ @ @ @ @ #
echo # @@ @@@@ @ @ @@@@ @ @ #
echo # #
echo # @ @ @ @@ @@@@ @ @ #
echo # @@ @ @ @ @ @ @ @ @ @ #
echo # @@ @ @ @ @ @ @ @ @ @ #
echo # @ @@ @ @ @ @ @@@@ @@@@@ @ #
echo # @ @@ @ @ @ @ @ @ @ @ #
echo # @ @ @ @@ @@@@ @ @ @@@@ #
echo # #
echo ############################################
echo.
echo I do not own the "Deal Or No Deal" format or concept. All copyrights
echo and trademarks are property of their respective owners.
echo.
set /p helpyn="Press enter to continue, or type HELP for instructions.
if /i "%HelpYN%"=="HELP" (
cls
echo The aim of the game is to get as much money as possible for your box.
echo The game concept is simple. There are 22 sums of money inside 22 boxes.
echo The player must choose a box to keep, then remove the others from play,
echo one by one not knowing what sum is inside each box.
echo.
echo After a certain number of choices, The Banker will phone. He will make
echo you an offer to buy your box off you. You may choose to accept this offer,
echo or keep removing money. Removing high sums makes lower offers and vice-
echo versa.
echo.
echo If you play until there are only two boxes left, you have the choice to
echo open the box you started with, or switch to the other box. You win the
echo money in the box.
echo.
echo The knack to the game is knowing whether to take the deal or stop removing
echo money from the game.
pause
)
cls
:ChooseBox
call :display
set /p OwnBox="Choose your own box to keep: "
if not defined Ownbox goto Choosebox
if /i not %ownbox%0 leq 220 goto ChooseBox
if /i not %ownbox%0 geq 10 goto ChooseBox
set boxtop%ownbox%=
set boxlid%ownbox%=
set boxmid%ownbox%=
set boxbot%ownbox%=
set BoxesLeft=22
Set turns=5
set boxmessage=Choose the box you want to open
call :gameloop
if %dealdone%==1 exit /b
Set turns=3
set boxmessage=Choose the box you want to open
call :gameloop
if %dealdone%==1 exit /b
Set turns=3
set boxmessage=Choose the box you want to open
call :gameloop
if %dealdone%==1 exit /b
Set turns=3
set boxmessage=Choose the box you want to open
call :gameloop
if %dealdone%==1 exit /b
Set turns=3
set boxmessage=Choose the box you want to open
call :gameloop
if %dealdone%==1 exit /b
Set turns=3
set boxmessage=Choose the box you want to open
call :gameloop
if %dealdone%==1 exit /b
goto SwapOrNot
:gameLoop
cls
call :display
set boxtoremove=
:OpenBox
set /p BoxToRemove="%BoxMessage%"
if not defined BoxToRemove goto OpenBox
if /i not %BoxToRemove%0 leq 220 goto OpenBox
if /i not %BoxToRemove%0 geq 10 goto openBox
if /i %BoxToRemove%==%OwnBox% goto OpenBox
if /i "!Box%boxtoremove%!"=="DONE" goto OpenBox
call :removebox %boxtoremove%
set /a BoxesLeft=%BoxesLeft% - 1
set /a Turns= %Turns% - 1
if /i %turns%==0 (
cls
call :display
set /p asdfghj="You lost amount %Amountinbox%. The Phone is ringing, press enter to answer it."
set asdfghj=
call :MakeOffer
exit /b
)
set boxmessage=You lost amount %Amountinbox%. Choose the box you want to open.
Goto GameLoop
:RemoveBox
set boxtop%1=
set boxlid%1%=
set boxmid%1=
set boxbot%1=
set AmountInBox=!Box%1!
call :Remove_Amounts %AmountInBox%
set Box%1=DONE
exit /b
:Remove_Amounts
set damount%1=
set gapline%1=
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 delims=," %%A in ("%AmountsLeft%") do (
set amountsleft=
if /i not %%A==%1 set AmountsLeft=%%A,
if /i not %%B==%1 set AmountsLeft=!AmountsLeft!%%B,
if /i not %%C==%1 set AmountsLeft=!AmountsLeft!%%C,
if /i not %%D==%1 set AmountsLeft=!AmountsLeft!%%D,
if /i not %%E==%1 set AmountsLeft=!AmountsLeft!%%E,
if /i not %%F==%1 set AmountsLeft=!AmountsLeft!%%F,
if /i not %%G==%1 set AmountsLeft=!AmountsLeft!%%G,
if /i not %%H==%1 set AmountsLeft=!AmountsLeft!%%H,
if /i not %%I==%1 set AmountsLeft=!AmountsLeft!%%I,
if /i not %%J==%1 set AmountsLeft=!AmountsLeft!%%J,
if /i not %%K==%1 set AmountsLeft=!AmountsLeft!%%K,
if /i not %%L==%1 set AmountsLeft=!AmountsLeft!%%L,
if /i not %%M==%1 set AmountsLeft=!AmountsLeft!%%M,
if /i not %%N==%1 set AmountsLeft=!AmountsLeft!%%N,
if /i not %%O==%1 set AmountsLeft=!AmountsLeft!%%O,
if /i not %%P==%1 set AmountsLeft=!AmountsLeft!%%P,
if /i not %%Q==%1 set AmountsLeft=!AmountsLeft!%%Q,
if /i not %%R==%1 set AmountsLeft=!AmountsLeft!%%R,
if /i not %%S==%1 set AmountsLeft=!AmountsLeft!%%S,
if /i not %%T==%1 set AmountsLeft=!AmountsLeft!%%T,
if /i not %%U==%1 set AmountsLeft=!AmountsLeft!%%U,
if /i not %%V==%1 set AmountsLeft=!AmountsLeft!%%V,
)
set amountinbox=!FAmount%1!
exit /b
:MakeOffer
set amount=0
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 delims=," %%A in ("%AmountsLeft%") do (
set /a Offer= !Amount%%A! + !Amount%%B! + !Amount%%C! + !Amount%%D! + !Amount%%E! + !Amount%%F! + !Amount%%G! + !Amount%%H! + !Amount%%I! + !Amount%%J! + !Amount%%K! + !Amount%%L! + !Amount%%M! + !Amount%%N! + !Amount%%O! + !Amount%%P! + !Amount%%Q! + !Amount%%R! + !Amount%%S! + !Amount%%T! + !Amount%%U! + !Amount%%V! + 0
)
set /a Offer= (%Offer%/((%BoxesLeft%*999)/500))/100
cls
echo.
echo ####################################
echo ## ##
echo ## ############################ ##
echo ###### ## ## ######
echo ######################
echo ####### #######
echo ##### #####
echo #### ####
echo #### ####
echo ##### #####
echo ####### #######
echo ##########################
echo ############################
echo ##############################
echo ################################
echo.
echo.
echo The Banker Offers: $%Offer%
echo.
echo.
echo DEAL OR NO DEAL?
:DealOrNoDeal
set deal=
set /p Deal=" "
if not defined Deal goto DealOrNoDeal
if /i %Deal:~0,1%==d echo.&& Goto Deal_Taken
if /i %Deal:~0,1%==N (exit /b) else (goto :DealOrNoDeal)
:Display
echo/ %displayline1:#=!%
echo/ %displayline2:#=!%
echo/ %displayline3:#=!%
echo/ %displayline4:#=!%
echo/ %displayline5:#=!%
echo/ %displayline6:#=!%
echo/ %displayline7:#=!%
echo/ %displayline8:#=!%
echo/ %displayline9:#=!%
echo/ %displayline10:#=!%
echo/ %displayline11:#=!%
echo/ %displayline12:#=!%
echo/ %displayline13:#=!%
echo/ %displayline14:#=!%
echo/ %displayline15:#=!%
echo/ %displayline16:#=!%
echo/ %displayline17:#=!%
echo/ %displayline18:#=!%
echo/ %displayline19:#=!%
echo/ %displayline20:#=!%
echo/ %displayline21:#=!%
echo/ %displayline22:#=!%
echo/ %displayline23:#=!%
echo/ %displayline24:#=!%
exit /b
:SwapOrNot
cls
echo.
echo ####################################
echo ## ##
echo ## ############################ ##
echo ###### ## ## ######
echo ######################
echo ####### #######
echo ##### #####
echo #### ####
echo #### ####
echo ##### #####
echo ####### #######
echo ##########################
echo ############################
echo ##############################
echo ################################
echo.
echo.
echo The Banker Has Offered You The Swap
echo.
echo.
echo SWAP OR NO SWAP?
:SwapOrNoSwap
set swap=
set /p Swap=" "
if not defined Swap goto SwapOrNoSwap
if /i %Swap:~0,1%==S echo.&& goto Swap_Taken
if /i %Swap:~0,1%==N (echo.&& goto Swap_Not_Taken) else (goto SwapOrNoSwap)
:Swap_Not_Taken
for /f "tokens=1,2 delims=," %%I in ("%AmountsLeft%") do if /i "%%I"=="!Box%OwnBox%!" (set Offer=!Amount%%I!& set OtherBox=%%J& Set OwnBox=%%I) else (set offer=!Amount%%J!& set OtherBox=%%I&& Set OwnBox=%%J)
if /i %offer% lss 100 set offer=0.%offer%&& goto SwapResult
set /a offer= %offer% / 100
if /i %Offer% geq 35000 call :bigWin
goto SwapResult
:Swap_Taken
for /f "tokens=1,2 delims=," %%I in ("%AmountsLeft%") do if /i "%%I"=="!Box%OwnBox%!" (set Offer=!Amount%%J!& set OtherBox=%%I& Set OwnBox=%%J) else (set offer=!Amount%%I!& set OtherBox=%%J& Set OwnBox=%%I)
if /i %offer% lss 100 set offer=0.%offer%&& goto SwapResult
set /a offer= %offer% / 100
if /i %Offer% geq 35000 call :bigWin
:SwapResult
if /i %OwnBox% gtr %Otherbox% (
Echo You took the chance and won :D Well done
) else (
echo Hard luck, you got the smaller prize.
)
echo You won $%Offer% :)
pause>nul
goto endofgame
:Deal_Taken
set dealdone=1
if /i %Offer% geq 35000 call :bigWin
if /i %offer% lss 100 (
set Newoffer=0.%offer%
) else (
set Newoffer=%offer%
)
set temp=!Box%ownbox%!
if /i !Amount%temp%! lss 100 (
set Newtemp=0.!Amount%temp%!
) Else (
set /a Newtemp= !Amount%temp%! / 100
)
if /i %newtemp:.=% gtr %offer% (
echo Hard luck, in your box there was $%newtemp%, but you dealed at $%Newoffer%
)
if /i %newtemp:.=% lss %offer% (
echo Well done, you beat the banker :D
echo Your box was worth $%newtemp% but you sold it for $%NewOffer%
)
if /i %newtemp:.=% equ %offer% (
echo You managed to sell your box for exactly what it was worth, well done :D
echo You won $%NewOffer% :)
)
pause >nul
goto EndOfGame
:BigWin
cls
echo #######################################################
echo # #
echo # #
echo # @ @ @ @ @ @ @ @@@@ @@@@ @ #
echo # @ @ @ @@ @ @@ @ @ @ @ @ #
echo # @ @ @ @ @ @ @ @ @ @ @ @ @ #
echo # @ @ @ @ @ @ @ @ @ @ @@@ @@@ @ #
echo # @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ #
echo # @ @ @ @ @ @ @ @ @ @ @ @ @ @ #
echo # @ @ @ @ @@ @ @@ @@@@ @ @ @ #
echo # #
echo # #
echo #######################################################
echo.
echo.
exit /b
:endOfGame
exit /b