Commit 9a7c4a9c authored by Tt's avatar Tt

游戏部分的数据结构调整

parent ad31b175
{
"ver": "1.1.2",
"uuid": "c86579f8-93d0-4fd4-b735-4e5e87f46bf8",
"isBundle": true,
"bundleName": "resources",
"priority": 8,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
class Card {
constructor(picItem, cardId, doubuleId) {
//单个具体内容 一对的内容 一组的内容
constructor(picItem, cardId) {
this.cardId = cardId;
this.cardDid = doubuleId;
this.type = CardManager.TYPE_NULL;
if (picItem.radioValue == "A") {
if (picItem.title) {
this.txt = picItem.title;
this.type = CardManager.TYPE_TXT;
}
} else if (picItem.radioValue == "B") {
if (picItem.pic_url) {
this.img = picItem.pic_url;
this.type = CardManager.TYPE_IMG;
}
} else if (picItem.radioValue == "C") {
if (picItem.audio_url) {
this.audio = picItem.audio_url;
this.type = CardManager.TYPE_MP3;
}
}
// this.type = CardManager.TYPE_MP3;
this.type = CardManager.TYPE_IMG;
this.img = picItem.pic_url;
this.audio = picItem.audio_url;
}
// 具体去怎么分配 按照不同的分配逻辑去走
}
//最大的星星 一二三星 卡片组 卡片对 卡片 卡片内数据
class CardManager {
static TYPE_NULL = 0;
static TYPE_TXT = 1;
......@@ -41,48 +22,24 @@ class CardManager {
pageId;//页id
constructor() {
this._cardArray = [];//组 页
this._audio_url = "";
this.testletId = 0;
this.pageId = 0;
}
initCards(obj) {
console.log(obj);
let picArr = obj.contentObj.picArr;
this._cardArray = [];
let doubuleId = 0;
let cardId = 0;
for (let m = 0; m < picArr.length; m++) {
let testlet = [];
for (let n = 0; n < picArr[m].length; n++) {
let page = [];
for (let i = 0; i < picArr[m][n].length; i++) {
doubuleId++;
let pic = picArr[m][n][i];
let left = pic.left;
let right = pic.right;
cardId++;
let card1 = new Card(left, cardId, doubuleId);
cardId++;
let card2 = new Card(right, cardId, doubuleId);
if (card1.type == CardManager.TYPE_NULL || card2.type == CardManager.TYPE_NULL) {
doubuleId--;
continue;
}
page.push(card1, card2);
}
testlet.push(page);
}
this._cardArray.push(testlet);
}
let id = 0;
this._cardArray = picArr.list.map(cd => {
return new Card(cd, id++);
});
this._audio_url = picArr.audio_url
}
getTestlet() {
return this._cardArray.length - 1;
}
getPage() {
if (this._cardArray[this.testletId] && this._cardArray[this.testletId][this.pageId]) {
return this._cardArray[this.testletId][this.pageId];
} else {
return null;
}
return this._cardArray;
}
addPageNum() {
this.pageId++;
......@@ -103,18 +60,13 @@ class CardManager {
}
randomPageCards() {
//页面内部数字要打乱 0 1 2 3 4 5 6 7 8 每次动态取出一个值 然后动态处理
let radArray = [];
for (let m = 0; m < this._cardArray.length; m++) {
for (let n = 0; n < this._cardArray[m].length; n++) {
let arr = [];
while (this._cardArray[m][n].length > 0) {
let rand = Math.floor(Math.random() * this._cardArray[m][n].length);
arr.push(this._cardArray[m][n][rand]);
this._cardArray[m][n].splice(rand, 1);
}
this._cardArray[m][n] = arr;
}
let arr = [];
while (this._cardArray.length > 0) {
let rand = Math.floor(Math.random() * this._cardArray.length);
arr.push(this._cardArray[rand]);
this._cardArray.splice(rand, 1);
}
this._cardArray = arr;
}
}
export default CardManager;
\ No newline at end of file
export const itemData = () => {
return { "contentObj": { "picArr": { "list": [{ "cardId": "", "radioValue": "1", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/81f008a708cafed9caf1234e0af0d982.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/b8860997e5801c5410cf23fb7d44ea6f.mp3" }, { "cardId": "", "radioValue": "1", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/f2a7d2c7df70548ca49cdd802656aeb4.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/bdc09d9eb89b73e67357b502ae2158dd.mp3" }, { "cardId": "", "radioValue": "1", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/12c164fe8bd626872e2a8f7ba6d88f7e.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/aaeb274c49f400c26b05583d481aca09.mp3" }, { "cardId": "", "radioValue": "1", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/94a3ead8d0972651c5d49d8aa25ac8b5.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/301ec5c708d22928ccf2162215f429fe.mp3" }, { "cardId": "", "radioValue": "0", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/b1baffd430e9f5feefde0b1053b7a7e2.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/2db9fa7c28a11fdbcecfa6a5b5e62319.mp3" }, { "cardId": "", "radioValue": "0", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/d1c6cedd0ea8ba9a6a8ca8ad3886df49.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/c3db5ac421ef039cf540edfa5116c831.mp3" }], "audio_url": "http://staging-teach.cdn.ireadabc.com/9bc9518c426d0e9a5e4a6b0614ddd195.mp3" } } }
};
\ No newline at end of file
export const itemData = {
"contentObj": { "picArr": { "list": [{ "cardId": "", "radioValue": "1", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/81f008a708cafed9caf1234e0af0d982.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/b8860997e5801c5410cf23fb7d44ea6f.mp3" }, { "cardId": "", "radioValue": "1", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/f2a7d2c7df70548ca49cdd802656aeb4.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/bdc09d9eb89b73e67357b502ae2158dd.mp3" }, { "cardId": "", "radioValue": "1", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/12c164fe8bd626872e2a8f7ba6d88f7e.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/aaeb274c49f400c26b05583d481aca09.mp3" }, { "cardId": "", "radioValue": "1", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/94a3ead8d0972651c5d49d8aa25ac8b5.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/301ec5c708d22928ccf2162215f429fe.mp3" }, { "cardId": "", "radioValue": "0", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/b1baffd430e9f5feefde0b1053b7a7e2.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/2db9fa7c28a11fdbcecfa6a5b5e62319.mp3" }, { "cardId": "", "radioValue": "0", "title": "", "pic_url": "http://staging-teach.cdn.ireadabc.com/d1c6cedd0ea8ba9a6a8ca8ad3886df49.png", "audio_url": "http://staging-teach.cdn.ireadabc.com/c3db5ac421ef039cf540edfa5116c831.mp3" }], "audio_url": "http://staging-teach.cdn.ireadabc.com/9bc9518c426d0e9a5e4a6b0614ddd195.mp3" } }
}
......@@ -174,8 +174,8 @@ cc.Class({
this.initLayout();
},
initStars() {
this.length = CardManager.getIns().getTestlet();
this.addStar();
// this.length = CardManager.getIns().getTestlet();
// this.addStar();
},
initLayout() {
pg.view.visible(this.btn_replay, false);
......@@ -392,7 +392,7 @@ cc.Class({
},
playSFX(name) {
return new Promise((resolve, reject) => {
let node = pg.view.find(this, name);
let node = pg.view.find(this, "audio/" + name);
if (!node) return resolve();
let audioSource = node.getComponent(cc.AudioSource);
if (!audioSource) return resolve();
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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