Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Random einstellen

Frage Entwicklung Batch & Shell

Mitglied: 94502

94502 (Level 1)

15.10.2010 um 13:11 Uhr, 2621 Aufrufe, 8 Kommentare

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
Mitglied: mathe172
15.10.2010 um 13:23 Uhr
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
01.
set /a Buchstabe=%random%%2 
02.
if %Buchstabe%=0 set Buchstabe=A 
03.
if %Buchstabe%=1 set Buchstabe=B 
04.
if %Buchstabe%=2 set Buchstabe=C 
05.
set /a Zahl=%random%%2+1 
06.
set Ort=%Buchstabe%%Zahl%
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]
Bitte warten ..
Mitglied: Friemler
15.10.2010 um 13:33 Uhr
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:
01.
set /a Buchstabe=%random% %% 3
Zitat von mathe172:
Wenn nicht mache vor die zweier in Zeile 1 und 5 noch ein "%"

Das muss er machen, im Batch muss ein %-Zeichen verdoppelt werden.

Gruß
Friemler
Bitte warten ..
Mitglied: 94502
15.10.2010 um 14:25 Uhr
Klappt immer noch nicht, der PC sagt, dass "=0" an dieser Stelle nicht verarbeitbar ist
Bitte warten ..
Mitglied: mathe172
15.10.2010 um 15:02 Uhr
@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
Bitte warten ..
Mitglied: 94502
15.10.2010 um 15:13 Uhr
Jetzt funktionirts überhaupt nicht mehr, es folgt immer nur das selbe egal was man eingibt
Bitte warten ..
Mitglied: mathe172
15.10.2010 um 19:27 Uhr
Schreib mal deinen Code hin (zwischen < code> und </code>``!)

Mathe172
Bitte warten ..
Mitglied: Friemler
15.10.2010 um 20:40 Uhr
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.

Füttert nicht die Trolle!

(Mist, jetzt hab' ich es auch gemacht )

Gruß
Friemler
Bitte warten ..
Mitglied: mrtux
16.10.2010 um 00:46 Uhr
Guten Abend,

...Und schon wieder was für Biber's Papierkorb...

mrtux
Bitte warten ..
Ähnliche Inhalte
Windows Netzwerk
gelöst Cipher Suite Einstellen (2)

Frage von Patrick-IT zum Thema Windows Netzwerk ...

Windows Server
Server 2012 Festplatte dauereinsatz Einstellen (5)

Frage von Stefan2402 zum Thema Windows Server ...

E-Mail
gelöst SPF richtig Einstellen (3)

Frage von MS6800 zum Thema E-Mail ...

Windows Netzwerk
Einstellen, welche Drucker per RDP durchverbunden werden (4)

Frage von freenode zum Thema Windows Netzwerk ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...