Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Как купить рекламу на форуме


Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2020, 08:09   #1
Super D
Новичок
Джуниор
 
Регистрация: 14.05.2020
Сообщений: 1
По умолчанию Обновление локации "персонажа" в простой 2D игре на Python

Помогите написать процедуру updateLocn(x,y,state) в нижней части кода, которая будет менять местоположение "персонажа" в точке (x,y) на карте. Попытка не увенчалась успехом.

Код:
#T=Trees
#G=Goblin who steals your items
#g=Box with gold
#~=River
#w=Wall
#-=Floor
#b=Empty box
#= =Locked door
#k=Key for locked doors
#*=Exit door
worldMap = [
"TTTT TTTT g  wwwwwwwwwwwwwwww",
"T        gT  w----=---b--=bgw",
"TTTTGTTT     =----w------w-gw",
"TTTTTTTTTTT kwwwwwwwwwwwww*ww",
"~~~~~~~~~~~~~~~~~~~~~~~~~T TT", 
"~~~~~~~~~~~~~~~~~~~~~~~~~T TT",
"                    ~~~~~    ",
"                    ~~~~~    "]
for line in worldMap:
    print( line )
 
 
def printMap():
    '''Display the wolrdMap'''
    global worldMap   
 
    for line in worldMap:
        print(line)
 
def getLocn(x,y):
    '''get the object from location x,y'''
    global worldMap
    locn = worldMap[y][x]
    return locn
 
    if x < 0 or y < 0:
        return None
 
    try:
        locn = worldMap[y][x]
        if x < 0 or y < 0:
            raise ValueError ("Value is not correct.Character is outside the map")
    except ValueError:
        locn = None
 
    return locn
 
def describeLocn(x,y):
 
    global worldMap
    locn = getLocn(x,y)
    if locn == "T":
        return ("Dense forest")
    elif locn == "t":
        return ("Light woods")
    elif locn == "w":
        return ("Wall")
    else :
        return ("Meadows") 
    
    if x < 0 or y < 0:
        return None     
 
    try:
        locn = worldMap[y][x]
        if x < 0 or y < 0:
            raise ValueError ("Value is not correct.Character is outside the map")
    except ValueError:
        locn = None
        

def updateMap(x,y,newState):
    '''To change an object at a location'''
    global worldMap
    locn = getLocn(x,y)
    locn = newState
    newState = list(worldMap)
 
    worldMap = ''.join(newState)
Super D вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме 20000 рублей в месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" Бахтиёр1916 Windows 1 05.04.2017 12:53
Не прозрачный "ребёнок" на прозрачном "родителе" PyQt5 (видеоплеер) - Python Jhon Brown Python 5 29.03.2017 22:28
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" link90 Общие вопросы C/C++ 2 27.03.2016 12:34


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS