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.