Merge pull request 'fixSchiff' (#3) from fixSchiff into main
Reviewed-on: #3
This commit is contained in:
@ -1,5 +1,3 @@
|
|||||||
# TO DO: Benachritigung bei komplettem Schiff-Abschuss?
|
|
||||||
|
|
||||||
import random, time
|
import random, time
|
||||||
|
|
||||||
matrixgr = 7 # Größe des Spielfeldes (7x7)
|
matrixgr = 7 # Größe des Spielfeldes (7x7)
|
||||||
@ -193,13 +191,22 @@ def fuellFeld (Feld, belegFeld):
|
|||||||
def schiffVersenkt (spielerFeld, belegFeld, treffer):
|
def schiffVersenkt (spielerFeld, belegFeld, treffer):
|
||||||
gr = getFeld (belegFeld, treffer [0], treffer [1])
|
gr = getFeld (belegFeld, treffer [0], treffer [1])
|
||||||
|
|
||||||
|
if gr == 1:
|
||||||
|
for i in range (-1, 2, 2):
|
||||||
|
if 0 <= treffer [0] + i < matrixgr:
|
||||||
|
setFeld (spielerFeld, treffer [0]+i, treffer [1], 1)
|
||||||
|
for i in range (-1, 2, 2):
|
||||||
|
if 0 <= treffer [1] + i < matrixgr:
|
||||||
|
setFeld (spielerFeld, treffer [0], treffer [1]+i, 1)
|
||||||
|
return True
|
||||||
|
|
||||||
schiff = [treffer]
|
schiff = [treffer]
|
||||||
|
|
||||||
for i in range (-1, 2, 2):
|
for i in range (-1, 2, 2):
|
||||||
if 0 <= treffer [0] + i < matrixgr:
|
if 0 <= treffer [0] + i < matrixgr:
|
||||||
if getFeld(belegFeld, treffer [0] + i, treffer [1]) == gr:
|
if getFeld(belegFeld, treffer [0] + i, treffer [1]) == gr:
|
||||||
e = 1
|
e = 1
|
||||||
while getFeld (belegFeld, treffer [0] + e*i, treffer [1]) == gr:
|
while 0<= treffer [0] + e*i < matrixgr and getFeld (belegFeld, treffer [0] + e*i, treffer [1]) == gr:
|
||||||
schiff += [[treffer[0]+e*i, treffer [1]]]
|
schiff += [[treffer[0]+e*i, treffer [1]]]
|
||||||
e += 1
|
e += 1
|
||||||
|
|
||||||
@ -207,7 +214,7 @@ def schiffVersenkt (spielerFeld, belegFeld, treffer):
|
|||||||
if 0 <= treffer [1] + i < matrixgr:
|
if 0 <= treffer [1] + i < matrixgr:
|
||||||
if getFeld(belegFeld, treffer [0], treffer [1] + i) == gr:
|
if getFeld(belegFeld, treffer [0], treffer [1] + i) == gr:
|
||||||
e = 1
|
e = 1
|
||||||
while getFeld (belegFeld, treffer [0], treffer [1] + e*i) == gr:
|
while 0<= treffer [1] + e*i < matrixgr and getFeld (belegFeld, treffer [0], treffer [1] + e*i) == gr:
|
||||||
schiff += [[treffer[0], treffer [1]+e*i]]
|
schiff += [[treffer[0], treffer [1]+e*i]]
|
||||||
e += 1
|
e += 1
|
||||||
|
|
||||||
@ -251,7 +258,7 @@ def feldWahl (spielerFeld, belegSpFeld):
|
|||||||
|
|
||||||
if wert == 1 or wert == 3:
|
if wert == 1 or wert == 3:
|
||||||
print ("Dieses Feld wurde schon abgeschossen! Bitte ein anderes wählen!")
|
print ("Dieses Feld wurde schon abgeschossen! Bitte ein anderes wählen!")
|
||||||
feldWahl (spielerFeld)
|
feldWahl (spielerFeld, belegSpFeld)
|
||||||
return 0 # Rückgabe, damit die Funktion nicht mit falschem Wert weiterläuft
|
return 0 # Rückgabe, damit die Funktion nicht mit falschem Wert weiterläuft
|
||||||
|
|
||||||
setFeld (spielerFeld, feld[0],feld[1], 5) # Treffer wird eingetragen
|
setFeld (spielerFeld, feld[0],feld[1], 5) # Treffer wird eingetragen
|
||||||
@ -362,6 +369,3 @@ def start ():
|
|||||||
w = str (input ("Noch eine Runde? [J: Ja/Irgendwas: Nein] "))
|
w = str (input ("Noch eine Runde? [J: Ja/Irgendwas: Nein] "))
|
||||||
if w.lower() == 'j':
|
if w.lower() == 'j':
|
||||||
start ()
|
start ()
|
||||||
|
|
||||||
|
|
||||||
start()
|
|
||||||
|
|||||||
Reference in New Issue
Block a user