์ œ๊ฐ€ ์“ฐ๋Š” ๊ฒŒ์ž„์—”์ง„์€ ๋ ŒํŒŒ์ด๊ณ , ํŒŒ์ด์ฌ๊ธฐ๋ฐ˜์ž„.


์งˆ๋ฌธ์€...์ด์ œ, ํŽธ์˜๋ฅผ ์œ„ํ•ด์„œ๋„, ๋ถˆ๋ฎจ์œจ์— ์˜ํ•ด์„œ๋„ย ๋‹น์—ฐํžˆ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์˜์–ด๋กœ ์ง“์ž–์•„์š”.


์ œ ๊ฒฝ์šฐ์—๋Š” ์ด๋Ÿฐ์‹์œผ๋กœ ํ”Œ๋ ˆ์ด์–ด ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ 

ํด๋ž˜์Šค ์•ˆ์— ๋ณ€์ˆ˜๋“ค์„ ์„ ์–ธํ–ˆ์Œ.

.

phys_stat๋Š” ํ”Œ๋ ˆ์ด์–ด์˜ ์šด๋™ ๋Šฅ๋ ฅ์น˜๋ผ ๊ด€๋ฆฌํ•˜๊ธฐ ํŽธํ•˜๊ฒŒ ํŒŒ์ด์ฌ์˜ ๋”•์…”๋„ˆ๋ฆฌ ์ž๋ฃŒํ˜•์„ ์ด์šฉํ•ด์„œ key๋Š” string์œผ๋กœย ๋งŒ๋“ค์–ด๋†“์€๊ฑฐ๊ณ .. value๊ฐ’์€ ๋Œ€์‘ํ•˜๋Š” ๊ฐ’์œผ๋กœ ์„ ์–ธํ•จ.

๊ทธ ๋ฐ‘์˜ ๋ณ€์ˆ˜๋“ค์€ ์•„์ง ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ• ์ง€๋Š” ์ •ํ•ด๋†“์ง€๋Š” ์•Š์•˜์Œ.



class Athlete_Player(Athletes):

ย  ย  ย  ย  #Atheltes > Player


ย  ย  ย  ย  phys_stat = {

ย  ย  ย  ย  ย  ย  "speed" : 0,

ย  ย  ย  ย  ย  ย  "strength" : 0,

ย  ย  ย  ย  ย  ย  "balance" : 0,

ย  ย  ย  ย  ย  ย  "endurance" : 0,

ย  ย  ย  ย  ย  ย  }


ย  ย  ย  ย  intellect = 0

ย  ย  ย  ย  stamina = 0

ย  ย  ย  ย  gold = 0



์ด๋Ÿฐ์‹์ธ๋ฐ...


๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์˜์–ด๋กœ ์ง“๋Š”๊ฒƒ๊นŒ์ง€๋Š” ๊ดœ์ฐฎ์Œ.


๋ฌธ์ œ๋Š” ๋ณ€์ˆ˜์ด๋ฆ„์€ ์˜์–ด์ธ๋ฐ ๊ฒŒ์ž„ํ•˜๋Š” ์‚ฌ๋žŒ์€ ํ•œ๊ตญ์ธ์ด๋‹ค ๋ณด๋‹ˆ๊นŒ ์•„๋ฌด๋ž˜๋„ย phys_statย ={}๋”•์…”๋„ˆ๋ฆฌ์˜ key๊ฐ’์ธ "speed" ๊ฐ™์€ string์„ ์ด์šฉํ•ด์„œ

๋Œ€์‚ฌ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜, ์ƒํƒœ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œํ˜„ํ•˜์ž๋‹ˆ ๋ญ”๊ฐ€ ์–ด์ƒ‰ํ•˜๋‹ค ์ด๊ฑฐ์ž„.


๊ทธ๋ž˜์„œย 


training_display_menu = list()

ย  ย  for kor, eng in phys_kor.iteritems():

ย  ย  ย  ย  temp_tup = (kor,eng)

ย  ย  ย  ย  training_display_menu.append(temp_tup)


ย  ย  def performance_menu_train():

ย  ย  ย  ย  temp_kor = ""


ย  ย  ย  ย  temp_ability = renpy.display_menu(training_display_menu)ย  #temp_ability์— ์„ ํƒ์ง€์—์„œย ํ”Œ๋ ˆ์ด์–ด์™€์˜ interaction์„ ํ†ตํ•ด value๊ฐ’ ์ €์žฅ., ์ด ๊ฒฝ์šฐ ์˜์–ด์ด๋ฆ„์ด ์ €์žฅ๋จ

ย  ย  ย  ย  for kor,eng in phys_kor.iteritems():

ย  ย  ย  ย  ย  ย  if eng == temp_ability: #phys_kor์˜ value๋ฅผ ํ†ตํ•ด key๋ฅผ ์ฐพ์Œ.

ย  ย  ย  ย  ย  ย  ย  ย  temp_kor = kor

ย  ย  ย  ย  ย  ย  ย  ย  narrator("ํ”Œ๋ ˆ์ด์–ด์˜ %s ์ด/๊ฐ€ %d ์ฆ๊ฐ€ํ•˜์˜€์Šต๋‹ˆ๋‹ค. %s : %d" %(temp_kor, 5, temp_kor, player.phys_stat[temp_ability]))


ย  ย  ย  ย  ย  ย  ย  ย  player.phys_stat[temp_ability] += 5



(์ฝ”๋“œ ๋”๋Ÿฌ์šด๊ฑด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์™„์ „ ์ดˆ๋ณด๋ผ ใ…ˆใ……...)

๊ตต๊ฒŒ ๋ฐ‘์ค„์นœ ๋ถ€๋ถ„์ฒ˜๋Ÿผ ํ…์ŠคํŠธ๋ฅผ ํฌ๋งคํŒ…ํ•˜์ž๋‹ˆ ์˜์–ด๋ณ€์ˆ˜์ด๋ฆ„์œผ๋กœ "ํ”Œ๋ ˆ์ด์–ด์˜ speed๊ฐ€ 5 ์ฆ๊ฐ€ํ•˜์—ฟ์Šต๋‹ˆ๋‹ค." ์ฒ˜๋Ÿผ ๋– ์•ผ๋˜๋Š”๊ฒจ.


๊ทธ๋ž˜์„œย 


ย  ย  phys_kor = {

ย  ย  "์Šคํ”ผ๋“œ" : "speed",

ย  ย  "๊ทผ๋ ฅ" : "strength",

ย  ย  "๋ฐธ๋Ÿฐ์Šค" : "balance",

ย  ย  "์ง€๊ตฌ๋ ฅ" : "endurance"

ย  ย  }


๋ผ๋Š” ์ƒˆ๋กœ์šด ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์˜์–ด๋ณ€์ˆ˜์— ๋Œ€ํ•ด์„œ ํ•œ๊ธ€๋กœ ๋ณ€ํ™˜์ด ๋˜๊ฒŒ ํ–ˆ๋Š”๋ฐ...


์šด๋™๋Šฅ๋ ฅ ๋ณ€์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ ๋„ ์•ž์œผ๋กœ ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋“ค์ด ๋” ์ƒ๊ธธ๊ฒƒ๊ฐ™์€๋ฐ

๋ชจ๋“  ๋ณ€์ˆ˜๋“ค์— ๋Œ€ํ•ด์„œ ์ด๋Ÿฐ์‹์œผ๋กœ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์˜์–ด-ํ•œ๊ธ€ ๋ณ€ํ™˜์„ ํ•ด์•ผ๋˜๋‚˜ ์‹ถ์Œ

๋ญ”๊ฐ€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๊ฑด๊ฐ€ ์‹ถ๊ณ ...


์•„์˜ˆ ๋ณ€์ˆ˜๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋”•์…”๋„ˆ๋ฆฌ๋ฅผย ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ ๋”•์…”๋„ˆ๋ฆฌ ์•ˆ์— ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  var_list[speed][0] = "์Šคํ”ผ๋“œ", var_list[strength][1] = "๊ทผ๋ ฅ"์ฒ˜๋Ÿผ

๋ฆฌ์ŠคํŠธ 0๋ฒˆ ์ธ๋ฑ์Šค์—๋Š” ์˜์–ด string, 1๋ฒˆ ์ธ๋ฑ์Šค์—๋Š” ํ•œ๊ธ€ string์œผ๋กœ ๊ด€๋ฆฌํ•ด์ฃผ๋Š”๊ฒŒ ์ข‹์€ ๋ฐฉ๋ฒ•์ผ๊นŒ?


์˜ˆ๋ฅผ ๋“ค๋ฉดย 



์—ฌ๊ธฐ๋ถ„๋“ค์€ ์ €๋ณด๋‹ค ๊ฒฝ๋ ฅ์ด ํ›จ์”ฌ ๋งŽ์œผ์‹œ๋‹ˆ ๋ณ€์ˆ˜ ์ด๋ฆ„์˜ ์˜์–ด-ํ•œ๊ธ€ ๋ณ€ํ™˜์˜ ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ค์‹์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š”์ง€ ์•Œ๊ณ ์‹ถ์Œ.




๊ฒฐ๊ตญ ํ˜ผ์ž ํ•ด๊ฒฐ์€ ํ–ˆ๋Š”๋ฐ ์ด ๋ฐฉ๋ฒ•์ด ๋งž๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์Œ...



class Athlete_Player(Athletes):

ย  ย  ย  ย  #Atheltes > Player


ย  ย  ย  ย  var_dict = {}

ย  ย  ย  ย  var_dict = {

ย  ย  ย  ย  ย  ย  "phys_var": {

ย  ย  ย  ย  ย  ย  "speed" : ["speed", "์Šคํ”ผ๋“œ", 0],

ย  ย  ย  ย  ย  ย  "strength": ["strength", "๊ทผ๋ ฅ", 0],

ย  ย  ย  ย  ย  ย  "balance" : ["balance", "๋ฐธ๋Ÿฐ์Šค", 0],

ย  ย  ย  ย  ย  ย  "endurance" : ["endurance", "์ง€๊ตฌ๋ ฅ",0]

ย  ย  ย  ย  ย  ย  },

ย  ย  ย  ย  ย  ย  "stamina" : ["stamina", "์Šคํƒœ๋ฏธ๋„ˆ", 0],

ย  ย  ย  ย  ย  ย  "intellect" : ["intellect", "์ง€๋Šฅ", 0],

ย  ย  ย  ย  ย  ย  "gold" : ["gold", "๊ณจ๋“œ", 0]

ย  ย  ย  ย  }


๋”•์…”๋„ˆ๋ฆฌ ์•ˆ์—๋Š” string์œผ๋กœ ๋˜ ๋‹ค๋ฅธ ๋”•์…”๋„ˆ๋ฆฌ๋‚˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ตœ์ข…์ ์œผ๋กœ๋Š” [์˜์–ด๋ณ€์ˆ˜์ด๋ฆ„, ํ•œ๊ธ€๋ณ€์ˆ˜์ด๋ฆ„, ๋ณ€์ˆ˜๊ฐ’] ์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๊ฒŒํ•จ..

๊ฒฐ๊ตญย 

training_display_menu = list()

ย  ย  for ability, ability_list in player.var_dict["phys_var"].iteritems():

ย  ย  ย  ย  temp_tup = (ability_list[1],ability_list)

ย  ย  ย  ย  training_display_menu.append(temp_tup)


ย  ย  def performance_menu_train():

ย  ย  ย  ย  temp_abilityList = renpy.display_menu(training_display_menu) #๋ฆฌ์ŠคํŠธ์˜ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๋‹ˆ๊นŒ player.var_dict[phys_ability]๋„ ๋ณ€๊ฒฝ๋˜๊ฒ ์ง€?

ย  ย  ย  ย  temp_abilityList[2] += 5

ย  ย  ย  ย  narrator("ํ”Œ๋ ˆ์ด์–ด์˜ %s ์ด/๊ฐ€ %d ์ฆ๊ฐ€ํ•˜์˜€์Šต๋‹ˆ๋‹ค. %s : %d"

ย  ย  ย  ย  %(temp_abilityList[1], 5, temp_abilityList[1], temp_abilityList[2])

ย  ย  ย  ย  )


์˜ ์ฝ”๋“œ๋ฅผ ์งฐ๋Š”๋ฐ


์œ„์˜ ์ด์ „ ์ฝ”๋“œ๋ณด๋‹ค๋Š” ๋ณ€์ˆ˜๋„ ๋œ๋งŒ๋“ค์–ด๋„ ๋˜๊ณ ย ์“ธ๋ฐ์—†์ด ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ ๋˜๋‹ˆ๊นŒ ํ›จ์”ฌ ๊น”๋”ํ•ด์ง„๊ฒƒ๊ฐ™์Œ.



์ด๊ฒŒ ๋งž๋Š” ๋ฐฉ๋ฒ•์ธ์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค๋งŒ.