Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Moecube Store
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
MyCard
Moecube Store
Commits
a8029d9c
Commit
a8029d9c
authored
Jan 23, 2013
by
神楽坂玲奈
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new room
parent
c0ea1aa8
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
110 additions
and
98 deletions
+110
-98
assets/javascripts/rooms.coffee
assets/javascripts/rooms.coffee
+17
-45
assets/javascripts/rooms.js
assets/javascripts/rooms.js
+21
-45
rooms/index.html
rooms/index.html
+20
-8
vendor/javascripts/mycard.coffee
vendor/javascripts/mycard.coffee
+18
-0
vendor/javascripts/mycard.js
vendor/javascripts/mycard.js
+34
-0
No files found.
assets/javascripts/rooms.coffee
View file @
a8029d9c
...
@@ -4,10 +4,10 @@ class Server extends Spine.Model
...
@@ -4,10 +4,10 @@ class Server extends Spine.Model
@
url
:
"/servers.json"
@
url
:
"/servers.json"
class
Room
extends
Spine
.
Model
class
Room
extends
Spine
.
Model
@
configure
"Room"
,
"name"
,
"status"
,
"private"
@
configure
"Room"
,
"name"
,
"status"
,
"private"
,
"rule"
,
"mode"
,
"start_lp"
@
belongsTo
'server'
,
Server
@
belongsTo
'server'
,
Server
class
Rooms
extends
Spine
.
Controller
class
Rooms
extends
Spine
.
Controller
events
:
events
:
'click .room'
:
'clicked'
'click .room'
:
'clicked'
constructor
:
->
constructor
:
->
...
@@ -27,7 +27,8 @@ class Rooms extends Spine.Controller
...
@@ -27,7 +27,8 @@ class Rooms extends Spine.Controller
$
(
'#join_private_room'
).
data
(
'room_id'
,
room
.
id
)
$
(
'#join_private_room'
).
data
(
'room_id'
,
room
.
id
)
$
(
'#join_private_room_dialog'
).
dialog
(
'open'
)
$
(
'#join_private_room_dialog'
).
dialog
(
'open'
)
else
else
mycard
.
join
(
room
.
server
().
ip
,
room
.
server
().
port
,
room
.
name
)
alert
room
mycard
.
join
(
room
.
server
().
ip
,
room
.
server
().
port
,
mycard
.
room_name
(
room
.
name
,
null
,
room
.
pvp
,
room
.
rule
,
room
.
mode
,
room
.
start_lp
))
$
(
document
).
ready
->
$
(
document
).
ready
->
...
@@ -56,53 +57,27 @@ $(document).ready ->
...
@@ -56,53 +57,27 @@ $(document).ready ->
title
:
"加入私密房间"
title
:
"加入私密房间"
new_room
=
$
(
'#new_room'
)[
0
]
new_room
=
$
(
'#new_room'
)[
0
]
new_room
.
tag
.
onchange
=
->
if
@
checked
new_room
.
pvp
.
checked
=
false
new_room
.
match
.
checked
=
false
new_room
.
match
.
onchange
=
->
if
@
checked
new_room
.
tag
.
checked
=
false
new_room
.
pvp
.
onchange
=
->
new_room
.
pvp
.
onchange
=
->
if
@
checked
if
@
checked
new_room
.
tag
.
checked
=
false
new_room
.
mode
.
value
=
1
if
new_room
.
mode
.
value
==
'2'
new_room
.
tcg
.
checked
=
false
new_room
.
rule
.
value
=
0
new_room
.
ocg
.
checked
=
true
new_room
.
start_lp
.
value
=
8000
new_room
.
lp
.
value
=
8000
new_room
.
mode
.
onchange
=
->
new_room
.
ocg
.
onchange
=
->
if
@
value
==
'2'
if
!
@
checked
new_room
.
pvp
.
checked
=
false
new_room
.
tcg
.
checked
=
true
new_room
.
rule
.
onchange
=
->
new_room
.
tcg
.
onchange
=
->
if
@
value
!=
'0'
if
@
checked
new_room
.
pvp
.
checked
=
false
new_room
.
start_lp
.
onchange
=
->
if
@
value
!=
'8000'
new_room
.
pvp
.
checked
=
false
new_room
.
pvp
.
checked
=
false
else
new_room
.
ocg
.
checked
=
true
new_room
.
onsubmit
=
(
ev
)
->
new_room
.
onsubmit
=
(
ev
)
->
ev
.
preventDefault
()
ev
.
preventDefault
()
$
(
'#new_room_dialog'
).
dialog
(
'close'
)
$
(
'#new_room_dialog'
).
dialog
(
'close'
)
rule
=
if
@
tcg
.
checked
then
(
if
@
ocg
.
checked
then
2
else
1
)
else
0
mode
=
if
@
tag
.
checked
then
2
else
if
@
match
.
checked
then
1
else
0
if
rule
!=
0
or
@
lp
.
value
!=
'8000'
result
=
"
#{
rule
}#{
mode
}
FFF
#{
@
lp
.
value
}
,5,1,"
else
if
@
tag
.
checked
result
=
"T#"
else
if
@
pvp
.
checked
and
@
match
.
checked
result
=
"PM#"
else
if
@
pvp
.
checked
result
=
"P#"
else
if
@
match
.
checked
result
=
"M#"
result
+=
@
name
.
value
if
@
password
.
value
result
+=
'$'
+
@
password
.
value
servers
=
Server
.
all
()
servers
=
Server
.
all
()
server
=
servers
[
Math
.
floor
Math
.
random
()
*
servers
.
length
]
server
=
servers
[
Math
.
floor
Math
.
random
()
*
servers
.
length
]
mycard
.
join
(
server
.
ip
,
server
.
port
,
result
)
mycard
.
join
server
.
ip
,
server
.
port
,
mycard
.
room_name
(
@
name
.
value
,
@
password
.
value
,
@
pvp
.
checked
,
parseInt
(
@
rule
.
value
),
parseInt
(
@
mode
.
value
),
parseInt
(
@
start_lp
.
value
))
$
(
'#join_private_room'
).
submit
(
ev
)
->
$
(
'#join_private_room'
).
submit
(
ev
)
->
ev
.
preventDefault
()
ev
.
preventDefault
()
...
@@ -112,8 +87,7 @@ $(document).ready ->
...
@@ -112,8 +87,7 @@ $(document).ready ->
room_id
=
$
(
this
).
data
(
'room_id'
)
room_id
=
$
(
this
).
data
(
'room_id'
)
if
Room
.
exists
room_id
if
Room
.
exists
room_id
room
=
Room
.
find
(
room_id
)
room
=
Room
.
find
(
room_id
)
server
=
room
.
server
()
mycard
.
join
(
room
.
server
().
ip
,
room
.
server
().
port
,
mycard
.
room_name
(
room
.
name
,
null
,
room
.
pvp
,
room
.
rule
,
room
.
mode
,
room
.
start_lp
))
mycard
.
join
(
server
.
ip
,
server
.
port
,
"
#{
room
.
name
}
$
#{
@
password
.
value
}
"
)
else
else
alert
'房间已经关闭'
alert
'房间已经关闭'
...
@@ -122,7 +96,6 @@ $(document).ready ->
...
@@ -122,7 +96,6 @@ $(document).ready ->
new_room
.
name
.
value
=
Math
.
floor
Math
.
random
()
*
1000
new_room
.
name
.
value
=
Math
.
floor
Math
.
random
()
*
1000
$
(
'#new_room_dialog'
).
dialog
(
'open'
)
$
(
'#new_room_dialog'
).
dialog
(
'open'
)
rooms
=
new
Rooms
(
el
:
$
(
'#rooms'
))
rooms
=
new
Rooms
(
el
:
$
(
'#rooms'
))
Server
.
one
"refresh"
,
->
Server
.
one
"refresh"
,
->
...
@@ -139,7 +112,6 @@ $(document).ready ->
...
@@ -139,7 +112,6 @@ $(document).ready ->
if
room
.
_deleted
if
room
.
_deleted
Room
.
find
(
room
.
id
).
destroy
()
if
Room
.
exists
(
room
.
id
)
Room
.
find
(
room
.
id
).
destroy
()
if
Room
.
exists
(
room
.
id
)
Room
.
refresh
(
room
for
room
in
rooms
when
!
room
.
_deleted
)
Room
.
refresh
(
room
for
room
in
rooms
when
!
room
.
_deleted
)
websocket
.
onerror
=
(
evt
)
->
websocket
.
onerror
=
(
evt
)
->
console
.
log
(
'Error occured: '
+
evt
.
data
);
console
.
log
(
'Error occured: '
+
evt
.
data
);
Server
.
fetch
()
Server
.
fetch
()
...
...
assets/javascripts/rooms.js
View file @
a8029d9c
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
return
Room
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
return
Room
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
}
}
Room
.
configure
(
"
Room
"
,
"
name
"
,
"
status
"
,
"
private
"
);
Room
.
configure
(
"
Room
"
,
"
name
"
,
"
status
"
,
"
private
"
,
"
rule
"
,
"
mode
"
,
"
start_lp
"
);
Room
.
belongsTo
(
'
server
'
,
Server
);
Room
.
belongsTo
(
'
server
'
,
Server
);
...
@@ -69,7 +69,8 @@
...
@@ -69,7 +69,8 @@
$
(
'
#join_private_room
'
).
data
(
'
room_id
'
,
room
.
id
);
$
(
'
#join_private_room
'
).
data
(
'
room_id
'
,
room
.
id
);
return
$
(
'
#join_private_room_dialog
'
).
dialog
(
'
open
'
);
return
$
(
'
#join_private_room_dialog
'
).
dialog
(
'
open
'
);
}
else
{
}
else
{
return
mycard
.
join
(
room
.
server
().
ip
,
room
.
server
().
port
,
room
.
name
);
alert
(
room
);
return
mycard
.
join
(
room
.
server
().
ip
,
room
.
server
().
port
,
mycard
.
room_name
(
room
.
name
,
null
,
room
.
pvp
,
room
.
rule
,
room
.
mode
,
room
.
start_lp
));
}
}
};
};
...
@@ -106,72 +107,47 @@
...
@@ -106,72 +107,47 @@
title
:
"
加入私密房间
"
title
:
"
加入私密房间
"
});
});
new_room
=
$
(
'
#new_room
'
)[
0
];
new_room
=
$
(
'
#new_room
'
)[
0
];
new_room
.
tag
.
onchange
=
function
()
{
new_room
.
pvp
.
onchange
=
function
()
{
if
(
this
.
checked
)
{
if
(
this
.
checked
)
{
new_room
.
pvp
.
checked
=
false
;
if
(
new_room
.
mode
.
value
===
'
2
'
)
{
return
new_room
.
match
.
checked
=
false
;
new_room
.
mode
.
value
=
1
;
}
}
};
new_room
.
rule
.
value
=
0
;
new_room
.
match
.
onchange
=
function
()
{
return
new_room
.
start_lp
.
value
=
8000
;
if
(
this
.
checked
)
{
return
new_room
.
tag
.
checked
=
false
;
}
}
};
};
new_room
.
pvp
.
onchange
=
function
()
{
new_room
.
mode
.
onchange
=
function
()
{
if
(
this
.
checked
)
{
if
(
this
.
value
===
'
2
'
)
{
new_room
.
tag
.
checked
=
false
;
return
new_room
.
pvp
.
checked
=
false
;
new_room
.
tcg
.
checked
=
false
;
new_room
.
ocg
.
checked
=
true
;
return
new_room
.
lp
.
value
=
8000
;
}
}
};
};
new_room
.
ocg
.
onchange
=
function
()
{
new_room
.
rule
.
onchange
=
function
()
{
if
(
!
this
.
checked
)
{
if
(
this
.
value
!==
'
0
'
)
{
return
new_room
.
tcg
.
checked
=
tru
e
;
return
new_room
.
pvp
.
checked
=
fals
e
;
}
}
};
};
new_room
.
tcg
.
onchange
=
function
()
{
new_room
.
start_lp
.
onchange
=
function
()
{
if
(
this
.
checked
)
{
if
(
this
.
value
!==
'
8000
'
)
{
return
new_room
.
pvp
.
checked
=
false
;
return
new_room
.
pvp
.
checked
=
false
;
}
else
{
return
new_room
.
ocg
.
checked
=
true
;
}
}
};
};
new_room
.
onsubmit
=
function
(
ev
)
{
new_room
.
onsubmit
=
function
(
ev
)
{
var
mode
,
result
,
rule
,
server
,
servers
;
var
server
,
servers
;
ev
.
preventDefault
();
ev
.
preventDefault
();
$
(
'
#new_room_dialog
'
).
dialog
(
'
close
'
);
$
(
'
#new_room_dialog
'
).
dialog
(
'
close
'
);
rule
=
this
.
tcg
.
checked
?
(
this
.
ocg
.
checked
?
2
:
1
)
:
0
;
mode
=
this
.
tag
.
checked
?
2
:
this
.
match
.
checked
?
1
:
0
;
if
(
rule
!==
0
||
this
.
lp
.
value
!==
'
8000
'
)
{
result
=
""
+
rule
+
mode
+
"
FFF
"
+
this
.
lp
.
value
+
"
,5,1,
"
;
}
else
if
(
this
.
tag
.
checked
)
{
result
=
"
T#
"
;
}
else
if
(
this
.
pvp
.
checked
&&
this
.
match
.
checked
)
{
result
=
"
PM#
"
;
}
else
if
(
this
.
pvp
.
checked
)
{
result
=
"
P#
"
;
}
else
if
(
this
.
match
.
checked
)
{
result
=
"
M#
"
;
}
result
+=
this
.
name
.
value
;
if
(
this
.
password
.
value
)
{
result
+=
'
$
'
+
this
.
password
.
value
;
}
servers
=
Server
.
all
();
servers
=
Server
.
all
();
server
=
servers
[
Math
.
floor
(
Math
.
random
()
*
servers
.
length
)];
server
=
servers
[
Math
.
floor
(
Math
.
random
()
*
servers
.
length
)];
return
mycard
.
join
(
server
.
ip
,
server
.
port
,
result
);
return
mycard
.
join
(
server
.
ip
,
server
.
port
,
mycard
.
room_name
(
this
.
name
.
value
,
this
.
password
.
value
,
this
.
pvp
.
checked
,
parseInt
(
this
.
rule
.
value
),
parseInt
(
this
.
mode
.
value
),
parseInt
(
this
.
start_lp
.
value
))
);
};
};
$
(
'
#join_private_room
'
).
submit
(
function
(
ev
)
{
$
(
'
#join_private_room
'
).
submit
(
function
(
ev
)
{
var
room
,
room_id
,
server
;
var
room
,
room_id
;
ev
.
preventDefault
();
ev
.
preventDefault
();
$
(
'
#join_private_room_dialog
'
).
dialog
(
'
close
'
);
$
(
'
#join_private_room_dialog
'
).
dialog
(
'
close
'
);
if
(
this
.
password
.
value
)
{
if
(
this
.
password
.
value
)
{
room_id
=
$
(
this
).
data
(
'
room_id
'
);
room_id
=
$
(
this
).
data
(
'
room_id
'
);
if
(
Room
.
exists
(
room_id
))
{
if
(
Room
.
exists
(
room_id
))
{
room
=
Room
.
find
(
room_id
);
room
=
Room
.
find
(
room_id
);
server
=
room
.
server
();
return
mycard
.
join
(
room
.
server
().
ip
,
room
.
server
().
port
,
mycard
.
room_name
(
room
.
name
,
null
,
room
.
pvp
,
room
.
rule
,
room
.
mode
,
room
.
start_lp
));
return
mycard
.
join
(
server
.
ip
,
server
.
port
,
""
+
room
.
name
+
"
$
"
+
this
.
password
.
value
);
}
else
{
}
else
{
return
alert
(
'
房间已经关闭
'
);
return
alert
(
'
房间已经关闭
'
);
}
}
...
...
rooms/index.html
View file @
a8029d9c
...
@@ -142,15 +142,27 @@
...
@@ -142,15 +142,27 @@
<input
type=
"text"
id=
"name"
/><br/>
<input
type=
"text"
id=
"name"
/><br/>
<label>
房间密码
</label>
<label>
房间密码
</label>
<input
type=
"password"
name=
"password"
id=
"password"
value=
""
/><br/>
<input
type=
"password"
name=
"password"
id=
"password"
value=
""
/><br/>
<input
type=
"checkbox"
name=
"pvp"
id=
"pvp"
value=
"pvp"
/><label>
竞技场
</label>
<input
type=
"checkbox"
name=
"pvp"
id=
"pvp"
value=
"pvp"
/><label
for=
"pvp"
>
竞技场
</label>
<input
type=
"checkbox"
name=
"match"
id=
"match"
value=
"match"
checked=
"checked"
/><label>
比赛模式
</label>
<hr/>
<label
for=
"rule"
>
卡片允许
</label>
<select
id=
"rule"
name=
"rule"
>
<option
value =
"0"
selected=
"selected"
>
OCG
</option>
<option
value =
"1"
>
TCG
</option>
<option
value=
"2"
>
OCG&TCG
</option>
<option
value=
"3"
>
专有卡禁止
</option>
</select><br
/>
<label
for=
"mode"
>
决斗模式
</label>
<select
id=
"mode"
name=
"mode"
>
<option
value =
"0"
>
单局模式
</option>
<option
value =
"1"
selected=
"selected"
>
比赛模式
</option>
<option
value=
"2"
>
TAG
</option>
</select>
<hr/>
<hr/>
<h3>
自定义模式
</h3>
<h3>
额外选项
</h3>
<input
type=
"checkbox"
name=
"tag"
id=
"tag"
value=
"tag"
/><label>
TAG双打
</label>
<input
type=
"checkbox"
name=
"ocg"
id=
"ocg"
value=
"ocg"
checked=
"checked"
/><label>
OCG
</label>
<label
for=
"start_lp"
>
初始LP
</label>
<input
type=
"checkbox"
name=
"tcg"
id=
"tcg"
value=
"tcg"
/><label>
TCG
</label><br/>
<input
type=
"number"
name=
"start_lp"
id=
"start_lp"
min=
"0"
max=
"99999"
value=
"8000"
/><br/>
<label>
初始LP
</label>
<input
type=
"number"
name=
"lp"
id=
"lp"
min=
"0"
max=
"99999"
value=
"8000"
step=
"1000"
/><br/>
<input
type=
"submit"
value=
"确定"
/>
<input
type=
"submit"
value=
"确定"
/>
</form>
</form>
</div>
</div>
...
...
vendor/javascripts/mycard.coffee
View file @
a8029d9c
@
mycard
=
{}
@
mycard
=
{}
@
mycard
.
room_name
=
(
name
,
password
,
pvp
=
false
,
rule
=
0
,
mode
=
0
,
start_lp
=
8000
)
->
if
rule
!=
0
or
start_lp
!=
8000
result
=
"
#{
rule
}#{
mode
}
FFF
#{
start_lp
}
,5,1,"
else
if
mode
==
2
result
=
"T#"
else
if
pvp
and
mode
==
1
result
=
"PM#"
else
if
pvp
result
=
"P#"
else
if
mode
==
1
result
=
"M#"
else
result
=
""
result
+=
name
if
password
result
+=
'$'
+
password
result
@
mycard
.
join
=
(
ip
,
port
,
room
,
username
,
password
)
->
@
mycard
.
join
=
(
ip
,
port
,
room
,
username
,
password
)
->
result
=
'mycard://'
result
=
'mycard://'
if
username
if
username
...
...
vendor/javascripts/mycard.js
View file @
a8029d9c
...
@@ -3,6 +3,40 @@
...
@@ -3,6 +3,40 @@
this
.
mycard
=
{};
this
.
mycard
=
{};
this
.
mycard
.
room_name
=
function
(
name
,
password
,
pvp
,
rule
,
mode
,
start_lp
)
{
var
result
;
if
(
pvp
==
null
)
{
pvp
=
false
;
}
if
(
rule
==
null
)
{
rule
=
0
;
}
if
(
mode
==
null
)
{
mode
=
0
;
}
if
(
start_lp
==
null
)
{
start_lp
=
8000
;
}
if
(
rule
!==
0
||
start_lp
!==
8000
)
{
result
=
""
+
rule
+
mode
+
"
FFF
"
+
start_lp
+
"
,5,1,
"
;
}
else
if
(
mode
===
2
)
{
result
=
"
T#
"
;
}
else
if
(
pvp
&&
mode
===
1
)
{
result
=
"
PM#
"
;
}
else
if
(
pvp
)
{
result
=
"
P#
"
;
}
else
if
(
mode
===
1
)
{
result
=
"
M#
"
;
}
else
{
result
=
""
;
}
result
+=
name
;
if
(
password
)
{
result
+=
'
$
'
+
password
;
}
return
result
;
};
this
.
mycard
.
join
=
function
(
ip
,
port
,
room
,
username
,
password
)
{
this
.
mycard
.
join
=
function
(
ip
,
port
,
room
,
username
,
password
)
{
var
result
;
var
result
;
result
=
'
mycard://
'
;
result
=
'
mycard://
'
;
...
...
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