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

deck builder attrs

parent 43c06167
locale = 'zh'
class Card extends Spine.Model
@type = [
'Warrior',
'Spellcaster',
'Fairy',
'Fiend',
'Zombie',
'Machine',
'Aqua',
'Pyro',
'Rock',
'Winged_Beast',
'Plant',
'Insect',
'Thunder',
'Dragon',
'Beast',
'Beast-Warrior',
'Dinosaur',
'Fish',
'Sea_Serpent',
'Reptile',
'Psychic',
'Divine-Beast',
'Creator_God'
]
@configure "Card", "atk", "name"
@types = ['Warrior','Spellcaster','Fairy','Fiend','Zombie','Machine','Aqua','Pyro','Rock','Winged_Beast','Plant','Insect','Thunder','Dragon','Beast','Beast-Warrior','Dinosaur','Fish','Sea_Serpent','Reptile','Psychic','Divine-Beast','Creator_God']
@_attributes = ['EARTH','WATER','FIRE','WIND','LIGHT','DARK','DIVINE']
@card_types = ['Monster', 'Spell','Trap',null,'Normal','Effect','Fusion','Ritual',null, 'Spirit','Union','Gemini','Tuner','Synchro',null,null,'Quick-Play','Continuous','Equip','Field','Counter','Flip','Toon','Xyz']
@configure 'Card', 'id', 'name', 'card_type', 'type','attribute','level','atk','def','description'
@extend Spine.Model.Ajax
@extend Spine.Events
@url: "https://api.mongolab.com/api/1/databases/mycard/collections/cards?apiKey=508e5726e4b0c54ca4492ead"
......@@ -35,12 +13,30 @@ class Card extends Spine.Model
cards_id = (card._id for card in cards)
$.getJSON "#{@locale_url}&q=#{JSON.stringify({_id: { $in: cards_id}})}", (langs) =>
cards = (for lang in langs
id = lang.id = lang._id
for card in cards
if card._id == id
if card._id == lang._id
$.extend(lang, card)
break
lang
card_type = []
i=0
while lang.type
if lang.type & 1
card_type.push @card_types[i]
lang.type >>= 1
i++
{
id: card._id,
name: lang.name,
card_type: card_type,
type: (i=0; (i++ until lang.race >> i & 1); @types[i]) if lang.race
attribute: (i = 0; (i++ until lang.attribute >> i & 1); @_attributes[i]) if lang.attribute
level: card.level
atk: card.atk
def: card.def
description: lang.desc
}
)
@refresh cards
callback(cards)
......@@ -61,6 +57,13 @@ class Deck extends Spine.Controller
card = $(e.target).tmplItem().data.card()
$("#card_image").attr 'src', "https://raw.github.com/zh99998/ygopro-images/master/#{card.id}.jpg"
$("#card_name").html card.name
$("#card_card_type").html card.card_type.join('·')
$("#card_type").html card.type
$("#card_attribute").html card.attribute
$("#card_level").html card.level
$("#card_atk").html card.atk
$("#card_def").html card.def
$("#card_description").html card.description
decode = (str)->
key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-="
result = 0
......
......@@ -15,7 +15,13 @@
return Card.__super__.constructor.apply(this, arguments);
}
Card.configure("Card", "atk", "name");
Card.types = ['Warrior', 'Spellcaster', 'Fairy', 'Fiend', 'Zombie', 'Machine', 'Aqua', 'Pyro', 'Rock', 'Winged_Beast', 'Plant', 'Insect', 'Thunder', 'Dragon', 'Beast', 'Beast-Warrior', 'Dinosaur', 'Fish', 'Sea_Serpent', 'Reptile', 'Psychic', 'Divine-Beast', 'Creator_God'];
Card._attributes = ['EARTH', 'WATER', 'FIRE', 'WIND', 'LIGHT', 'DARK', 'DIVINE'];
Card.card_types = ['Monster', 'Spell', 'Trap', null, 'Normal', 'Effect', 'Fusion', 'Ritual', null, 'Spirit', 'Union', 'Gemini', 'Tuner', 'Synchro', null, null, 'Quick-Play', 'Continuous', 'Equip', 'Field', 'Counter', 'Flip', 'Toon', 'Xyz'];
Card.configure('Card', 'id', 'name', 'card_type', 'type', 'attribute', 'level', 'atk', 'def', 'description');
Card.extend(Spine.Model.Ajax);
......@@ -43,24 +49,56 @@
$in: cards_id
}
})), function(langs) {
var id, lang;
var card_type, i, lang;
cards = (function() {
var _i, _j, _len, _len1, _results;
_results = [];
for (_i = 0, _len = langs.length; _i < _len; _i++) {
lang = langs[_i];
id = lang.id = lang._id;
for (_j = 0, _len1 = cards.length; _j < _len1; _j++) {
card = cards[_j];
if (card._id === id) {
if (card._id === lang._id) {
$.extend(lang, card);
break;
}
}
_results.push(lang);
card_type = [];
i = 0;
while (lang.type) {
if (lang.type & 1) {
card_type.push(this.card_types[i]);
}
lang.type >>= 1;
i++;
}
_results.push({
id: card._id,
name: lang.name,
card_type: card_type,
type: lang.race ? (i = 0, (function() {
var _results1;
_results1 = [];
while (!(lang.race >> i & 1)) {
_results1.push(i++);
}
return _results1;
})(), this.types[i]) : void 0,
attribute: lang.attribute ? (i = 0, (function() {
var _results1;
_results1 = [];
while (!(lang.attribute >> i & 1)) {
_results1.push(i++);
}
return _results1;
})(), this._attributes[i]) : void 0,
level: card.level,
atk: card.atk,
def: card.def,
description: lang.desc
});
}
return _results;
})();
}).call(_this);
_this.refresh(cards);
return callback(cards);
});
......@@ -109,7 +147,14 @@
var card;
card = $(e.target).tmplItem().data.card();
$("#card_image").attr('src', "https://raw.github.com/zh99998/ygopro-images/master/" + card.id + ".jpg");
return $("#card_name").html(card.name);
$("#card_name").html(card.name);
$("#card_card_type").html(card.card_type.join('·'));
$("#card_type").html(card.type);
$("#card_attribute").html(card.attribute);
$("#card_level").html(card.level);
$("#card_atk").html(card.atk);
$("#card_def").html(card.def);
return $("#card_description").html(card.description);
};
return Deck;
......
......@@ -163,4 +163,15 @@ body{margin:0;padding:0;background:#eee;}
&:hover{-moz-transition: all 0.5s ease-in-out;-webkit-transition: all 0.5s ease-in-out;background-position:0 -18px;}
}
.upload_ope{float:left;height:25px;padding:5px 0 0 5px;cursor:pointer;}
.save_ope{float:left;height:25px;padding:5px 0 0 6px;cursor:pointer;}
\ No newline at end of file
.save_ope{float:left;height:25px;padding:5px 0 0 6px;cursor:pointer;}
.card.Spell{color:green}
.card.Trap{color:purple}
.card.Monster.Normal{color:yellow}
.card.Monster.Effect{color:orange}
.card.Monster.Fusion{color:violet}
.card.Monster.Ritual{color:blue}
.card.Monster.Synchro{color:white}
.card.Monster.Xyz{color:black}
......@@ -26,7 +26,7 @@
<script id="card_template" type="text/x-jquery-tmpl">
<p id="deck_{{if side}}side{{else}}main{{/if}}_${card_id}">
<span class="card">${$data.card().name}</span>
<span class="card ${$data.card().card_type.join(' ')}">${$data.card().name}</span>
<i>${count}</i>
</p>
</script>
......@@ -42,20 +42,21 @@
</div>
<div class="card_info floatleft">
<div class="attr_name floatleft">卡片种族:</div>
<div class="attr_real floatleft">鸟兽</div>
<div id="card_type" class="attr_real floatleft">鸟兽</div>
<div class="attr_name floatleft">卡片属性:</div>
<div class="attr_real floatleft"></div>
<div id="card_attribute" class="attr_real floatleft"></div>
<div class="attr_name floatleft">卡片类别:</div>
<div class="attr_real floatleft">效果·调整</div>
<div id="card_card_type" class="attr_real floatleft">效果·调整</div>
<div class="attr_name floatleft">攻击力:</div>
<div class="attr_real floatleft">1300</div>
<div id="card_atk" class="attr_real floatleft">1300</div>
<div class="attr_name floatleft">防御力:</div>
<div class="attr_real floatleft">400</div>
<div id="card_def" class="attr_real floatleft">400</div>
<div class="attr_name floatleft">星级等阶:</div>
<div class="attr_real floatleft">3 ☆</div>
<div id="card_level" class="attr_real floatleft">3 ☆</div>
</div>
<div class="card_frame floatleft">
<div id="more_info" class="more_info floatleft frame_element card_frame_focus">
<div id="card_description">
[黑羽-疾风之盖尔]BF-疾风のゲイル[10/08/07]<br/><br/><br/>
●自己场上有「黑羽-疾风之盖尔/BF-疾风のゲイル」以外的名字带有「黑羽/BF」的怪兽存在的场合,这张卡可以从手卡特殊召唤。<br/>
......@@ -80,6 +81,7 @@
◇被这次效果把攻守变成一半的怪兽用新发动(进入连锁)的「电子魔术师/サイバネティック·マジシャン」「收缩/収缩」等暂时系『变成~』效果再次影响攻守的场合,受影响部分的『变成一半数值』消失,等其效果不适用后也不会自动变回刚被这次效果变成一半时的数值<br/>
例:「神海龙
基希尔诺顿/神海竜ギシルノドン」2300/1800被这次效果把攻守『变成一半数值』1150/900后,场上表侧表示存在的3星以下的怪兽被送去墓地时自身效果发动,把攻击力『变成3000』3000/900,结束阶段时自身效果不再适用后是2300/900<br/>
</div>
</div>
<div class="statistics floatleft frame_element">
<div><label for="">卡片种族:</label>鸟兽</div>
......
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