AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Schulprojekt Kniffel ! 3/4 Pasch und Full house
Thema durchsuchen
Ansicht
Themen-Optionen

Schulprojekt Kniffel ! 3/4 Pasch und Full house

Ein Thema von keikedeike · begonnen am 9. Jun 2011 · letzter Beitrag vom 10. Jun 2011
 
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Schulprojekt Kniffel ! 3/4 Pasch und Full house

  Alt 10. Jun 2011, 14:04
Haben in der Mittagspause auch mal gekniffelt. Wenn du die Ergebnisse der 5 Würfel in einem array speicherst wird’s leichter. Wenn du dieses array sortierst, wird’s noch leichter.

Delphi-Quellcode:
type
  TWuerfel = array [1..5] of integer;
Delphi-Quellcode:
function Sortiere (const W: TWuerfel): TWuerfel;
var
  I, J, T: integer;
begin
  Result:= W;
  for I:= 1 to 4 do
    for J:= I+1 to 5 do
      if Result[I] > Result[J] then
      begin
        T:= Result[I];
        Result[I]:= Result[J];
        Result[J]:= T;
      end;
end;


function Chance (const W: TWuerfel): integer;
var
  I: integer;
begin
  Result:= 0;
  for I:= 1 to 5 do
    Inc(Result, W[I]);
end;


function Dreierpasch (const W: TWuerfel): integer;
var
  I, N: integer;
  S: TWuerfel;
begin
  S:= Sortiere(W);
  Result:= 0;

  N:= 0;
  for I:= 1 to 2 do
    if S[I] = S[I+1] then Inc(N);
  if N = 2 then Result:= Chance(W);

  N:= 0;
  for I:= 2 to 3 do
    if S[I] = S[I+1] then Inc(N);
  if N = 2 then Result:= Chance(W);

  N:= 0;
  for I:= 3 to 4 do
    if S[I] = S[I+1] then Inc(N);
  if N = 2 then Result:= Chance(W);
end;


function FullHouse (const W: TWuerfel): integer;
var
  I, N: integer;
  S: TWuerfel;
begin
  S:= Sortiere(W);
  Result:= 0;

  N:= 0;
  for I:= 1 to 2 do
    if S[I] = S[I+1] then Inc(N);
  if N = 2 then
    if S[4] = S[5] then Result:= 25;

  N:= 0;
  for I:= 3 to 4 do
    if S[I] = S[I+1] then Inc(N);
  if N = 2 then
    if S[1] = S[2] then Result:= 25;
end;


function KleineStrasse (const W: TWuerfel): integer;
var
  I, N: integer;
  S: TWuerfel;
begin
  Result:= 0;
  S:= Sortiere(W);

  N:= 0;
  for I:= 1 to 3 do
    if S[I+1] = S[I]+1 then Inc(N);
  if N = 3 then Result:= 30;

  N:= 0;
  for I:= 2 to 4 do
    if S[I+1] = S[I]+1 then Inc(N);
  if N = 3 then Result:= 30;
end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz