Allerdings ist das immer noch an OOP vorbeigeschossen. Ich kann so nicht erschließen, ob dus nur des Testes wegen ohne Übergabe der Playerparameter gemacht hast oder ob du immer noch an HP&KP Übergabe klebst.
Falls dein Problem die überkreuzten Parameter (HP des getroffenen und KP des schießenden Spielers) ist, dann gib der Funktion doch zwei Playerreferenzen (Angreifer und Angegriffener) oder definier sie als Methode der Klasse Player mit dem angegriffenen Player als Referenzparameter. (im zweiteren Fall kannst du über den Zeiger this auf den Angreifer zugreifen)