Matthias Apsel: Stein-Schere-Papier-Echse-Spock in OOP

Beitrag lesen

Om nah hoo pez nyeetz, Whouzuo!

Wieso sollte das das ganze übersichtlicher machen?
Dazu benötigt man nicht alle Einträge doppelt. Es reicht ja bei dem entsprechenden "fehlenden" Eintrag auf die Negierung des umgedrehten Eintrags zu verweisen.

Das ist mir bewusst.

{Var.1}  
  
case check[h,c] of  
	-1: {verloren}  
	0:  {unentschieden}  
	1:  {gewonnen}  
end;  
  
{Var.2}  
	  
gewinn := check[min(h,c),max(h,c)] * sgn(h-c);  
  
case gewinn of  
	-1: {verloren}  
	0:  {unentschieden}  
	1:  {gewonnen}  
end;

Man benötigt tatsächlich nur eine Zeile Quelltext mehr, die aber 3 Funktionsaufrufe enthält. In meinen Augen ist Variante 1 intuitiver, verständlicher und auch performanter und das trotz des höheren Speicherbedarfs für das Array. In dem Fall ist die Hauptdiagonale noch mit Nullen gefüllt.

{Var.3}  
  
  
if h <> c then  
begin	  
	gewinn := check[min(h,c),max(h,c)] * sgn(h-c);  
  
	case gewinn of  
		-1: {verloren}  
		1:  {gewonnen}  
  
	end;  
end  
else  
	{unentschieden}

Ohne die Hauptdiagonale im Array könnte es so aussehen.

Matthias

--
Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Klamm und Klammer.

0 55

Stein-Schere-Papier-Echse-Spock in OOP

Matthias Apsel
  • programmiertechnik
  1. 0
    Whouzuo
    1. 0
      T-Rex
      1. 0
        Whouzuo
  2. 0
    T-Rex
    1. 0

      Stein-Schere-Papier-Echse-Spock

      Auge
      • menschelei
  3. 0
    M.
  4. 0
    Encoder
    1. 0
      Matthias Apsel
      1. 0
        Encoder
        1. 0
          Matthias Apsel
          1. 0
            Whouzuo
            1. 0
              Matthias Apsel
              1. 0
                Whouzuo
        2. 0
          Matthias Apsel
  5. 0
    T-Rex
    1. 0
      Whouzuo
      1. 0
        Encoder
        1. 0
          Whouzuo
          1. 0
            Encoder
            1. 0
              Whouzuo
              1. 0
                Encoder
                1. 0
                  Matthias Apsel
                2. 0
                  Whouzuo
                  1. 0
                    Matthias Apsel
                    1. 0
                      Whouzuo
                    2. 0
                      Whouzuo
                      1. 0
                        Matthias Apsel
      2. 0
        Matthias Apsel
        1. 0
          Whouzuo
          1. 0
            Matthias Apsel
            1. 0
              Whouzuo
              1. 0
                Matthias Apsel
                1. 0
                  Whouzuo
                  1. 0
                    Matthias Apsel
              2. 0
                dedlfix
                1. 0
                  dedlfix
                2. 0
                  Whouzuo
      3. 0
        T-Rex
    2. 0
      T-Rex
      1. 0
        Matthias Apsel
  6. 3
    Der-Dennis
    1. 3
      Der-Dennis
      1. 0
        Whouzuo
        1. 0
          Der-Dennis
          1. 0
            Whouzuo
            1. 0
              Der-Dennis
          2. 0

            Stein-Schere-Papier-Echse-Spock in OOP (Teil 2)

            Whouzuo
            1. 0
              Der-Dennis
              • menschelei
    2. 0
      Matthias Apsel
      1. 0
        Der-Dennis
        1. 0
          bubble
          1. 0
            Der-Dennis
        2. 0
          Matthias Apsel
        3. 0
          Matthias Apsel