Kategorie: Programmierung
RSS

Die Siedler von Catan – Spielstrategie

2010-05-16 von admin

Ab und an spiele ich das Brettspiel „Die Siedler von Catan„. Am Anfang des Spiels kommt es darauf an seine „Spielfiguren“ auf der Karte strategisch zu plazieren.

Im Spiel wird mit zwei Würfeln gewürfelt. Besitzt man z.B. eine Siedlung die an einem Feld angrenzt, welches die Summe der beiden Würfel abbildet, erhält der Spieler den entsprechenden Rohstoff.

Interessant hierbei sind die Zahlen. Zwei Würfel bedeutet:
Augenpaare zwischen 2 und 12 sind möglich (2,3,4,5,6,7,8,9,10,11,12). Das Augenpaar 1 ist nicht möglich, da wir mit 2 Würfeln spielen ;).

Nun stellt sich die Frage, wie wahrscheinlich wird welche Zahl (Summe beider Augen auf dem Würfel) gewürfelt.

Da von Hand ausrechnen keinerlei Spaß bringt, habe ich hier ein kleines Java Programm geschrieben.

Click to Download

Ergebnis:

Augenzahl: 7 Würfelkombinationen: 6 Wahrscheinlichkeit: 16,67 %
Augenzahl: 6 Würfelkombinationen: 5 Wahrscheinlichkeit: 13,89 %
Augenzahl: 8 Würfelkombinationen: 5 Wahrscheinlichkeit: 13,89 %
Augenzahl: 5 Würfelkombinationen: 4 Wahrscheinlichkeit: 11,11 %
Augenzahl: 9 Würfelkombinationen: 4 Wahrscheinlichkeit: 11,11 %
Augenzahl: 4 Würfelkombinationen: 3 Wahrscheinlichkeit: 8,33 %
Augenzahl: 10 Würfelkombinationen: 3 Wahrscheinlichkeit: 8,33 %
Augenzahl: 3 Würfelkombinationen: 2 Wahrscheinlichkeit: 5,56 %
Augenzahl: 11 Würfelkombinationen: 2 Wahrscheinlichkeit: 5,56 %
Augenzahl: 2 Würfelkombinationen: 1 Wahrscheinlichkeit: 2,78 %
Augenzahl: 12 Würfelkombinationen: 1 Wahrscheinlichkeit: 2,78 %

Die Zahl 7 entfällt, da es hierfür kein Feld gibt und der Räuber auf den Plan tritt. :)

D. h. in Zukunft werde ich meine Siedlungen an den Feldern mit der Nummer 6, 8, 5, 9 platzieren.

Kategorie: Allgemein, IT, Programmierung Schlagwörter: , ,

Excel (VBA): Bildschirmauflösung auslesen

2010-02-20 von admin

Für ein VBA-Script habe ich die aktuelle Bildschirmauflösung benötigt. Die implementierte Funktion sieht wie folgt aus.

Option Explicit
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1

Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Public Function ScreenResolution()

    Dim x As Integer
    Dim y As Integer

    x = GetSystemMetrics(SM_CXSCREEN)
    y = GetSystemMetrics(SM_CYSCREEN)

   ScreenResolution = x & " : " & y

End Function

Hier eine Beispieldatei zum Download: Example File

Kategorie: Programmierung Schlagwörter: , ,

StartUp Script

2009-12-12 von admin

Häufig wiederkehrende Arbeiten beim Starten meines Arbeitsrechners haben mich dazu veranlasst ein Script zu erstellen, welches mir die stupiden Arbeiten abnimmt. Nichts besonderes, aber evtl. kann es irgendjemand gebrauchen.

Download: StartUp.vbs

Quellcode:

call init()

Sub init()

Dim strPassword, strUser, strDomain

strUser = ""
strDomain = ""
strPassword = InputBox("Password:")

'mount network drives
mountDrive "Z", "\\servername\folder", strDomain, strUser, strPassword
mountDrive "Y", "\\servername\folder", strDomain, strUser, strPassword

'run apps
Set sd = CreateObject("Wscript.shell")
sd.Run "%SystemRoot%\explorer.exe /n, /e, D:\"
sd.Run "D:\Programme\ProcessExplorer\procexp.exe"
sd.Run "firefox.exe -new-tab http://www.wantedlink.de"

End Sub

Sub mountDrive(driveletter, server, domian, user, pw)

Dim wshnet

Set wshnet = CreateObject("WScript.Network")
WshNet.MapNetworkDrive driveletter & ":", server , false, domian & "\" & user, pw

Set wshnet = Nothing

End Sub

Beschreibung:

Im Abschnitt „‚mount network drives“ können die anzubindenden Netzwerklaufwerke eingetragen werden.
Falls kein Username und Passwort erforderlich sein sollte, dann muss dieser Teil gelöscht werden.

Dim strPassword, strUser, strDomain

strUser = ""
strDomain = ""
strPassword = InputBox("Password:")

und jeweils das hier

, strDomain, strUser, strPassword

Im Abschnitt „‚run apps“ sind alle die Anwendungen eingetragen, die gestartet werden sollen.