Commit ab7decea authored by 神楽坂玲奈's avatar 神楽坂玲奈

temp

parent 5785e047
...@@ -47,7 +47,7 @@ class CardUsage extends Spine.Model ...@@ -47,7 +47,7 @@ class CardUsage extends Spine.Model
class Deck extends Spine.Controller class Deck extends Spine.Controller
events: "mouseenter .card": "show" events: "mouseenter .card": "show"
key: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-="
constructor: -> constructor: ->
super super
CardUsage.bind("refresh change", @render) CardUsage.bind("refresh change", @render)
...@@ -55,39 +55,33 @@ class Deck extends Spine.Controller ...@@ -55,39 +55,33 @@ class Deck extends Spine.Controller
@html $("#card_template").tmpl(CardUsage.all()) @html $("#card_template").tmpl(CardUsage.all())
show: (e) -> show: (e) ->
card = $(e.target).tmplItem().data.card() card = $(e.target).tmplItem().data.card()
$("#card_image").attr 'src', "https://raw.github.com/zh99998/ygopro-images/master/#{card.id}.jpg" $("#card_image").attr 'src', "http://images.my-card.in/#{card.id}.jpg"
$("#card_name").html card.name $("#card_name").html card.name
$("#card_card_type").html card.card_type.join('·') $("#card_card_type").html ($.i18n.prop 'card_type.' + card_type for card_type in card.card_type).join('·')
$("#card_type").html card.type $("#card_type").html if card.type then $.i18n.prop 'type.'+ card.type else ""
$("#card_attribute").html card.attribute $("#card_attribute").html if card.attribute then $.i18n.prop 'attribute.' + card.attribute else ""
$("#card_level").html card.level $("#card_level").html card.level if card.level
$("#card_atk").html card.atk $("#card_atk").html card.atk || ""
$("#card_def").html card.def $("#card_def").html card.def || ""
$("#card_description").html card.description $("#card_description").html card.description
decode = (str)-> parse: (str)->
key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-=" card_usages = (for i in [0...str.length] by 5
result = 0 decoded = 0
for char in str for char in str.substr(i, 5)
result <<= 6 decoded = (decoded << 6) + @key.indexOf(char)
result += key.indexOf(char) card_id = decoded & 0x07FFFFFF
result side = decoded >> 29
count = decoded >> 27 & 0x3
name = $.url().param('name') {card_id: card_id, side: side, count: count}
cards_encoded = $.url().param('cards') )
$('img#qrcode').attr('src', 'https://chart.googleapis.com/chart?chs=200x200&cht=qr&chld=|0&chl=' + encodeURIComponent("http://my-card.in/decks/?name=#{name}&cards=#{cards_encoded}")) Card.query {_id: { $in: card_usage.card_id for card_usage in card_usages}}, =>
$('#name').html(name) CardUsage.refresh card_usages
$(document).ready -> $(document).ready ->
deck = [] name = $.url().param('name')
cards_id = [] cards_encoded = $.url().param('cards')
for i in [0...cards_encoded.length] by 5 $('img#qrcode').attr('src', 'https://chart.googleapis.com/chart?chs=200x200&cht=qr&chld=|0&chl=' + encodeURIComponent("http://my-card.in/decks/?name=#{name}&cards=#{cards_encoded}"))
decoded = decode(cards_encoded.substr(i, 5)) $('#name').html(name)
side = decoded >> 29
count = decoded >> 27 & 0x3
id = decoded & 0x07FFFFFF
cards_id.push id
deck.push {card_id: id, count: count, side: side}
a = new Deck(el: $("#deck")) deck = new Deck(el: $("#deck"))
Card.query {_id: { $in: cards_id}}, => deck.parse cards_encoded
CardUsage.refresh deck \ No newline at end of file
\ No newline at end of file
// Generated by CoffeeScript 1.4.0 // Generated by CoffeeScript 1.4.0
(function() { (function() {
var Card, CardUsage, Deck, cards_encoded, decode, locale, name, var Card, CardUsage, Deck, locale,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
...@@ -133,6 +133,8 @@ ...@@ -133,6 +133,8 @@
"mouseenter .card": "show" "mouseenter .card": "show"
}; };
Deck.prototype.key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-=";
function Deck() { function Deck() {
this.render = __bind(this.render, this); this.render = __bind(this.render, this);
Deck.__super__.constructor.apply(this, arguments); Deck.__super__.constructor.apply(this, arguments);
...@@ -144,70 +146,85 @@ ...@@ -144,70 +146,85 @@
}; };
Deck.prototype.show = function(e) { Deck.prototype.show = function(e) {
var card; var card, card_type;
card = $(e.target).tmplItem().data.card(); card = $(e.target).tmplItem().data.card();
$("#card_image").attr('src', "https://raw.github.com/zh99998/ygopro-images/master/" + card.id + ".jpg"); $("#card_image").attr('src', "http://images.my-card.in/" + card.id + ".jpg");
$("#card_name").html(card.name); $("#card_name").html(card.name);
$("#card_card_type").html(card.card_type.join('·')); $("#card_card_type").html(((function() {
$("#card_type").html(card.type); var _i, _len, _ref, _results;
$("#card_attribute").html(card.attribute); _ref = card.card_type;
$("#card_level").html(card.level); _results = [];
$("#card_atk").html(card.atk); for (_i = 0, _len = _ref.length; _i < _len; _i++) {
$("#card_def").html(card.def); card_type = _ref[_i];
_results.push($.i18n.prop('card_type.' + card_type));
}
return _results;
})()).join('·'));
$("#card_type").html(card.type ? $.i18n.prop('type.' + card.type) : "");
$("#card_attribute").html(card.attribute ? $.i18n.prop('attribute.' + card.attribute) : "");
if (card.level) {
$("#card_level").html(card.level);
}
$("#card_atk").html(card.atk || "");
$("#card_def").html(card.def || "");
return $("#card_description").html(card.description); return $("#card_description").html(card.description);
}; };
Deck.prototype.parse = function(str) {
var card_id, card_usage, card_usages, char, count, decoded, i, side,
_this = this;
card_usages = (function() {
var _i, _j, _len, _ref, _ref1, _results;
_results = [];
for (i = _i = 0, _ref = str.length; _i < _ref; i = _i += 5) {
decoded = 0;
_ref1 = str.substr(i, 5);
for (_j = 0, _len = _ref1.length; _j < _len; _j++) {
char = _ref1[_j];
decoded = (decoded << 6) + this.key.indexOf(char);
}
card_id = decoded & 0x07FFFFFF;
side = decoded >> 29;
count = decoded >> 27 & 0x3;
_results.push({
card_id: card_id,
side: side,
count: count
});
}
return _results;
}).call(this);
return Card.query({
_id: {
$in: (function() {
var _i, _len, _results;
_results = [];
for (_i = 0, _len = card_usages.length; _i < _len; _i++) {
card_usage = card_usages[_i];
_results.push(card_usage.card_id);
}
return _results;
})()
}
}, function() {
return CardUsage.refresh(card_usages);
});
};
return Deck; return Deck;
})(Spine.Controller); })(Spine.Controller);
decode = function(str) {
var char, key, result, _i, _len;
key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-=";
result = 0;
for (_i = 0, _len = str.length; _i < _len; _i++) {
char = str[_i];
result <<= 6;
result += key.indexOf(char);
}
return result;
};
name = $.url().param('name');
cards_encoded = $.url().param('cards');
$('img#qrcode').attr('src', 'https://chart.googleapis.com/chart?chs=200x200&cht=qr&chld=|0&chl=' + encodeURIComponent("http://my-card.in/decks/?name=" + name + "&cards=" + cards_encoded));
$('#name').html(name);
$(document).ready(function() { $(document).ready(function() {
var a, cards_id, count, deck, decoded, i, id, side, _i, _ref, var cards_encoded, deck, name;
_this = this; name = $.url().param('name');
deck = []; cards_encoded = $.url().param('cards');
cards_id = []; $('img#qrcode').attr('src', 'https://chart.googleapis.com/chart?chs=200x200&cht=qr&chld=|0&chl=' + encodeURIComponent("http://my-card.in/decks/?name=" + name + "&cards=" + cards_encoded));
for (i = _i = 0, _ref = cards_encoded.length; _i < _ref; i = _i += 5) { $('#name').html(name);
decoded = decode(cards_encoded.substr(i, 5)); deck = new Deck({
side = decoded >> 29;
count = decoded >> 27 & 0x3;
id = decoded & 0x07FFFFFF;
cards_id.push(id);
deck.push({
card_id: id,
count: count,
side: side
});
}
a = new Deck({
el: $("#deck") el: $("#deck")
}); });
return Card.query({ return deck.parse(cards_encoded);
_id: {
$in: cards_id
}
}, function() {
return CardUsage.refresh(deck);
});
}); });
}).call(this); }).call(this);
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
</head> </head>
<body> <body>
<div class="main_div line"> <div class="main_div line">
<div class="main_left floatleft line"> <div id="card" class="main_left floatleft line">
<div id="card_name" class="card_name">第二型カトレア</div> <div id="card_name" class="card_name">第二型カトレア</div>
<div class="card_img line floatleft"> <div class="card_img line floatleft">
<img id="card_image" height="187px" width="130px" src="/assets/images/decks/24.jpg" alt="card_name"/> <img id="card_image" height="187px" width="130px" src="/assets/images/decks/24.jpg" alt="card_name"/>
...@@ -84,11 +84,7 @@ ...@@ -84,11 +84,7 @@
</div> </div>
</div> </div>
<div class="statistics floatleft frame_element"> <div class="statistics floatleft frame_element">
<div><label for="">卡片种族:</label>鸟兽</div>
<div><label for="">卡片种族:</label>鸟兽</div>
<div><label for="">卡片种族:</label>鸟兽</div>
</div> </div>
<!-- 修改 -->
<div id="adjustment" class="adjustment floatleft frame_element card_frame_focus"> <div id="adjustment" class="adjustment floatleft frame_element card_frame_focus">
[第二型カトレア]BF-疾风のゲイル[10/08/07]<br/><br/><br/> [第二型カトレア]BF-疾风のゲイル[10/08/07]<br/><br/><br/>
...@@ -115,7 +111,6 @@ ...@@ -115,7 +111,6 @@
例:「神海龙 例:「神海龙
基希尔诺顿/神海竜ギシルノドン」2300/1800被这次效果把攻守『变成一半数值』1150/900后,场上表侧表示存在的3星以下的怪兽被送去墓地时自身效果发动,把攻击力『变成3000』3000/900,结束阶段时自身效果不再适用后是2300/900<br/> 基希尔诺顿/神海竜ギシルノドン」2300/1800被这次效果把攻守『变成一半数值』1150/900后,场上表侧表示存在的3星以下的怪兽被送去墓地时自身效果发动,把攻击力『变成3000』3000/900,结束阶段时自身效果不再适用后是2300/900<br/>
</div> </div>
<!-- 修改 -->
</div> </div>
<div class="floatleft bottom_area"> <div class="floatleft bottom_area">
<div class="bottom_button_active floatleft">效果</div> <div class="bottom_button_active floatleft">效果</div>
...@@ -187,6 +182,7 @@ ...@@ -187,6 +182,7 @@
<script src="/vendor/javascripts/jQuery-URL-Parser.js"></script> <script src="/vendor/javascripts/jQuery-URL-Parser.js"></script>
<script src="/vendor/javascripts/jquery.tmpl.min.js"></script> <script src="/vendor/javascripts/jquery.tmpl.min.js"></script>
<script src="/vendor/javascripts/jquery.mousewheel.js"></script> <script src="/vendor/javascripts/jquery.mousewheel.js"></script>
<script src="/vendor/javascripts/jquery.i18n.properties-min-1.0.9.js"></script>
<script src="/vendor/javascripts/hScrollPane.js"></script> <script src="/vendor/javascripts/hScrollPane.js"></script>
<script src="/vendor/javascripts/jscroll.js"></script> <script src="/vendor/javascripts/jscroll.js"></script>
<script src="/vendor/javascripts/json2.js"></script> <script src="/vendor/javascripts/json2.js"></script>
...@@ -194,12 +190,16 @@ ...@@ -194,12 +190,16 @@
<script src="/vendor/javascripts/spine/ajax.js"></script> <script src="/vendor/javascripts/spine/ajax.js"></script>
<script src="/vendor/javascripts/spine/relation.js"></script> <script src="/vendor/javascripts/spine/relation.js"></script>
<script src="/assets/javascripts/public.js"></script>
<script src="/assets/javascripts/decks.js"></script> <script src="/assets/javascripts/decks.js"></script>
<script src="/assets/javascripts/public.js"></script> <script src="/assets/javascripts/public.js"></script>
<script type="text/javascript"> <script type="text/javascript">
jQuery.i18n.properties({
name: 'card',
path: '/locales/',
mode: 'map',
cache: true
});
$(document).ready(function () { $(document).ready(function () {
$("#more_info").jscroll({W:"12px", Btn:{btn:false}}); $("#more_info").jscroll({W:"12px", Btn:{btn:false}});
......
card_type = Card type
type = Type
attribute = Attribute
atk = ATK
def = DEF
level = Level
type.Aqua = Aqua
\ No newline at end of file
card_type = 卡类
type = 种族
attribute = 属性
atk = 攻击
def = 防御
level = 星阶
type.Aqua =
type.Beast =
type["Beast-Warrior"] = 兽战士
type.Creator_God = 创造神
type.Dinosaur = 恐龙
type["Divine-Beast"] = 幻神兽
type.Dragon =
type.Fairy = 天使
type.Fiend = 恶魔
type.Fish =
type.Insect = 昆虫
type.Machine = 机械
type.Plant = 植物
type.Psychic = 念动力
type.Pyro =
type.Reptile = 爬虫
type.Rock = 岩石
type["Sea_Serpent"] = 海龙
type.Spellcaster = 魔法使
type.Thunder =
type.Warrior = 战士
type.Winged_Beast = 鸟兽
type.Zombie = 不死
\ No newline at end of file
(function(k){function n(c,a){k.ajax({url:c,async:!1,cache:a.cache,contentType:"text/plain;charset="+a.encoding,dataType:"text",success:function(b){r(b,a.mode)}})}function r(c,a){for(var b="",e=c.split(/\n/),d=/(\{\d+\})/g,q=/\{(\d+)\}/g,m=/(\\u.{4})/ig,f=0;f<e.length;f++)if(e[f]=e[f].replace(/^\s\s*/,"").replace(/\s\s*$/,""),e[f].length>0&&e[f].match("^#")!="#"){var g=e[f].split("=");if(g.length>0){for(var o=unescape(g[0]).replace(/^\s\s*/,"").replace(/\s\s*$/,""),h=g.length==1?"":g[1];h.match(/\\$/)==
"\\";)h=h.substring(0,h.length-1),h+=e[++f].replace(/\s\s*$/,"");for(var l=2;l<g.length;l++)h+="="+g[l];h=h.replace(/^\s\s*/,"").replace(/\s\s*$/,"");if(a=="map"||a=="both"){if(g=h.match(m))for(l=0;l<g.length;l++)h=h.replace(g[l],s(g[l]));k.i18n.map[o]=h}if(a=="vars"||a=="both")if(h=h.replace(/"/g,'\\"'),t(o),d.test(h)){for(var g=h.split(d),l=!0,j="",n=[],p=0;p<g.length;p++)if(d.test(g[p])&&(n.length==0||n.indexOf(g[p])==-1))l||(j+=","),j+=g[p].replace(q,"v$1"),n.push(g[p]),l=!1;b+=o+"=function("+
j+"){";o='"'+h.replace(q,'"+v$1+"')+'"';b+="return "+o+";};"}else b+=o+'="'+h+'";'}}eval(b)}function t(c){if(/\./.test(c))for(var a="",c=c.split(/\./),b=0;b<c.length;b++)b>0&&(a+="."),a+=c[b],eval("typeof "+a+' == "undefined"')&&eval(a+"={};")}function s(c){var a=[],c=parseInt(c.substr(2),16);c>=0&&c<Math.pow(2,16)&&a.push(c);for(var c="",b=0;b<a.length;++b)c+=String.fromCharCode(a[b]);return c}k.i18n={};k.i18n.map={};k.i18n.properties=function(c){c=k.extend({name:"Messages",language:"",path:"",mode:"vars",
cache:!1,encoding:"UTF-8",callback:null},c);if(c.language===null||c.language=="")c.language=k.i18n.browserLang();if(c.language===null)c.language="";var a=c.name&&c.name.constructor==Array?c.name:[c.name];for(i=0;i<a.length;i++)n(c.path+a[i]+".properties",c),c.language.length>=2&&n(c.path+a[i]+"_"+c.language.substring(0,2)+".properties",c),c.language.length>=5&&n(c.path+a[i]+"_"+c.language.substring(0,5)+".properties",c);c.callback&&c.callback()};k.i18n.prop=function(c){var a=k.i18n.map[c];if(a==null)return"["+
c+"]";var b;if(typeof a=="string"){for(b=0;(b=a.indexOf("\\",b))!=-1;)a=a[b+1]=="t"?a.substring(0,b)+"\t"+a.substring(b++ +2):a[b+1]=="r"?a.substring(0,b)+"\r"+a.substring(b++ +2):a[b+1]=="n"?a.substring(0,b)+"\n"+a.substring(b++ +2):a[b+1]=="f"?a.substring(0,b)+"\u000c"+a.substring(b++ +2):a[b+1]=="\\"?a.substring(0,b)+"\\"+a.substring(b++ +2):a.substring(0,b)+a.substring(b+1);var e=[],d,j;for(b=0;b<a.length;)if(a[b]=="'")if(b==a.length-1)a=a.substring(0,b);else if(a[b+1]=="'")a=a.substring(0,b)+
a.substring(++b);else{for(d=b+2;(d=a.indexOf("'",d))!=-1;)if(d==a.length-1||a[d+1]!="'"){a=a.substring(0,b)+a.substring(b+1,d)+a.substring(d+1);b=d-1;break}else a=a.substring(0,d)+a.substring(++d);d==-1&&(a=a.substring(0,b)+a.substring(b+1))}else if(a[b]=="{")if(d=a.indexOf("}",b+1),d==-1)b++;else if(j=parseInt(a.substring(b+1,d)),!isNaN(j)&&j>=0){var m=a.substring(0,b);m!=""&&e.push(m);e.push(j);b=0;a=a.substring(d+1)}else b=d+1;else b++;a!=""&&e.push(a);a=e;k.i18n.map[c]=e}if(a.length==0)return"";
if(a.lengh==1&&typeof a[0]=="string")return a[0];m="";for(b=0;b<a.length;b++)m+=typeof a[b]=="string"?a[b]:a[b]+1<arguments.length?arguments[a[b]+1]:"{"+a[b]+"}";return m};k.i18n.browserLang=function(){var c=navigator.language||navigator.userLanguage,c=c.toLowerCase();c.length>3&&(c=c.substring(0,3)+c.substring(3).toUpperCase());return c};var j;if(!j)j=function(c,a,b){if(Object.prototype.toString.call(a)!=="[object RegExp]")return typeof j._nativeSplit=="undefined"?c.split(a,b):j._nativeSplit.call(c,
a,b);var e=[],d=0,k=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.sticky?"y":""),a=RegExp(a.source,k+"g"),m,f,g;c+="";j._compliantExecNpcg||(m=RegExp("^"+a.source+"$(?!\\s)",k));if(b===void 0||+b<0)b=Infinity;else if(b=Math.floor(+b),!b)return[];for(;f=a.exec(c);){k=f.index+f[0].length;if(k>d&&(e.push(c.slice(d,f.index)),!j._compliantExecNpcg&&f.length>1&&f[0].replace(m,function(){for(var a=1;a<arguments.length-2;a++)arguments[a]===void 0&&(f[a]=void 0)}),f.length>1&&f.index<c.length&&Array.prototype.push.apply(e,
f.slice(1)),g=f[0].length,d=k,e.length>=b))break;a.lastIndex===f.index&&a.lastIndex++}d===c.length?(g||!a.test(""))&&e.push(""):e.push(c.slice(d));return e.length>b?e.slice(0,b):e},j._compliantExecNpcg=/()??/.exec("")[1]===void 0,j._nativeSplit=String.prototype.split;String.prototype.split=function(c,a){return j(this,c,a)}})(jQuery);
\ No newline at end of file
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