Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # this is main.py Problem with python class variables
- from Room import Room
- from Character import Enemy, Friend, Character
- from Item import Item
- peter = Enemy("Peter", "smile")
- sam = Enemy("sam","OK person")
- print("enemies_defeated = " + str(Enemy.enemies_defeated))# is 0 the value it was initialised with
- Enemy.enemies_defeated=Enemy.enemies_defeated+1
- print("enemies_defeated = " + str(Enemy.enemies_defeated))# is 1 as we incremented
- print("\nnow enemies_defeated will be reset by set method applied by sam")
- sam.set_defeated(10)# sam resets it to 10
- print("enemies_defeated = " + str(Enemy.enemies_defeated))# class variable reset to 10
- print("sam defeated = " + str(sam.enemies_defeated))# so sam sees 10
- print("peter defeated = " + str(peter.enemies_defeated))# and peter sees 10
- print("\nnow reset by peter")
- peter.set_defeated(5)
- print("enemies_defeated = " + str(Enemy.enemies_defeated))# is 5
- print(" sam defeated = " + str(sam.get_defeated()))# is 5, note the get method is imbeded in print
- print(" peter defeated = " + str(peter.get_defeated()))#is 5
- print("sam resets it to 4")
- sam.set_defeated(4)
- print("enemies_defeated = " + str(Enemy.enemies_defeated))# is 4
- print(" peter defeated = " + str(peter.get_defeated()))# is 4
- print(" sam defeated = " + str(sam.get_defeated()))# is 4
- sam.enemies_defeated = sam.enemies_defeated-1 #this code works
- print("enemies_defeated = " + str(Enemy.enemies_defeated))#is 4,why has it not changed
- print("sam " + str(sam.enemies_defeated))# this is 3, is it a new variabe or what ??????????????
- print("peter " + str(peter.enemies_defeated))#this is 4,why has it not changed?
- print("enemies_defeated = " + str(Enemy.enemies_defeated))# is 4
- print("peter defeated = " + str(peter.get_defeated()))# is 4
- print("sam defeated = " + str(sam.get_defeated()))# is 4
- print("bye end of program")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement