2015-06-21 3 views
-4
Cliff = 0 


class Cliff(MapTile): 
    def intro_text(self): 
      global Cliff 

      if Cliff == 0 
      return " " " 
      Cliff 
      TEXT 
      TEXT 
      " " " 
      Cliff = Cliff + 1 

      if Cliff >= 1: 
       return " " " 
       Cliff 
       DIFFERENT TEXT 
       " " " 
     def modify_player(self, the_player): 
      pass 

То, что я пытаюсь сделать, это получить его туда, где, когда вы идете к плитке «Клифф» в первый раз это дает своего рода обзор места, но второй + раз, я просто хочу сказать «Клифф»Невозможно добавить переменную в себе

Пробовал использовать bools, но не получил нигде.

+2

Для кода Python требуется даже отступы. Сначала исправьте отступ кода и исправьте некоторые вопиющие ошибки (например, ваш 'if Cliff == 0' не имеет конца': ', возвращенные тексты заключены в' '" "' вместо '" "" ' и т. д. –

+1

Этот код должен быть полностью переписан для того, чтобы он выполнял то, что вы хотите. Я бы предложил пройти учебник, чтобы лучше узнать, как работают классы и переменные. [Codecademy] (http://www.codecademy.com/) довольно хороший для новичков. – IanAuld

ответ

0

Проблема здесь:

if Cliff == 0: 
    return """ 
    Cliff 
    TEXT 
    TEXT 
    """ 
    Cliff = Cliff + 1 

Когда Cliff равен нулю, то эта ветвь вводится, но первая команда есть return поэтому ваша функция остается до Cliff увеличивается.

Кстати, не используйте одно и то же имя для класса и переменной, это сбивает с толку.

Смежные вопросы