
94502
15.10.2010
Random einstellen
Guten Tag
ich habe mir eine art mini Schiffeversenken mit batch programmiert
hier der Code
@echo off
Title Schiffeversenken
echo Setze die schiffe(1-3 A-C) (z.b.A1)
set /p schiff1=
echo Setze die schiffe(1-3 A-C) (z.b.A1)
set /p schiff2=
set schiff3=B3
set schiff4=B1
:x
echo Schieß(z.b.A1)
set /p schuss1=
if %schuss1%==%schiff4% goto 10
if %schuss1%==%schiff3% goto 10
echo wasser
set schuss2=A1
if %schuss2%==%schiff1% goto 01
if %schuss2%==%schiff2% goto 01
echo wasser
goto x
:10
echo Schieß(z.b.A1)
set /p schuss3=
if %schuss3%==%schiff4% goto 20
if %schuss3%==%schiff3% goto 20
echo wasser
set schuss4=B1
if %schuss4%==%schiff1% goto 11
if %schuss4%==%schiff2% goto 11
echo wasser
goto 10
:01
echo Schieß(z.b.A1)
set /p schuss5=
if %schuss5%==%schiff4% goto 11
if %schuss5%==%schiff3% goto 11
echo wasser
set schuss6=B2
if %schuss6%==%schiff1% goto 02
if %schuss6%==%schiff2% goto 02
echo wasser
goto 01
:11
echo Schieß(z.b.A1)
set /p schuss7=
if %schuss7%==%schiff4% goto Start21
if %schuss7%==%schiff3% goto Start21
echo wasser
set schuss8=B3
if %schuss8%==%schiff1% goto Start12
if %schuss8%==%schiff2% goto Start12
echo wasser
goto 11
:20
echo Toll gewonnen
pause
Exit
:21
echo knapp gewonnen
pause
Exit
:12
echo knapp verloren
pause
Exit
:02
echo schade verloren
pause
Exit
nun meine : in diesem beispiel sind die schüsse und schiffe des gegners festgelegt kann man %Random% vielleicht so einstellen, dass statt irgend einer zahl %Random% gegen A1,A2,A3,B1,B2,B3,C1,C2 oder C3 ersetzt wird
ich habe mir eine art mini Schiffeversenken mit batch programmiert
hier der Code
@echo off
Title Schiffeversenken
echo Setze die schiffe(1-3 A-C) (z.b.A1)
set /p schiff1=
echo Setze die schiffe(1-3 A-C) (z.b.A1)
set /p schiff2=
set schiff3=B3
set schiff4=B1
:x
echo Schieß(z.b.A1)
set /p schuss1=
if %schuss1%==%schiff4% goto 10
if %schuss1%==%schiff3% goto 10
echo wasser
set schuss2=A1
if %schuss2%==%schiff1% goto 01
if %schuss2%==%schiff2% goto 01
echo wasser
goto x
:10
echo Schieß(z.b.A1)
set /p schuss3=
if %schuss3%==%schiff4% goto 20
if %schuss3%==%schiff3% goto 20
echo wasser
set schuss4=B1
if %schuss4%==%schiff1% goto 11
if %schuss4%==%schiff2% goto 11
echo wasser
goto 10
:01
echo Schieß(z.b.A1)
set /p schuss5=
if %schuss5%==%schiff4% goto 11
if %schuss5%==%schiff3% goto 11
echo wasser
set schuss6=B2
if %schuss6%==%schiff1% goto 02
if %schuss6%==%schiff2% goto 02
echo wasser
goto 01
:11
echo Schieß(z.b.A1)
set /p schuss7=
if %schuss7%==%schiff4% goto Start21
if %schuss7%==%schiff3% goto Start21
echo wasser
set schuss8=B3
if %schuss8%==%schiff1% goto Start12
if %schuss8%==%schiff2% goto Start12
echo wasser
goto 11
:20
echo Toll gewonnen
pause
Exit
:21
echo knapp gewonnen
pause
Exit
:12
echo knapp verloren
pause
Exit
:02
echo schade verloren
pause
Exit
nun meine : in diesem beispiel sind die schüsse und schiffe des gegners festgelegt kann man %Random% vielleicht so einstellen, dass statt irgend einer zahl %Random% gegen A1,A2,A3,B1,B2,B3,C1,C2 oder C3 ersetzt wird
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 153131
Url: https://administrator.de/forum/random-einstellen-153131.html
Ausgedruckt am: 18.04.2025 um 07:04 Uhr
8 Kommentare
Neuester Kommentar
Ist jetzt nicht böse gemeint aber ist dir eigentlich langweilig dass du pro Tag drei neue Beiträge machst?
Jetzt zu deiner Frage:
Mit
sollte es gehen. (Wenn nicht mache vor die zweier in Zeile 1 und 5 noch ein "%")
Mathe172
[edit] Ich würde jetzt statt den ganzen einzellnen Schussvariablen das machen:
erste Zeile=@echo off & setlocal enabledelayedexpansion
Und dann eine (fast-)Endlosschleife: (Achtung: In der Schleife bei allen Variablen ausser %%a das "!" Verwenden,also z.B. !Schuss1!)
for /l %%a in (1,1,100) do(
...
)
Die Schussvariablen würde ich so machen:
set "Schuss%%a=..."
echo !Schuss%%a!
[/edit]
Jetzt zu deiner Frage:
Mit
set /a Buchstabe=%random%%2
if %Buchstabe%=0 set Buchstabe=A
if %Buchstabe%=1 set Buchstabe=B
if %Buchstabe%=2 set Buchstabe=C
set /a Zahl=%random%%2+1
set Ort=%Buchstabe%%Zahl%
Mathe172
[edit] Ich würde jetzt statt den ganzen einzellnen Schussvariablen das machen:
erste Zeile=@echo off & setlocal enabledelayedexpansion
Und dann eine (fast-)Endlosschleife: (Achtung: In der Schleife bei allen Variablen ausser %%a das "!" Verwenden,also z.B. !Schuss1!)
for /l %%a in (1,1,100) do(
...
)
Die Schussvariablen würde ich so machen:
set "Schuss%%a=..."
echo !Schuss%%a!
[/edit]
Hallo Mathe,
Du machst Deinem Nickname aber keine Ehre
, bei einer Modulo-Operation mit 2 kann nur 0 oder 1 herauskommen, niemals 2. Es muss also heissen:
Das muss er machen, im Batch muss ein %-Zeichen verdoppelt werden.
Gruß
Friemler
Du machst Deinem Nickname aber keine Ehre
set /a Buchstabe=%random% %% 3
Das muss er machen, im Batch muss ein %-Zeichen verdoppelt werden.
Gruß
Friemler
@Friemler: Ich war wohl zu schnell beim Tippen
und hab offensichtlich nicht wirklich überlegt...
@a140....:Entschuldigung, mein Fehler, arbeite wohl zuviel mit vb.net.... Bei den if-Vergleichen müssen zwei "=" hin...
Mathe172
@a140....:Entschuldigung, mein Fehler, arbeite wohl zuviel mit vb.net.... Bei den if-Vergleichen müssen zwei "=" hin...
Mathe172
Hallo Mathe,
vergiss den Typen, das ist ein Troll, bestenfalls als Pausenclown zu gebrauchen. So dämlich kann kein Mensch unter Gottes weitem Himmel sein, wie er sich hier präsentiert. Sein Verhalten ist meiner Meinung nach Absicht, damit er Aufmerksamkeit bekommt um sein mickriges Selbstbewusstsein zu stärken.
(Mist, jetzt hab' ich es auch gemacht
)
Gruß
Friemler
vergiss den Typen, das ist ein Troll, bestenfalls als Pausenclown zu gebrauchen. So dämlich kann kein Mensch unter Gottes weitem Himmel sein, wie er sich hier präsentiert. Sein Verhalten ist meiner Meinung nach Absicht, damit er Aufmerksamkeit bekommt um sein mickriges Selbstbewusstsein zu stärken.
Füttert nicht die Trolle!
(Mist, jetzt hab' ich es auch gemacht Gruß
Friemler