NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Tomáš Regina:22.10.2016 14:59

Zdravím,
mám nasledovný kód a rád by som dosiahol to, že pri zadaní nejakého smeru sa mi hracie pole "refreshne" namiesto toho aby sa mi vykreslilo nové s novou polohou "hráča". Nejaké rady, tipy? Diky moc.

x = 5
y = 5
n = 10
for k in range (6):
        for i in range(0,11):
                for j in range(0,11):
                        if i == 0 or j == 0 or j == n or i == n:
                                print ('x ', end="")
                        elif i == x and j == y:
                                print ('? ', end="")
                        else:
                                print ('  ',end="")
                print (" ")
        smer = input("Zadaj smer(up, down, right left):  ")
        if (smer == "up"):
                x = x - 1
        elif (smer =="down"):
                x = x + 1
        elif (smer == "right"):
                y = y + 1
        elif (smer == "left"):
                y = y - 1
 
Odpovědět
22.10.2016 14:59
Avatar
Vojtěch Přibáň:23.10.2016 22:51

Taky zdravím,
řekl jsem si, že bych pravděpodobně někdy ve zdálené době mohl mít podobný problém, tak jsem se rozhodl najít řešení na zahraničních fórech:

import sys
sys.stdout.write('.')
x = 5
y = 5
n = 10
def clearscreen(numlines=100):
    import os
    if os.name == "posix":
        os.system('clear')
    elif os.name in ("nt", "dos", "ce"):
        os.system('CLS')
    else:
        print ('\n' * numlines)
for k in range (6):
    for i in range(0,11):
        for j in range(0,11):
            if i == 0 or j == 0 or j == n or i == n:
                print("x", end="")
            elif i == x and j == y:
                print ('? ', end="")
            else:
                print (' ',end="")
        print (" ")
    smer = input("Zadaj smer(up, down, right left): ")
    if (smer == "up"):
        x = x - 1
    elif (smer =="down"):
        x = x + 1
    elif (smer == "right"):
        y = y + 1
    elif (smer == "left"):
        y = y - 1
    clearscreen(numlines=100)

zdroj kódu ve funkci: http://stackoverflow.com/…ed-in-python

Blíže jsem to nestudoval takže moc nerozumím co se v tom děje, ale chápu to tak, že to smaže předešlé vypsané věci.
Doufám že jsem pomohl.

Editováno 23.10.2016 22:52
 
Nahoru Odpovědět
23.10.2016 22:51
Avatar
Odpovídá na Vojtěch Přibáň
Vojtěch Přibáň:23.10.2016 23:00

...Jo a pokoušel jsem se o jíné spůsoby a to "sys.stdout.wri­te('.')" na druhé řádce je zapomenutým produktem těchto pokusů :-) .
Přeji hezký den.

 
Nahoru Odpovědět
23.10.2016 23:00
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.