Du kannst dir für das Zählen der Zahlenwerte erstmal ein array von 1-6 anlegen, z.B.
Delphi-Quellcode:
var
NumberCount : array[1..6] of Byte;
Dann gehst du in deiner Routine die 6 Panels durch und schaust über eine case-Anweisung, welche Zahl das ist und zählst den entsprechenden Index im Array hoch, zusätzlich zählst du bei einer 1 oder 5 die 100 / 50 Punkte dem TotalWert hinzu.
Dann, wenn du alle Werte hast, gehst du das "NumberCount"-Array am Schluss in einer Schleife durch und berechnest den zusätzlichen Punktewert für den Dreierpasch folgendermaßen:
((Wert des Array-Index div 3) * Augenzahl) * 100
und zählst diesen Wert pro Array-Index wieder dem Totalwert hinzu.
Für die Strasse(n) kannst du folgendermaßen vorgehen:
Vor dem Durchgehen des "Numbercount"-Arrays setzt du einen Zählerwert auf 0.
Während du das Array dann in einer Schleife durchgehst, addierst du für jeden Wert des Arrays, der ungleich 0 ist, eine 1 hinzu, bei 0 setzt du den Zählerwert wieder auf 0, da ja die "Strasse" unterbrochen wurde.
Wenn dann eine Strasse gewürfelt wurde, steht der Zähler am Schluss entweder auf 4 (kleine strasse), 5 (grosse Stasse), 6 (alle augen) oder auf einer kleineren Zahl (keine Punkte).
Dann kannst du anhand dieses Werts die entsprechenden Punkte addieren (und kannst ggf. auch für 0-3 des Zählers noch Punkte hinzufügen, falls später nötig).