Für mich sieht das Ganze eher nach einer Liste als nach einem Gleichungssystem aus:
    \documentclass[fleqn,12pt,a4paper,german]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{tikz}
    \usepackage{wasysym}
    \usepackage{enumitem}
    
    \begin{document}
    
    \noindent\underline{Legende:} 
    \begin{itemize}[labelwidth=4em,leftmargin=!]
    \item[\colorbox {gray}{$s$\textcolor{white}{$w$}} --] Rückmeldung bzgl. des vorausgegangenen Versuchs;
    	\begin{itemize}[nosep,labelwidth=*] 
        \item[$s$:] Anzahl schwarze Stifte 
    	\item[$w$:] Anzahl weiße Stifte
    	\end{itemize}
    \item[$\mathit{ABCD}$ --] neuer Code der nach dieser Rückmeldung die verbleibenden Möglichkeiten minimiert
    \item[\textcolor{green}{\checkmark} --] nur noch eine Möglichkeit Lösungscode eindeutig zu bestimmen
    \item[\textcolor{red}{50/50} --] noch 2 Möglichkeiten raten
    \item[\textcolor{red}{50}/\textcolor{green}{\checkmark} --] je nach\ Rückmeldung nur noch 1, maximal noch 2 Möglichkeiten
    \item[\smiley\ --] Code gelöst
    \end{itemize}
    \end{document}
Viele weitere Möglichkeiten des im Beispiel verwendeten Pakets [`enumitem`](http://www.ctan.org/pkg/enumitem) sind in dessen Anleitung zu finden.
Bei Verwendung einer [KOMA-Script-Klasse](http://www.ctan.org/pkg/koma-script) könnte man das ganze auch mit dessen `labeling`-Umgebung machen.machen.
Übrigens sei noch darauf hingewiesen, dass man `\underline` zur Textauszeichnung eigentlich nur bei handschriftlichen Texten verwendet, weil dabei bessere Auszeichnungsmöglichkeiten wie kursiv, schräg, fett oder eine andere Schrift nicht zur Verfügung stehen. Das könnte dann beispielsweise so aussehen:
    \documentclass[fleqn,12pt,a4paper,german]{scrartcl}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{tikz}
    \usepackage{wasysym}
    \usepackage{enumitem}
    
    \begin{document}
    
    \subsubsection*{Legende:}
    \begin{labeling}[~--]{$\mathit{ABCD}$}
    \item[\colorbox {gray}{$s$\textcolor{white}{$w$}}] Rückmeldung bzgl. des vorausgegangenen Versuchs;
    	\begin{itemize}[nosep,labelwidth=*] 
        \item[$s$:] Anzahl schwarze Stifte 
    	\item[$w$:] Anzahl weiße Stifte
    	\end{itemize}
    \item[$\mathit{ABCD}$] neuer Code der nach dieser Rückmeldung die verbleibenden Möglichkeiten minimiert
    \item[\textcolor{green}{\checkmark}] nur noch eine Möglichkeit Lösungscode eindeutig zu bestimmen
    \item[\textcolor{red}{50/50}] noch 2 Möglichkeiten raten
    \item[\textcolor{red}{50}/\textcolor{green}{\checkmark}] je nach\ Rückmeldung nur noch 1, maximal noch 2 Möglichkeiten
    \item[\smiley] Code gelöst
    \end{labeling}
    \end{document}
Mit der Klasse `article` könnte man `labeling` ebenfalls verwenden, wenn man zusätzlich das Paket [`scrextend`](http://www.ctan.org/pkg/scrextend) lädt.