module Poem
# 诗词的标题
POEM_TOPIC = ["登高", "行路难","","","","","","","","","","","","","","","","","","","","11","","","22","22","22","","11","","","22","22","22","","11","","","22","22","22","","11","","","22","22","22"]
# 诗词的作者
POEM_AUTHOR = ["[唐]杜甫", "[唐]李白","","","","","","","","","","","","","","","","","","","","11","","","22"]
# 诗词的内容
POEM_CONTENT = []
POEM_CONTENT[0] = "风急天高猿啸哀,渚清沙白鸟飞回。
无边落木萧萧下,不尽长江滚滚来。
万里悲秋常作客,百年多病独登台。
艰难苦恨繁霜鬓,潦倒新停浊酒杯。"
POEM_CONTENT[1] = "金樽清酒斗十千,玉盘珍羞直万钱。
停杯投箸不能食,拔剑四顾心茫然。
欲渡黄河冰塞川,将登太行雪满山。
闲来垂钓碧溪上,忽复乘舟梦日边。
行路难!行路难!多歧路,今安在?
长风破浪会有时,直挂云帆济沧海。"
# 用于出题的句子
POEM_TESTSEN1 = ["万里悲秋常作客","长风破浪会有时"] # 每首诗词用于出题的句子上半句
POEM_TESTSEN2 = ["百年多病独登台","直挂云帆济沧海"] # 每首诗词用于出题的句子下半句
end
class Game_Party
attr_accessor :poem_get # 诗词的拥有状态
attr_accessor :poem_use # 诗词的使用状态
alias old_initialize initialize
def initialize
old_initialize
@poem_get = []
@poem_use = []
num = Poem::POEM_TOPIC.size
for i in 0...num
@poem_get.push false
@poem_use.push false
end
end
end
class Window_PoemSel < Window_Selectable
def initialize
super(0, 0, 640, 480)
@column_max = 3
@poem_max = Poem::POEM_TOPIC.size
refresh
self.index = 0
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
self.contents = Bitmap.new(640 - 32, 480 - 32)
#@title = []
#@author = []
for i in 0...Poem::POEM_TOPIC.size
if $game_party.poem_get[i] == true
@title = Poem::POEM_TOPIC[i]
@author = Poem::POEM_AUTHOR[i]
end
if $game_party.poem_get[i] == false
@title = "???"
@author = "[?]???"
end
draw_poem(i)
end
end
def draw_poem(index)
# 颜色 选中为系统色,拥有但未选中为普通色,未拥有为无效色
if $game_party.poem_use[index] == true
self.contents.font.color = system_color
end
if $game_party.poem_use[index] == false
if $game_party.poem_get[index] == true
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
end
x = 4 + (index % 3) * 213
y = (index / 3) * 64
rect = Rect.new(x, y, self.width / @poem_max - 32, 60)
self.contents.fill_rect(rect, Color.new(0,0,0,0))
self.contents.draw_text(x, y, 197, 32, @title,1)
self.contents.draw_text(x, y+32, 197, 32, @author,1)
end
end
# 四 选诗词场景
class Scene_PoemSel
def main
@poem_window = Window_PoemSel.new
@poem_window.active = true
#================================================
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
#================================================
@poem_window.dispose
end
def update
if Input.trigger?(Input::B)
$scene = Scene_Map.new
end
@poem_window.update
end
end
module Poem
# 诗词的标题
POEM_TOPIC = ["登高", "行路难","","","","","","","","","","","","","","","","","","","","11","","","22","22","22","","11","","","22","22","22","","11","","","22","22","22","","11","","","22","22","22"]
# 诗词的作者
POEM_AUTHOR = ["[唐]杜甫", "[唐]李白","","","","","","","","","","","","","","","","","","","","11","","","22"]
# 诗词的内容
POEM_CONTENT = []
POEM_CONTENT[0] = "风急天高猿啸哀,渚清沙白鸟飞回。
无边落木萧萧下,不尽长江滚滚来。
万里悲秋常作客,百年多病独登台。
艰难苦恨繁霜鬓,潦倒新停浊酒杯。"
POEM_CONTENT[1] = "金樽清酒斗十千,玉盘珍羞直万钱。
停杯投箸不能食,拔剑四顾心茫然。
欲渡黄河冰塞川,将登太行雪满山。
闲来垂钓碧溪上,忽复乘舟梦日边。
行路难!行路难!多歧路,今安在?
长风破浪会有时,直挂云帆济沧海。"
# 用于出题的句子
POEM_TESTSEN1 = ["万里悲秋常作客","长风破浪会有时"] # 每首诗词用于出题的句子上半句
POEM_TESTSEN2 = ["百年多病独登台","直挂云帆济沧海"] # 每首诗词用于出题的句子下半句
end
class Game_Party
attr_accessor :poem_get # 诗词的拥有状态
attr_accessor :poem_use # 诗词的使用状态
alias old_initialize initialize
def initialize
old_initialize
@poem_get = []
@poem_use = []
num = Poem::POEM_TOPIC.size
for i in 0...num
@poem_get.push false
@poem_use.push false
end
end
end
class Window_PoemSel < Window_Selectable
def initialize
super(0, 0, 640, 480)
@column_max = 3
@poem_max = Poem::POEM_TOPIC.size
refresh
self.index = 0
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
self.contents = Bitmap.new(640 - 32, 480 - 32)
#@title = []
#@author = []
for i in 0...Poem::POEM_TOPIC.size
if $game_party.poem_get[i] == true
@title = Poem::POEM_TOPIC[i]
@author = Poem::POEM_AUTHOR[i]
end
if $game_party.poem_get[i] == false
@title = "???"
@author = "[?]???"
end
draw_poem(i)
end
end
def draw_poem(index)
# 颜色 选中为系统色,拥有但未选中为普通色,未拥有为无效色
if $game_party.poem_use[index] == true
self.contents.font.color = system_color
end
if $game_party.poem_use[index] == false
if $game_party.poem_get[index] == true
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
end
x = 4 + (index % 3) * 213
y = (index / 3) * 64
rect = Rect.new(x, y, self.width / @poem_max - 32, 60)
self.contents.fill_rect(rect, Color.new(0,0,0,0))
self.contents.draw_text(x, y, 197, 32, @title,1)
self.contents.draw_text(x, y+32, 197, 32, @author,1)
end
end
# 四 选诗词场景
class Scene_PoemSel
def main
@poem_window = Window_PoemSel.new
@poem_window.active = true
#================================================
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
#================================================
@poem_window.dispose
end
def update
if Input.trigger?(Input::B)
$scene = Scene_Map.new
end
@poem_window.update
end
end