Mod. siirsi kommentin Python-oppaasta.
Tein tuommosen muunnelman labyrintistä mutta en saanut tuota breik:kiä jostain syystä toimimaan (while True ei `katkea`)
# -*- coding: latin-1 -*- kartta = [[1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 2, 1, 0, 0, 0, 0, 1, 1], [1, 0, 0, 0, 1, 1, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 0, 0, 1, 0, 0, 1], [0, 0, 1, 1, 0, 0, 1, 0, 1], [1, 0, 1, 1, 1, 0, 1, 0, 1], [1, 0, 0, 0, 1, 0, 0, 0, 1], [1, 1, 1, 0, 0, 0, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1]] pisteet = 0 omay = 1 omax = 1 merkit = " XO" while True: for rivi in kartta: for ruutu in rivi: print merkit[ruutu], print if omay == 7 and omax == 0: pisteet +=10 print "Pääsit maaliin, Saat 10 lisäpistettä!" if pisteet == 12: print "Löysit myös kummankin kaverisi! Pisteet: ", pisteet if pisteet == 11: print "Löysit yhden kaverinkin matkanvarrelta! Pisteet: ", pisteet if pisteet == 10: print "Et löytänyt yhtään kaveria.. Pisteet: ", pisteet break if omay == 5 and omax == 1: print "Löysit kaverin! +1 piste" pisteet +=1 if omay == 6 and omax == 3: print "Löysit kaverin! +1 piste" pisteet +=1 suunta = raw_input("Suunta (y/a/v/o): ") uusix = omax uusiy = omay if suunta == "y": uusiy = omay - 1 if suunta == "a": uusiy = omay + 1 if suunta == "v": uusix = omax - 1 if suunta == "o": uusix = omax + 1 if kartta[uusiy][uusix] == 0: kartta[omay][omax] = 0 kartta[uusiy][uusix] = 2 omay = uusiy omax = uusix
Silmukassasi on break vain tapauksessa, jossa pisteet == 10 eli päästiin maaliin mutta yhtään kaveria ei löytynyt. Pelissäsi voi myös löytää saman kaverin monta kertaa liikkumalla edestakaisin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.