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
2719711f
Commit
2719711f
authored
Nov 18, 2011
by
神楽坂玲奈
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
聊天
parent
f554109f
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
91 additions
and
44 deletions
+91
-44
lib/iduel.rb
lib/iduel.rb
+5
-1
lib/iduel_event.rb
lib/iduel_event.rb
+1
-1
lib/scene.rb
lib/scene.rb
+1
-1
lib/scene_duel.rb
lib/scene_duel.rb
+14
-3
lib/scene_hall.rb
lib/scene_hall.rb
+21
-7
lib/scene_title.rb
lib/scene_title.rb
+2
-2
lib/widget_inputbox.rb
lib/widget_inputbox.rb
+27
-9
lib/window_chat.rb
lib/window_chat.rb
+19
-19
lib/window_config.rb
lib/window_config.rb
+1
-1
No files found.
lib/iduel.rb
View file @
2719711f
...
@@ -61,7 +61,7 @@ class Iduel
...
@@ -61,7 +61,7 @@ class Iduel
send
(
10
,
@key
,
room
.
id
,
checknum
(
"QROOM"
,
@session
+
room
.
id
.
to_s
))
send
(
10
,
@key
,
room
.
id
,
checknum
(
"QROOM"
,
@session
+
room
.
id
.
to_s
))
end
end
def
action
(
action
)
def
action
(
action
)
send
(
2
,
"
#{
checknum
(
"RMSG"
,
@session
)
}
@
#{
@key
}
"
,
"
#{
action
.
escape
}
▊▊▊000000"
)
#TODO
send
(
2
,
"
#{
checknum
(
"RMSG"
,
@session
)
}
@
#{
@key
}
"
,
"
#{
action
.
escape
}
▊▊▊000000"
)
#TODO
:iduel校验字串
end
end
def
host
(
name
,
password
=
""
,
lv
=
0
,
color
=
0
)
def
host
(
name
,
password
=
""
,
lv
=
0
,
color
=
0
)
send
(
6
,
@key
,
name
,
password
,
checknum
(
"JOINROOMMSG"
,
@session
+
name
+
password
+
"0"
),
0
,
color
,
lv
,
0
,
nil
,
nil
)
#TODO:v.ak, v.al
send
(
6
,
@key
,
name
,
password
,
checknum
(
"JOINROOMMSG"
,
@session
+
name
+
password
+
"0"
),
0
,
color
,
lv
,
0
,
nil
,
nil
)
#TODO:v.ak, v.al
...
@@ -69,6 +69,10 @@ class Iduel
...
@@ -69,6 +69,10 @@ class Iduel
def
watch
(
room
,
password
=
""
)
def
watch
(
room
,
password
=
""
)
send
(
5
,
@key
,
room
.
id
,
password
,
checknum
(
"WATCHROOMMSG"
,
"
#{
@session
}#{
room
.
id
}#{
password
}
"
))
send
(
5
,
@key
,
room
.
id
,
password
,
checknum
(
"WATCHROOMMSG"
,
"
#{
@session
}#{
room
.
id
}#{
password
}
"
))
end
end
def
chat
(
msg
)
send
(
4
,
@key
,
msg
,
checknum
(
"CHATP"
,
@session
))
#4|241019,test,2368c6b89b3e2eedb92e1b624a2a157c
end
def
quitwatchroom
def
quitwatchroom
send
(
"QUITWATCHROOM"
,
@key
,
checknum
(
"QUITWATCHROOM"
,
@session
))
send
(
"QUITWATCHROOM"
,
@key
,
checknum
(
"QUITWATCHROOM"
,
@session
))
end
end
...
...
lib/iduel_event.rb
View file @
2719711f
...
@@ -104,7 +104,7 @@ class Iduel::Event::PCHAT < Iduel::Event
...
@@ -104,7 +104,7 @@ class Iduel::Event::PCHAT < Iduel::Event
attr_reader
:user
,
:content
attr_reader
:user
,
:content
def
initialize
(
info
)
def
initialize
(
info
)
user
,
@content
=
info
.
split
(
","
,
2
)
user
,
@content
=
info
.
split
(
","
,
2
)
@user
=
Iduel
::
User
.
new
user
@user
=
user
==
"System"
?
Iduel
::
User
.
new
(
100000
,
"iDuel管理中心"
)
:
Iduel
::
User
.
new
(
user
)
end
end
end
end
class
Iduel
::
Event
::
JOINROOMOK
<
Iduel
::
Event
class
Iduel
::
Event
::
JOINROOMOK
<
Iduel
::
Event
...
...
lib/scene.rb
View file @
2719711f
...
@@ -14,7 +14,7 @@ class Scene
...
@@ -14,7 +14,7 @@ class Scene
start
start
while
$scene
==
self
while
$scene
==
self
update
update
#
sleep 0.01
sleep
0.01
end
end
terminate
terminate
end
end
...
...
lib/scene_duel.rb
View file @
2719711f
...
@@ -73,6 +73,7 @@ class Scene_Duel < Scene
...
@@ -73,6 +73,7 @@ class Scene_Duel < Scene
when
Event
::
MouseMotion
when
Event
::
MouseMotion
if
@active_window
and
!
@active_window
.
include?
event
.
x
,
event
.
y
if
@active_window
and
!
@active_window
.
include?
event
.
x
,
event
.
y
@active_window
.
lostfocus
@active_window
.
lostfocus
@active_window
=
nil
end
end
self
.
windows
.
reverse
.
each
do
|
window
|
self
.
windows
.
reverse
.
each
do
|
window
|
if
window
.
include?
event
.
x
,
event
.
y
if
window
.
include?
event
.
x
,
event
.
y
...
@@ -84,8 +85,18 @@ class Scene_Duel < Scene
...
@@ -84,8 +85,18 @@ class Scene_Duel < Scene
when
Event
::
MouseButtonDown
when
Event
::
MouseButtonDown
case
event
.
button
case
event
.
button
when
Mouse
::
BUTTON_LEFT
when
Mouse
::
BUTTON_LEFT
if
@active_window
and
!
@active_window
.
include?
event
.
x
,
event
.
y
@active_window
.
lostfocus
@active_window
=
nil
end
self
.
windows
.
reverse
.
each
do
|
window
|
if
window
.
include?
event
.
x
,
event
.
y
@active_window
=
window
@active_window
.
mousemoved
(
event
.
x
,
event
.
y
)
@active_window
.
mousemoved
(
event
.
x
,
event
.
y
)
@active_window
.
clicked
break
true
end
end
@active_window
.
clicked
if
@active_window
when
4
when
4
@active_window
.
cursor_up
@active_window
.
cursor_up
when
5
when
5
...
...
lib/scene_hall.rb
View file @
2719711f
...
@@ -8,18 +8,16 @@ class Scene_Hall < Scene
...
@@ -8,18 +8,16 @@ class Scene_Hall < Scene
require_relative
'window_playerlist'
require_relative
'window_playerlist'
require_relative
'window_userinfo'
require_relative
'window_userinfo'
require_relative
'window_roomlist'
require_relative
'window_roomlist'
require_relative
'window_chat'
#require_relative 'window_chat'
def
start
def
start
$iduel
.
upinfo
$iduel
.
upinfo
@background
=
Surface
.
load
"graphics/hall/background.png"
@background
=
Surface
.
load
"graphics/hall/background.png"
Surface
.
blit
(
@background
,
0
,
0
,
0
,
0
,
$screen
,
0
,
0
)
Surface
.
blit
(
@background
,
0
,
0
,
0
,
0
,
$screen
,
0
,
0
)
@playerlist
=
Window_PlayerList
.
new
(
24
,
204
)
@playerlist
=
Window_PlayerList
.
new
(
24
,
204
)
@userinfo
=
Window_UserInfo
.
new
(
24
,
24
,
$iduel
.
user
)
@userinfo
=
Window_UserInfo
.
new
(
24
,
24
,
$iduel
.
user
)
@roomlist
=
Window_RoomList
.
new
(
320
,
51
)
@roomlist
=
Window_RoomList
.
new
(
320
,
51
)
@active_window
=
@roomlist
@active_window
=
@roomlist
#@chat = Window_Chat.new(320,550
)
@chat
=
Window_Chat
.
new
(
320
,
550
,
680
,
168
)
$screen
.
update_rect
(
0
,
0
,
0
,
0
)
$screen
.
update_rect
(
0
,
0
,
0
,
0
)
bgm
=
Mixer
::
Music
.
load
(
"audio/bgm/hall.ogg"
)
bgm
=
Mixer
::
Music
.
load
(
"audio/bgm/hall.ogg"
)
...
@@ -31,11 +29,15 @@ class Scene_Hall < Scene
...
@@ -31,11 +29,15 @@ class Scene_Hall < Scene
def
handle
(
event
)
def
handle
(
event
)
case
event
case
event
when
Event
::
MouseMotion
when
Event
::
MouseMotion
if
@active_window
and
!
@active_window
.
include?
event
.
x
,
event
.
y
@active_window
.
lostfocus
@active_window
=
nil
end
self
.
windows
.
reverse
.
each
do
|
window
|
self
.
windows
.
reverse
.
each
do
|
window
|
if
window
.
include?
event
.
x
,
event
.
y
if
window
.
include?
event
.
x
,
event
.
y
@active_window
=
window
@active_window
=
window
@active_window
.
mousemoved
(
event
.
x
,
event
.
y
)
@active_window
.
mousemoved
(
event
.
x
,
event
.
y
)
break
break
true
end
end
end
end
when
Event
::
KeyDown
when
Event
::
KeyDown
...
@@ -66,8 +68,18 @@ class Scene_Hall < Scene
...
@@ -66,8 +68,18 @@ class Scene_Hall < Scene
when
Event
::
MouseButtonDown
when
Event
::
MouseButtonDown
case
event
.
button
case
event
.
button
when
Mouse
::
BUTTON_LEFT
when
Mouse
::
BUTTON_LEFT
if
@active_window
and
!
@active_window
.
include?
event
.
x
,
event
.
y
@active_window
.
lostfocus
@active_window
=
nil
end
self
.
windows
.
reverse
.
each
do
|
window
|
if
window
.
include?
event
.
x
,
event
.
y
@active_window
=
window
@active_window
.
mousemoved
(
event
.
x
,
event
.
y
)
@active_window
.
mousemoved
(
event
.
x
,
event
.
y
)
@active_window
.
clicked
break
end
end
@active_window
.
clicked
if
@active_window
when
4
when
4
@active_window
.
cursor_up
@active_window
.
cursor_up
when
5
when
5
...
@@ -94,6 +106,8 @@ class Scene_Hall < Scene
...
@@ -94,6 +106,8 @@ class Scene_Hall < Scene
when
Iduel
::
Event
::
WATCHROOMSTART
when
Iduel
::
Event
::
WATCHROOMSTART
require_relative
'scene_watch'
require_relative
'scene_watch'
$scene
=
Scene_Watch
.
new
(
event
.
room
)
$scene
=
Scene_Watch
.
new
(
event
.
room
)
when
Iduel
::
Event
::
PCHAT
@chat
.
add
event
.
user
,
event
.
content
else
else
puts
"---unhandled iduel event----"
puts
"---unhandled iduel event----"
p
event
p
event
...
...
lib/scene_title.rb
View file @
2719711f
...
@@ -21,6 +21,8 @@ class Scene_Title < Scene
...
@@ -21,6 +21,8 @@ class Scene_Title < Scene
@bgm
=
Mixer
::
Music
.
load
'audio/bgm/title.ogg'
@bgm
=
Mixer
::
Music
.
load
'audio/bgm/title.ogg'
@decision_se
=
Mixer
::
Wave
.
load
(
"audio/se/decision.ogg"
)
@decision_se
=
Mixer
::
Wave
.
load
(
"audio/se/decision.ogg"
)
Mixer
.
fade_in_music
@bgm
,
-
1
,
800
Mixer
.
fade_in_music
@bgm
,
-
1
,
800
end
end
def
clear
(
x
,
y
,
width
,
height
)
def
clear
(
x
,
y
,
width
,
height
)
Surface
.
blit
(
@background
,
x
,
y
,
width
,
height
,
$screen
,
x
,
y
)
Surface
.
blit
(
@background
,
x
,
y
,
width
,
height
,
$screen
,
x
,
y
)
...
@@ -39,13 +41,11 @@ class Scene_Title < Scene
...
@@ -39,13 +41,11 @@ class Scene_Title < Scene
case
event
.
button
case
event
.
button
when
Mouse
::
BUTTON_LEFT
when
Mouse
::
BUTTON_LEFT
Widget_InputBox
.
show
(
0
,
0
){
|
text
,
finished
|
p
text
,
finished
}
if
@command_window
.
include?
(
event
.
x
,
event
.
y
)
if
@command_window
.
include?
(
event
.
x
,
event
.
y
)
@command_window
.
click
((
event
.
y
-
@command_window
.
y
)
/
@command_window
.
class
::
Button_Height
)
@command_window
.
click
((
event
.
y
-
@command_window
.
y
)
/
@command_window
.
class
::
Button_Height
)
end
end
when
Mouse
::
BUTTON_RIGHT
when
Mouse
::
BUTTON_RIGHT
Widget_InputBox
.
right
when
4
#scrool_up
when
4
#scrool_up
@command_window
.
index
=
@index
?
(
@index
-
1
)
%
Buttons
.
size
:
0
@command_window
.
index
=
@index
?
(
@index
-
1
)
%
Buttons
.
size
:
0
when
5
when
5
...
...
lib/widget_inputbox.rb
View file @
2719711f
class
Widget_InputBox
class
Widget_InputBox
<
Window
attr_accessor
:text
,
:proc
require
'tk'
require
'tk'
@@font
=
TkFont
.
new
(
"family"
=>
'WenQuanYi Micro Hei'
,
"size"
=>
15
)
#这字号尼玛?!
@@root
=
TkRoot
.
new
{
@@root
=
TkRoot
.
new
{
withdraw
withdraw
overrideredirect
true
overrideredirect
true
attributes
:topmost
,
true
attributes
:topmost
,
true
}
}
@@entry
=
TkEntry
.
new
(
@@root
){
@@entry
=
TkEntry
.
new
(
@@root
){
takefocus
1
font
@@font
validate
:focusout
validate
:focusout
validatecommand
{
@@
root
.
withdraw
;
@@proc
.
call
(
get
,
false
)
;
true
}
validatecommand
{
@@
active
.
text
.
replace
(
get
);
@@root
.
withdraw
(
true
);
@@active
.
refresh
;
true
}
bind
(
'Key-Return'
){
@@
root
.
withdraw
;
@@proc
.
call
(
get
,
true
);
true
}
bind
(
'Key-Return'
){
@@
active
.
proc
.
call
(
get
);
delete
(
0
,
get
.
size
);
@@root
.
withdraw
(
true
);
true
}
pack
pack
}
}
def
self
.
show
(
x
,
y
,
text
=
nil
,
&
proc
)
Thread
.
new
{
Tk
.
mainloop
}
@@root
.
geometry
"+
#{
x
+
TkWinfo
.
pointerx
(
@@root
)
-
Mouse
.
state
[
0
]
}
+
#{
y
+
TkWinfo
.
pointery
(
@@root
)
-
Mouse
.
state
[
1
]
}
"
def
initialize
(
x
,
y
,
width
,
height
,
z
=
300
,
&
block
)
super
(
x
,
y
,
width
,
height
,
z
)
@font
=
TTF
.
open
(
"fonts/WenQuanYi Micro Hei.ttf"
,
20
)
@proc
=
block
@text
=
""
end
def
refresh
@contents
.
fill_rect
(
0
,
0
,
@width
,
@height
,
0x66000000
)
@font
.
draw_blended_utf8
(
@contents
,
@text
,
0
,
0
,
0xFF
,
0xFF
,
0xFF
)
unless
@text
.
empty?
end
def
mousemoved
(
x
,
y
)
end
def
clicked
@@active
=
self
@@root
.
geometry
"
#{
@width
}
x
#{
@height
}
+
#{
@x
+
TkWinfo
.
pointerx
(
@@root
)
-
Mouse
.
state
[
0
]
}
+
#{
@y
+
TkWinfo
.
pointery
(
@@root
)
-
Mouse
.
state
[
1
]
}
"
@@entry
.
text
@text
@@entry
.
width
@width
@@root
.
deiconify
@@root
.
deiconify
@@entry
.
text
text
if
text
@@proc
=
proc
@@entry
.
focus
:force
@@entry
.
focus
:force
end
end
Thread
.
new
{
Tk
.
mainloop
}
end
end
lib/window_chat.rb
View file @
2719711f
...
@@ -4,28 +4,28 @@
...
@@ -4,28 +4,28 @@
# title
# title
#==============================================================================
#==============================================================================
class
Window_Chat
<
Sprite
class
Window_Chat
<
Window
User_Color
=
[
0
,
0
,
0xFF
]
Text_Color
=
[
0
,
0
,
0
]
def
initialize
(
x
,
y
,
width
,
height
)
def
initialize
(
x
,
y
,
width
,
height
)
super
(
Image
.
new
(
width
,
height
)
){
|
sprite
|
super
(
x
,
y
,
width
,
height
)
sprite
.
x
=
x
@chat_input
=
Widget_InputBox
.
new
(
416
,
723
,
586
,
24
){
|
text
|
$iduel
.
chat
text
;
add
(
$iduel
.
user
,
text
)}
sprite
.
y
=
y
@font
=
TTF
.
open
(
"fonts/WenQuanYi Micro Hei.ttf"
,
16
)
sprite
.
width
=
width
@contents
.
fill_rect
(
0
,
0
,
@width
,
@height
,
0xFFFFFFFF
)
sprite
.
height
=
height
@list
=
[]
sprite
.
contents
[
0
].
font
.
size
=
16
sprite
.
contents
[
0
].
font
.
color
=
Color
.
new
(
0x031122
)
sprite
.
contents
[
0
].
font
.
smooth
=
true
@font_bold
=
sprite
.
contents
[
0
].
font
.
dup
@font_bold
.
bold
=
true
}
yield
self
if
block_given?
end
end
def
add
(
user
,
content
)
def
add
(
user
,
content
)
contents
[
0
].
blit
(
contents
[
0
],
0
,
0
,
0
,
24
,
contents
[
0
].
width
,
contents
[
0
].
height
-
16
)
#滚动条泥煤啊
@list
<<
[
user
,
content
]
contents
[
0
].
fill_rect
(
Color
::
White
,
0
,
contents
[
0
].
height
-
16
,
contents
[
0
].
width
,
16
)
refresh
name
=
user
.
name
+
": "
end
name_width
=
@font_bold
.
text_size
(
name
)[
0
]
def
refresh
contents
[
0
].
draw_text
(
name
,
0
,
contents
[
0
].
height
-
16
,
@font_bold
)
@contents
.
fill_rect
(
0
,
0
,
@width
,
@height
,
0xFFFFFFFF
)
contents
[
0
].
draw_text
(
content
,
name_width
,
contents
[
0
].
height
-
16
)
@list
.
last
(
7
).
each_with_index
do
|
chat
,
index
|
user
,
content
=
*
chat
@font
.
draw_blended_utf8
(
@contents
,
user
.
name
,
0
,
index
*
WLH
,
*
User_Color
)
name_width
=
@font
.
text_size
(
user
.
name
)[
0
]
@font
.
draw_blended_utf8
(
@contents
,
':'
+
content
,
name_width
,
index
*
WLH
,
*
Text_Color
)
end
end
end
end
end
lib/window_config.rb
View file @
2719711f
...
@@ -54,7 +54,7 @@ class Window_Config < Window
...
@@ -54,7 +54,7 @@ class Window_Config < Window
clear
(
*
item_rect
(
@index
))
clear
(
*
item_rect
(
@index
))
draw_item
(
@index
,
0
)
draw_item
(
@index
,
0
)
end
end
if
index
.
nil?
or
index
.
is_a?
(
Emulator
)
if
index
.
nil?
or
!
@items
.
include?
index
@index
=
nil
@index
=
nil
else
else
@index
=
index
@index
=
index
...
...
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