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 = uusixSilmukassasi 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.