Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
mycard
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiaoye
mycard
Commits
ff51a04b
Commit
ff51a04b
authored
Dec 18, 2012
by
神楽坂玲奈
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
0.8.4
parent
03bca965
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
412 additions
and
107 deletions
+412
-107
Rakefile
Rakefile
+1
-1
lib/cacheable.rb
lib/cacheable.rb
+4
-1
lib/scene_lobby.rb
lib/scene_lobby.rb
+2
-2
lib/update.rb
lib/update.rb
+1
-1
lib/window_filter.rb
lib/window_filter.rb
+1
-0
lib/ygocore/event.rb
lib/ygocore/event.rb
+28
-28
lib/ygocore/game.rb
lib/ygocore/game.rb
+319
-33
lib/ygocore/room.rb
lib/ygocore/room.rb
+56
-41
No files found.
Rakefile
View file @
ff51a04b
...
@@ -20,7 +20,7 @@ end
...
@@ -20,7 +20,7 @@ end
spec
=
Gem
::
Specification
.
new
do
|
s
|
spec
=
Gem
::
Specification
.
new
do
|
s
|
s
.
name
=
'mycard'
s
.
name
=
'mycard'
s
.
version
=
'0.8.
2
'
s
.
version
=
'0.8.
4
'
s
.
extra_rdoc_files
=
[
'README.txt'
,
'LICENSE.txt'
]
s
.
extra_rdoc_files
=
[
'README.txt'
,
'LICENSE.txt'
]
s
.
summary
=
'a card game'
s
.
summary
=
'a card game'
s
.
description
=
s
.
summary
s
.
description
=
s
.
summary
...
...
lib/cacheable.rb
View file @
ff51a04b
...
@@ -8,5 +8,8 @@ module Cacheable
...
@@ -8,5 +8,8 @@ module Cacheable
else
else
@@all
[
self
][
id
]
=
super
(
id
,
*
args
)
@@all
[
self
][
id
]
=
super
(
id
,
*
args
)
end
end
end
end
def
find
(
id
)
@@all
[
self
][
id
]
end
end
end
\ No newline at end of file
lib/scene_lobby.rb
View file @
ff51a04b
...
@@ -66,8 +66,8 @@ class Scene_Lobby < Scene
...
@@ -66,8 +66,8 @@ class Scene_Lobby < Scene
when
Game_Event
::
AllUsers
when
Game_Event
::
AllUsers
@userlist
.
items
=
$game
.
users
@userlist
.
items
=
$game
.
users
when
Game_Event
::
AllRooms
,
Game_Event
::
AllServers
when
Game_Event
::
AllRooms
,
Game_Event
::
AllServers
@roomlist
.
items
=
$game
.
rooms
.
find_all
{
|
room
|
@roomlist
.
items
=
p
$game
.
rooms
.
find_all
{
|
room
|
$game
.
filter
[
:servers
].
collect
{
|
server
|
server
.
id
}.
include?
(
room
.
server_id
)
and
$game
.
filter
[
:servers
].
include?
(
room
.
server
)
and
$game
.
filter
[
:waiting_only
]
?
(
room
.
status
==
:
wait
)
:
true
and
$game
.
filter
[
:waiting_only
]
?
(
room
.
status
==
:
wait
)
:
true
and
$game
.
filter
[
:normal_only
]
?
(
!
room
.
tag?
&&
(
room
.
ot
==
0
)
&&
(
room
.
lp
=
8000
))
:
true
$game
.
filter
[
:normal_only
]
?
(
!
room
.
tag?
&&
(
room
.
ot
==
0
)
&&
(
room
.
lp
=
8000
))
:
true
}
}
...
...
lib/update.rb
View file @
ff51a04b
...
@@ -2,7 +2,7 @@ require 'open-uri'
...
@@ -2,7 +2,7 @@ require 'open-uri'
require
"fileutils"
require
"fileutils"
require_relative
'card'
require_relative
'card'
module
Update
module
Update
Version
=
'0.8.
2
'
Version
=
'0.8.
4
'
URL
=
"http://my-card.in/mycard/update.json?version=
#{
Version
}
"
URL
=
"http://my-card.in/mycard/update.json?version=
#{
Version
}
"
class
<<
self
class
<<
self
attr_reader
:thumbnails
,
:images
,
:status
attr_reader
:thumbnails
,
:images
,
:status
...
...
lib/window_filter.rb
View file @
ff51a04b
...
@@ -11,6 +11,7 @@ class Window_Filter < Window
...
@@ -11,6 +11,7 @@ class Window_Filter < Window
@servers
=
$game
.
servers
.
each_with_index
.
collect
do
|
server
,
index
|
@servers
=
$game
.
servers
.
each_with_index
.
collect
do
|
server
,
index
|
result
=
Widget_Checkbox
.
new
(
self
,
4
+
@x
,
@y
+
WLH
+
WLH
*
index
,
@width
-
8
,
24
,
true
,
server
.
name
){
|
checked
|
checked
?
$game
.
filter
[:
servers
].
push
(
server
)
:
$game
.
filter
[
:servers
].
delete
(
server
)
;
Game_Event
.
push
(
Game_Event
::
AllRooms
.
new
(
$game
.
rooms
))}
result
=
Widget_Checkbox
.
new
(
self
,
4
+
@x
,
@y
+
WLH
+
WLH
*
index
,
@width
-
8
,
24
,
true
,
server
.
name
){
|
checked
|
checked
?
$game
.
filter
[:
servers
].
push
(
server
)
:
$game
.
filter
[
:servers
].
delete
(
server
)
;
Game_Event
.
push
(
Game_Event
::
AllRooms
.
new
(
$game
.
rooms
))}
result
.
background
=
@background
.
copy_rect
(
4
,
WLH
+
WLH
*
index
,
@width
-
8
,
24
)
result
.
background
=
@background
.
copy_rect
(
4
,
WLH
+
WLH
*
index
,
@width
-
8
,
24
)
result
.
checked
=
$game
.
filter
[
:servers
].
include?
server
result
.
refresh
result
.
refresh
result
result
end
end
...
...
lib/ygocore/event.rb
View file @
ff51a04b
...
@@ -7,22 +7,22 @@ class Game_Event
...
@@ -7,22 +7,22 @@ class Game_Event
else
else
Error
.
new
(
'登录'
,
'用户名或密码错误'
)
Error
.
new
(
'登录'
,
'用户名或密码错误'
)
end
end
when
:rooms
#
when :rooms
AllRooms
.
new
data
.
collect
{
|
room
|
parse_room
(
room
)}
#
AllRooms.new data.collect{|room|parse_room(room)}
when
:rooms_update
#
when :rooms_update
RoomsUpdate
.
new
data
.
collect
{
|
room
|
parse_room
(
room
)}
#
RoomsUpdate.new data.collect{|room|parse_room(room)}
when
:servers
#
when :servers
servers
=
data
.
collect
{
|
server
|
parse_server
(
server
)}
#
servers = data.collect{|server|parse_server(server)}
$game
.
filter
[
:servers
].
concat
(
servers
-
$game
.
servers
)
#
$game.filter[:servers].concat (servers - $game.servers)
AllServers
.
new
servers
#
AllServers.new servers
#when :newuser
#when :newuser
#NewUser.new parse_user data
#NewUser.new parse_user data
#when :missinguser
#when :missinguser
#MissingUser.new parse_user data
#MissingUser.new parse_user data
when
:newroom
#
when :newroom
NewRoom
.
new
parse_room
data
#
NewRoom.new parse_room data
when
:missingroom
#
when :missingroom
MissingRoom
.
new
parse_room
data
#
MissingRoom.new parse_room data
when
:chat
when
:chat
case
data
[
:channel
]
case
data
[
:channel
]
when
:lobby
when
:lobby
...
@@ -33,25 +33,25 @@ class Game_Event
...
@@ -33,25 +33,25 @@ class Game_Event
end
end
end
end
def
self
.
parse_room
(
room
)
def
self
.
parse_room
(
room
)
result
=
Room
.
new
(
room
[
:id
],
room
[
:name
])
result
=
Room
.
new
(
room
[
'id'
],
room
[
'name'
])
result
.
p
layer1
=
room
[
:player1
]
&&
parse_user
(
room
[
:player1
])
result
.
p
rivate
=
room
[
'private'
]
result
.
p
layer2
=
room
[
:player2
]
&&
parse_user
(
room
[
:player2
])
result
.
p
vp
=
room
[
'pvp'
]
result
.
private
=
room
[
:private
]
result
.
match
=
room
[
'mode'
]
==
1
result
.
pvp
=
room
[
:pvp
]
result
.
tag
=
room
[
'mode'
]
==
2
result
.
match
=
room
[
:match
]
result
.
ot
=
room
[
'rule'
]
||
0
result
.
tag
=
room
[
:tag
]
result
.
status
=
room
[
'status'
].
to_sym
result
.
ot
=
room
[
:ot
]
result
.
lp
=
room
[
'start_lp'
]
||
8000
result
.
status
=
room
[
:status
]
result
.
lp
=
room
[
:lp
]
result
.
player1
=
room
[
'users'
][
0
]
&&
parse_user
(
room
[
'users'
][
0
])
result
.
_deleted
=
room
[
:_deleted
]
result
.
player2
=
room
[
'users'
][
1
]
&&
parse_user
(
room
[
'users'
][
1
])
result
.
server_id
=
room
[
:server_id
]
result
.
server
_ip
=
room
[
:server_ip
]
result
.
server
=
Server
.
find
room
[
'server_id'
]
result
.
server_port
=
room
[
:server_port
]
result
.
server_auth
=
room
[
:server_auth
]
result
.
_deleted
=
room
[
'_deleted'
]
result
result
end
end
def
self
.
parse_user
(
user
)
def
self
.
parse_user
(
user
)
User
.
new
(
user
[
:id
],
user
[
:name
],
user
[
:certified
])
User
.
new
(
user
[
'id'
]
||
user
[
:id
],
user
[
'name'
]
||
user
[
:name
],
user
[
'certified'
]
||
user
[
:certified
])
end
end
def
self
.
parse_server
(
server
)
def
self
.
parse_server
(
server
)
Server
.
new
(
server
[
:id
],
server
[
:name
],
server
[
:ip
],
server
[
:port
],
server
[
:auth
])
Server
.
new
(
server
[
:id
],
server
[
:name
],
server
[
:ip
],
server
[
:port
],
server
[
:auth
])
...
...
lib/ygocore/game.rb
View file @
ff51a04b
This diff is collapsed.
Click to expand it.
lib/ygocore/room.rb
View file @
ff51a04b
class
Room
class
Room
attr_accessor
:pvp
attr_accessor
:pvp
attr_accessor
:match
attr_accessor
:match
attr_accessor
:tag
attr_accessor
:tag
attr_accessor
:ot
attr_accessor
:ot
attr_accessor
:lp
attr_accessor
:lp
attr_accessor
:status
attr_accessor
:status
attr_accessor
:server_id
,
:server_ip
,
:server_port
,
:server_auth
attr_accessor
:server
alias
pvp?
pvp
alias
pvp?
pvp
alias
match?
match
alias
match?
match
alias
tag?
tag
alias
tag?
tag
def
lp
def
lp
@lp
||=
8000
@lp
||=
8000
end
end
def
ot
def
ot
@ot
||=
0
@ot
||=
0
end
end
def
full?
def
full?
$game
.
is_a?
(
Ygocore
)
?
(
@status
==
:
start
)
:
player2
#不规范修正iduel房间识别问题
$game
.
is_a?
(
Ygocore
)
?
(
@status
==
:
start
)
:
player2
#不规范修正iduel房间识别问题
end
end
def
extra
def
extra
result
=
{}
result
=
{}
if
pvp?
if
pvp?
result
[
"[竞技场]"
]
=
[
255
,
0
,
0
]
result
[
"[竞技场]"
]
=
[
255
,
0
,
0
]
end
end
if
tag?
if
tag?
result
[
"[TAG双打]"
]
=
[
128
,
0
,
255
]
result
[
"[TAG双打]"
]
=
[
128
,
0
,
255
]
elsif
match?
elsif
match?
result
[
"[三回决斗]"
]
=
[
0xff
,
0x72
,
0
]
result
[
"[三回决斗]"
]
=
[
0xff
,
0x72
,
0
]
end
end
if
ot
==
1
if
ot
==
1
result
[
"[TCG]"
]
=
[
255
,
0
,
0
]
result
[
"[TCG]"
]
=
[
255
,
0
,
0
]
elsif
ot
==
2
elsif
ot
==
2
result
[
"[O/T混]"
]
=
[
255
,
0
,
0
]
result
[
"[O/T混]"
]
=
[
255
,
0
,
0
]
end
end
if
lp
!=
8000
if
lp
!=
8000
result
[
"[LP:
#{
lp
}
]"
]
=
[
255
,
0
,
0
]
result
[
"[LP:
#{
lp
}
]"
]
=
[
255
,
0
,
0
]
end
end
result
result
end
end
end
def
host_server
servers
=
$game
.
servers
servers
.
select!
{
|
server
|
server
.
auth
}
if
@pvp
s
=
servers
&
$game
.
filter
[
:servers
]
servers
=
s
if
!
s
.
empty?
server
=
servers
.
min_by
{
|
server
|
$game
.
rooms
.
select
{
|
room
|
room
.
server
==
server
}.
size
}
p
server
server
||=
Server
.
new
(
nil
,
""
,
$game
.
server
,
$game
.
port
,
true
)
self
.
server
=
server
server
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment