From 592eeefb172c4c2c8e8bab43c8324a74c22721c2 Mon Sep 17 00:00:00 2001 From: paulmart-n <83290177+paulmart-n@users.noreply.github.com> Date: Sun, 2 Jul 2023 12:17:08 +0200 Subject: [PATCH] fixed --- schiffe-versenken.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/schiffe-versenken.py b/schiffe-versenken.py index 4f80877..52132b7 100644 --- a/schiffe-versenken.py +++ b/schiffe-versenken.py @@ -47,6 +47,8 @@ def summeFeld (spielerFeld): return summe def checkUmfeld (spielerFeld, zeile, spalte): + if getFeld (spielerFeld, zeile, spalte) != 0: + return False summe = 0 if zeile < matrixgr and spalte = 0 and spalte >= 0: if zeile+1 < matrixgr: @@ -85,7 +87,7 @@ def setSchiff (spielerFeld, groesse): while summeFeld(spielerFeld) != feldsumme + groesse*2 : if versuch < 25: spitze = [random.randint(0, matrixgr-1), random.randint(0, matrixgr-1)] - if (getFeld (spielerFeld, spitze[0], spitze[1]) == 0) and checkUmfeld(spielerFeld, spitze[0], spitze[1]): #spitze[0] ZEILE, spitze[1] SPALTE + if checkUmfeld(spielerFeld, spitze[0], spitze[1]): #spitze[0] ZEILE, spitze[1] SPALTE if groesse == 1: setFeld (spielerFeld, spitze[0], spitze[1], 2) else: @@ -110,8 +112,12 @@ def setSchiff (spielerFeld, groesse): summe = 0 if len(reihe) >= groesse and reihe.count(orig)==1: #.count zählt, wie oft die mitgegebene Zahl in der Liste vorkommt. Wenn sie vorkommt und die Liste for i in range (len(reihe)-1, len(reihe)-groesse-1,-1): #mindestens so lang ist wie das Schiff sein soll, kann weitergemacht werden. - if checkUmfeld (spielerFeld, spitze[0], i): - summe += 1 + if orientierung == 0: + if checkUmfeld (spielerFeld, spitze[0], i): + summe += 1 + else: + if checkUmfeld (spielerFeld, i, spitze[1]): + summe += 1 if summe == groesse: for i in range (len(reihe)-1, len(reihe)-groesse-1,-1): if orientierung == 0: @@ -122,8 +128,6 @@ def setSchiff (spielerFeld, groesse): spitze [counterind] += 1 versuch += 1 else: - print ("Neuer Versuch...") - printFeld (spielerFeld) spielerFeld = makeFeld () versuch = 0 -- 2.36.6