Commit 7e3a0e0e authored by 神楽坂玲奈's avatar 神楽坂玲奈

临时提交

parent 3ba862c3
...@@ -87,6 +87,7 @@ class Action ...@@ -87,6 +87,7 @@ class Action
@position = position @position = position
end end
def run def run
p @card, self
from_field = case @from_pos from_field = case @from_pos
when 0..10 when 0..10
player_field.field player_field.field
...@@ -107,16 +108,17 @@ class Action ...@@ -107,16 +108,17 @@ class Action
puts puts
end end
if @from_pos.is_a? Integer from_pos = if @from_pos.is_a? Integer
if @from_pos > 10 if @from_pos > 10
from_pos = @from_pos - 11 @from_pos - 11
else else
from_pos = @from_pos @from_pos
end end
elsif @card == :deck
0
else else
from_pos = (@card.is_a?(Game_Card) ? from_field.index(@card) : from_field.index{|card|card.card == @card}) || from_field.index{|card|!card.known?} (@card.is_a?(Game_Card) ? from_field.index(@card) : from_field.index{|card|card.card == @card}) || from_field.index{|card|!card.known?}
end end
to_field = case @to_pos to_field = case @to_pos
when Integer when Integer
player_field.field player_field.field
...@@ -151,7 +153,7 @@ class Action ...@@ -151,7 +153,7 @@ class Action
end end
end end
else else
card = Game_Card.new(@card) card = @card == :deck ? player_field.deck.first : Game_Card.new(@card)
puts "似乎凭空产生了卡片?" puts "似乎凭空产生了卡片?"
p self p self
end end
......
...@@ -10,8 +10,8 @@ class Deck ...@@ -10,8 +10,8 @@ class Deck
attr_accessor :side attr_accessor :side
attr_accessor :extra attr_accessor :extra
attr_accessor :temp attr_accessor :temp
DeckPath = '/media/44CACC1DCACC0D5C/game/yu-gi-oh/deck' #DeckPath = '/media/44CACC1DCACC0D5C/game/yu-gi-oh/deck'
#DeckPath = 'E:/game/yu-gi-oh/deck' DeckPath = 'E:/game/yu-gi-oh/deck'
def initialize(main, side=[], extra=[], temp=[]) def initialize(main, side=[], extra=[], temp=[])
@main = main @main = main
@side = side @side = side
...@@ -25,9 +25,10 @@ class Deck ...@@ -25,9 +25,10 @@ class Deck
temp = [] temp = []
now = main now = main
open(File.expand_path(name, DeckPath)) do |file| open(File.expand_path(name, DeckPath)) do |file|
while line = file.readline.force_encoding("GBK").encode("UTF-8").chomp! file.set_encoding "GBK", "UTF-8"
while line = file.readline.chomp!
case line case line
when /^\[(.+?)\]\#.*\#$/ when /^\[(.+?)\](?:\#.*\#)?$/
now << Card.find($1.to_sym) now << Card.find($1.to_sym)
when "####" when "####"
now = side now = side
...@@ -35,9 +36,8 @@ class Deck ...@@ -35,9 +36,8 @@ class Deck
now = extra now = extra
when "$$$$" when "$$$$"
now = temp now = temp
when ""
break
end end
break if file.eof?
end end
end end
self.new(main, side, extra, temp) self.new(main, side, extra, temp)
......
...@@ -169,6 +169,7 @@ class Action ...@@ -169,6 +169,7 @@ class Action
end end
def self.parse(str) def self.parse(str)
from_player = nil from_player = nil
p str
case str case str
when /^\[(\d+)\] (.*)$/m when /^\[(\d+)\] (.*)$/m
#p $2, $2.match(/(◎|●)→=\[0:0:0\]==回合结束==<(\d+)>=\[\d+\]\n#{FieldFilter}(.*)/) #p $2, $2.match(/(◎|●)→=\[0:0:0\]==回合结束==<(\d+)>=\[\d+\]\n#{FieldFilter}(.*)/)
......
...@@ -124,7 +124,7 @@ class Game_Event ...@@ -124,7 +124,7 @@ class Game_Event
class Action class Action
attr_reader :action attr_reader :action
def self.parse(info) def self.parse(info)
info =~ /(.*)▊▊▊.*?$/ info =~ /(.*)▊▊▊.*?$/m
info = $1 info = $1
info["◎"] = "●" if info["◎"] info["◎"] = "●" if info["◎"]
self.new ::Action.parse info self.new ::Action.parse info
...@@ -205,5 +205,7 @@ class Game_Event ...@@ -205,5 +205,7 @@ class Game_Event
end end
end end
class QROOMOK < Game_Event class QROOMOK < Game_Event
def self.parse(info)
end
end end
end end
\ No newline at end of file
...@@ -21,8 +21,13 @@ class Iduel < Game ...@@ -21,8 +21,13 @@ class Iduel < Game
begin begin
@conn = TCPSocket.open(Server, Port) @conn = TCPSocket.open(Server, Port)
@conn.set_encoding "GBK", "UTF-8" @conn.set_encoding "GBK", "UTF-8"
Thread.abort_on_exception = true @recv = Thread.new do
@recv = Thread.new { recv @conn.gets(RS) while @conn } begin
recv @conn.gets(RS) while @conn
ensure
exit
end
end
rescue rescue
Game_Event.push Game_Event::Error.new($!.class.to_s, $!.message) Game_Event.push Game_Event::Error.new($!.class.to_s, $!.message)
end end
...@@ -52,11 +57,12 @@ class Iduel < Game ...@@ -52,11 +57,12 @@ class Iduel < Game
end end
end end
def action(action) def action(action)
send(2, "#{checknum("RMSG", @session)}@#{@key}", "#{action.escape}▊▊▊mycard") if @room.include? @user#TODO:iduel校验字串 send(2, "#{checknum("RMSG", @session)}@#{@key}", "#{action.escape}▊▊▊mycard")# if @room.include? @user#TODO:iduel校验字串
end end
def exit def exit
@recv.exit @recv.exit
if @conn if @conn
leave
send(11, @key, checknum("ULO", "#{@session}")) send(11, @key, checknum("ULO", "#{@session}"))
@conn.close @conn.close
@conn = nil @conn = nil
...@@ -79,7 +85,6 @@ class Iduel < Game ...@@ -79,7 +85,6 @@ class Iduel < Game
else else
info.chomp!(RS) info.chomp!(RS)
info.delete!("\r") info.delete!("\r")
#info.encode! "UTF-8", :invalid => :replace, :undef => :replace
puts ">> #{info}" puts ">> #{info}"
Game_Event.push Game_Event.parse info Game_Event.push Game_Event.parse info
end end
......
...@@ -69,6 +69,7 @@ class Scene_Duel < Scene ...@@ -69,6 +69,7 @@ class Scene_Duel < Scene
end end
def change_phase(phase) def change_phase(phase)
action Action::ChangePhase.new(true, phase) action Action::ChangePhase.new(true, phase)
$game.refresh
end end
def reset def reset
action Action::Reset.new(true) action Action::Reset.new(true)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment