Commit 63d7b54b authored by 李维's avatar 李维

dev commit

parent 79434ec3
......@@ -20,6 +20,15 @@
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-control [nzSpan]="4">
<div class="text-label">标题</div>
</nz-form-control>
<nz-form-control [nzSpan]="20">
<input type="text" nz-input [(ngModel)]="title.mainText" (blur)="saveItem()" >
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-control [nzSpan]="4">
<div class="text-label">题号选择</div>
......@@ -43,6 +52,22 @@
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-control [nzSpan]="4">
<div class="text-label">方向</div>
</nz-form-control>
<nz-form-control [nzSpan]="20">
<div *ngFor="let item of dataArray; let i = index">
<nz-radio-group *ngIf="i==currentSet" [(ngModel)]="item.direction" (ngModelChange)="saveItem()">
<label nz-radio-button nzValue="Across"><span>Across</span></label>
<label nz-radio-button nzValue="Down"><span>Down</span></label>
</nz-radio-group>
</div>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-control [nzSpan]="4">
<div class="text-label">填空设置</div>
......
......@@ -41,7 +41,7 @@ import { Subject } from "rxjs";
import { debounceTime, map, takeWhile, retry } from "rxjs/operators";
import * as _ from "lodash";
import TWEEN from "@tweenjs/tween.js";
import { demoData as defaultData } from '../../assets/default/formData/DataKey_JM04_3.js'
import { demoData } from '../../assets/default/formData/DataKey_JM04_3.js'
const zIndexMap = {
mainBackground: 0,
......@@ -141,6 +141,8 @@ export class PlayComponent implements OnInit, OnDestroy {
m_wordLetterInputCatch = [];
m_canInput = true;
m_totalScrollHeight = 0;
m_questionIndexArray = [];
m_endGame = false;
// ------------------------------------
......@@ -215,7 +217,21 @@ export class PlayComponent implements OnInit, OnDestroy {
}
cleanGameVar(){
this.m_openShift = false;
this.m_blockGroup = null;
this.m_wordAll = null;
this.m_allBlocks = [];
this.m_currentInput = "";
this.m_currentQuestionIndex = 0;
this.m_hasActiveBlock = false;
this.m_hasErrorLetter = false;
this.m_currentInputIndex = 0;
this.m_submitedTimes = 0;
this.m_wordLetterInputCatch = [];
this.m_canInput = true;
this.m_totalScrollHeight = 0;
this.m_questionIndexArray = [];
this.m_endGame = false;
}
startGame(){
......@@ -354,17 +370,36 @@ export class PlayComponent implements OnInit, OnDestroy {
}
this.subscribeMapDownEvent(btnNext.id, async ()=>{
if(this.m_endGame || (this.m_currentQuestionIndex >= this.g_formData.dataArray.length -1)) {
this.g_enableMapDown = true;
return;
}
this.switchQuestion(this.m_currentQuestionIndex, this.m_currentQuestionIndex + 1);
await this.buttonPressAnimation(btnNext.id, btnNextShadow.id)
this.g_enableMapDown = true;
})
this.subscribeMapDownEvent(btnPre.id, async ()=>{
if(this.m_endGame || (this.m_currentQuestionIndex - 1)<0) {
this.g_enableMapDown = true;
return;
}
this.switchQuestion(this.m_currentQuestionIndex, this.m_currentQuestionIndex - 1);
await this.buttonPressAnimation(btnPre.id, btnPreShadow.id)
this.g_enableMapDown = true;
})
this.m_questionIndexArray = []
let acrossCount = 0;
let downCount = 0;
this.g_formData.dataArray.forEach(item => {
if(item.direction == "Across") {
this.m_questionIndexArray.push(`Across ${++acrossCount}`)
} else {
this.m_questionIndexArray.push(`Down ${++downCount}`)
}
});
element.ref.addChild(labelIndex.ref)
element.ref.addChild(questionText.ref)
element.ref.addChild(btnNextShadow.ref)
......@@ -423,7 +458,7 @@ export class PlayComponent implements OnInit, OnDestroy {
for(let i=1; i<=letttes.length; i++) {
let le = createWord(letttes[i-1], baseX, baseY)
this.subscribeMapDownEvent(le.id, async ()=>{
if(!this.m_canInput) {
if(this.m_endGame || !this.m_canInput) {
this.g_enableMapDown = true;
return
}
......@@ -473,6 +508,10 @@ export class PlayComponent implements OnInit, OnDestroy {
element.ref.addChild(btnShiftShadow.ref)
element.ref.addChild(btnShift.ref)
this.subscribeMapDownEvent(btnShift.id, async ()=>{
if(this.m_endGame) {
this.g_enableMapDown = true;
return;
}
this.m_openShift = !this.m_openShift;
if(this.m_openShift) {
allLetterRefs.forEach(le=>{
......@@ -665,6 +704,10 @@ export class PlayComponent implements OnInit, OnDestroy {
container.getContentText = () => {
return text.ref.text?text.ref.text:"";
}
container.getRightLetter = () => {
return letter?letter:"";
}
container.checkStatus = (withRed=false, groupIndex) => {
// container.active(false);
......@@ -684,7 +727,6 @@ export class PlayComponent implements OnInit, OnDestroy {
}
} else {
container.isCorrect = true;
console.log(this.m_currentQuestionIndex + " - " + groupIndex)
if(this.m_currentQuestionIndex == groupIndex) {
container.switchStatus("right")
} else {
......@@ -732,6 +774,10 @@ export class PlayComponent implements OnInit, OnDestroy {
}
this.subscribeMapDownEvent(container.id, ()=>{
if(this.m_endGame) {
this.g_enableMapDown = true;
return
}
if(this.m_currentQuestionIndex != questionIndex) {
this.switchQuestion(this.m_currentQuestionIndex, questionIndex)
}
......@@ -896,6 +942,9 @@ export class PlayComponent implements OnInit, OnDestroy {
})
bgMiddleMask.ref.addChild(checkTop.ref)
let labelText = this.g_cartoon.createCartoonElementLabel("Chenck_label_title", "Check", "Aileron-Bold", "#FFFFFF", 52)
checkTop.ref.addChild(labelText.ref);
let checkBottom = this.g_cartoon.createCartoonElementImageFunc(`checkpannel_checnk_bottom`, "check_bottom", (w, h)=>{
return {
sx: 1,
......@@ -909,7 +958,45 @@ export class PlayComponent implements OnInit, OnDestroy {
})
bgMiddleMask.ref.addChild(checkBottom.ref)
let btnMore = this.g_cartoon.createCartoonElementImageFunc(`button_more_info`, "btn_submit_outline", (w, h)=>{
return {
sx: 888 / w,
sy: 160 / h,
}
}, (w, h)=>{
return {
x: 0,
y: 250
}
})
let textSubmit = this.g_cartoon.createCartoonElementLabelFunc("button_submit_text", "更多练习", "Aileron-Black", "#FFFFFF", 64, (w, h)=>{
return {
x: 0,
y: 0,
}
})
btnMore.ref.addChild(textSubmit.ref)
let btnMoreShadow = this.g_cartoon.createCartoonElementImageFunc("btn_submit_shadow", "btn_submit_shadow", (w, h)=>{
return {
sx: 941 / w,
sy: 216 / h,
}
}, (w, h)=>{
return {
x: 0,
y: 250 + 80
}
})
checkBottom.ref.addChild(btnMoreShadow.ref)
checkBottom.ref.addChild(btnMore.ref)
this.subscribeMapDownEvent(btnMore.id, async ()=>{
await this.buttonPressAnimation(btnMore.id, btnMoreShadow.id)
this.g_enableMapDown = true;
})
// 滚动面板
let scrollContent = this.g_cartoon.createCartoonElementShapeRect("check_scroll_pannel", 880, 985 * 5, "#FFFFFF");
scrollContent.ref.y = -985 / 2
......@@ -1176,9 +1263,17 @@ export class PlayComponent implements OnInit, OnDestroy {
text.ref.maxSingalLineWidth = 800;
text.ref.refreshSize();
text.ref.x = 0
text.ref.baseY = totalHeight
console.log("=====================")
console.log("文字高度", (text.ref.lineNum + 1) * 64)
if(text.ref.lineNum == 0) {
text.ref.warpLineHeight = 0;
text.ref.maxSingalLineWidth = 0;
text.ref.refreshSize();
text.ref.y = totalHeight
text.ref.y += 62
} else {
text.ref.baseY = totalHeight
}
totalHeight += (text.ref.lineNum + 1) * 64;
scrollContent.ref.addChild(text.ref)
......@@ -1186,7 +1281,6 @@ export class PlayComponent implements OnInit, OnDestroy {
wordColorBG.ref.radius = 10
wordColorBG.ref.y = totalHeight + padding + 64 / 2
totalHeight += padding + 64;
console.log("单词高度", 64)
let word = this.g_cartoon.createCartoonElementLabel("text-label", data.word, "DroidSansFallback", "#FFFFFF", 44)
word.ref.x = 360 / 2
......@@ -1206,7 +1300,6 @@ export class PlayComponent implements OnInit, OnDestroy {
y: totalHeight + 50 + 60
}
})
console.log("正确提示", 120)
totalHeight += 120 + padding;
let word = this.g_cartoon.createCartoonElementLabel("text-label", data.rightWord, "DroidSansFallback", "#ffe9b1", 44)
......@@ -1265,17 +1358,58 @@ export class PlayComponent implements OnInit, OnDestroy {
y: this.g_canvasHeight / 2 + 700 * this.g_mapScale
}
})
submit.ref.alpha = 0;
let submitActive = this.g_cartoon.createCartoonElementImageFunc(`button_submit_active`, "btn_submit_outline", (w, h)=>{
return {
sx: 888 / w,
sy: 160 / h,
}
}, (w, h)=>{
return {
x: 0,
y: 0
}
})
submitActive.ref.alpha = 0;
submit.ref.addChild(submitActive.ref)
let textSubmit = this.g_cartoon.createCartoonElementLabelFunc("button_submit_text", "Submit", "Aileron-Black", "#FFFFFF", 64, (w, h)=>{
return {
x: 0,
y: 0,
}
})
submit.ref.addChild(textSubmit.ref)
submit.switchActive = (status) => {
if(status) {
submit.ref.alpha = 1;
submitActive.ref.alpha = 1;
// this.m_canInput = false;
} else {
submit.ref.alpha = 0;
submitActive.ref.alpha = 0;
// this.m_canInput = true;
}
}
let btnSubmitShadow = this.g_cartoon.createCartoonElementImageFunc("btn_submit_shadow", "btn_submit_shadow", (w, h)=>{
return {
sx: 941 * this.g_mapScale / w,
sy: 216 * this.g_mapScale / h,
}
}, (w, h)=>{
return {
x: this.g_canvasWidth / 2 + 855 * this.g_mapScale / 2 + 118 * this.g_mapScale,
y: this.g_canvasHeight / 2 + 740 * this.g_mapScale
}
})
submit.out = (callback)=> {
btnSubmitShadow.ref.visible = false;
return tweenChange(submit.ref, {y: this.g_canvasHeight + 200}, 0.3, ()=>{
callback && callback()
})
}
const handleSubmit = async () => {
this.m_submitedTimes++;
......@@ -1286,10 +1420,17 @@ export class PlayComponent implements OnInit, OnDestroy {
this.m_hasActiveBlock = false;
this.m_blockGroup.forEach((group, index) => {
status = this.updateStatusByGroupIndex(index)
let word = ""
let rightWord = ""
group.forEach(block => {
word += block.getContentText()
rightWord += block.getRightLetter()
});
if(status) {
result.push({text: "Across 1. running water flowing on the Earth", word: "storfish", right: true, rightWord: ""})
result.push({text: `${this.m_questionIndexArray[index]}. ${this.g_formData.dataArray[index].text}`, word: word, right: true, rightWord: rightWord})
} else {
result.push({text: "Across 1. running water flowing on the Earth", word: "storfish", right: false, rightWord: "Sea house"})
result.push({text: `${this.m_questionIndexArray[index]}. ${this.g_formData.dataArray[index].text}`, word: word, right: false, rightWord: rightWord})
}
if(!hasIncorrect && !status) {
hasIncorrect = true;
......@@ -1304,14 +1445,16 @@ export class PlayComponent implements OnInit, OnDestroy {
if(this.m_submitedTimes>=2 || (this.m_submitedTimes<2 && !hasIncorrect)) {
let qp = this.g_cartoon.getCartoonElement("question_container")
let keyboard = this.g_cartoon.getCartoonElement("keyboard_container")
let submitButton = this.g_cartoon.getCartoonElement("button_submit")
await qp.out()
await keyboard.out()
await submitButton.out()
await this.showCheckPannel(result)
this.g_cartoon.getCartoonElement("background_mask").ref.alpha = 0
this.g_enableMapDown = true;
this.endGame();
}
// console.log(status)
// this.switchQuestion(this.m_currentQuestionIndex, this.m_currentQuestionIndex+1)
submit.switchActive(false)
// if(this.m_currentQuestionIndex == this.g_formData.dataArray.length-1) {
......@@ -1329,12 +1472,18 @@ export class PlayComponent implements OnInit, OnDestroy {
}
this.subscribeMapDownEvent(submit.id, ()=> {
if(submit.ref.alpha == 1) {
if(this.m_endGame) {
this.g_enableMapDown = true;
return
}
if(submitActive.ref.alpha == 1) {
handleSubmit()
this.buttonPressAnimation(submit.id, btnSubmitShadow.id)
}
this.g_enableMapDown = true;
})
this.render(btnSubmitShadow.ref)
this.render(submit.ref)
}
......@@ -1350,12 +1499,11 @@ export class PlayComponent implements OnInit, OnDestroy {
});
});
/*
let indexText = this.g_cartoon.getCartoonElement("IndexText")
indexText.setIndex(toIndex);
let questionText = this.g_cartoon.getCartoonElement("QuestionText");
questionText.setContent(this.g_formData.dataArray[toIndex].text)
*/
let indexText = this.g_cartoon.getCartoonElement("question_index")
indexText.ref.text = this.m_questionIndexArray[toIndex];
let questionText = this.g_cartoon.getCartoonElement("question_text");
questionText.ref.text = this.g_formData.dataArray[toIndex].text
let nextButton = this.g_cartoon.getCartoonElement("question_next")
if(this.g_formData.dataArray.length>toIndex+1) {
nextButton.active(true)
......@@ -1443,6 +1591,19 @@ export class PlayComponent implements OnInit, OnDestroy {
return empty;
}
endGame() {
console.log("游戏结束")
this.m_endGame = true;
this.m_blockGroup.forEach(group => {
group.forEach(block => {
if(block.getContentText() == block.getRightLetter()) {
block.switchStatus("disable")
} else {
block.switchStatus("wrong")
}
});
});
}
......@@ -1558,8 +1719,8 @@ export class PlayComponent implements OnInit, OnDestroy {
// 初始化默认数据
// ----------------------------------
initDefaultData() {
if ( Object.keys(this.g_formData).length===0 || this.g_formData.version != defaultData.version ) {
this.g_formData = defaultData;
if ( Object.keys(this.g_formData).length===0 || this.g_formData.version != demoData.version ) {
this.g_formData = demoData;
console.log("Use default data.", this.g_formData)
}
}
......
......@@ -53,7 +53,8 @@ const localImages = {
'bg_checkboard': 'assets/play/bg_checkboard.png',
'btn_submit': 'assets/play/btn_submit.png',
'btn_submit_outline': 'assets/play/btn_submit_outline.png',
'btn_submit_shadow': 'assets/play/btn_submit_shadow.png',
'bg_check_bottom': 'assets/play/bg_check_bottom.png',
'bg_check_middle': 'assets/play/bg_check_middle.png',
'bg_check_middle_mask': 'assets/play/bg_check_middle_mask.png',
......
......@@ -9,7 +9,7 @@ export const defaultData = {
size: {
wh: "12*12"
},
dataArray: [{ image_url: "", audio_url: "", text: "", uuid: "9803c50c-3638-4a6a-a4f8-719bdeaacede", direction: "left" }],
dataArray: [{ image_url: "", audio_url: "", text: "", uuid: "9803c50c-3638-4a6a-a4f8-719bdeaacede", direction: "Across" }],
grid: [
[{index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}],
[{index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}, {index: -1, text: ""}],
......@@ -27,517 +27,646 @@ export const defaultData = {
}
export const demoData = {
"version": "1.0",
"dataKey": "DataKey_JM04_3",
"title": {
"NO": "C",
"mainText": "Listen, circle and write.",
"mainTextAudio_url": ""
},
"dataArray": [{
"image_url": "demo_1",
"audio_url": "",
"text": "SP-1",
"uuid": "9803c50c-3638-4a6a-a4f8-719bdeaacede",
"direction": "right"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-2",
"uuid": "2e780bc2-9f79-42f5-9358-6a8da7a9e20c",
"direction": "right"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-3",
"uuid": "c038eee3-0a93-42b8-8099-e55ef6d41430",
"direction": "right"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-4",
"uuid": "041408b2-b1b7-43d4-b6b1-a6e3d9151c08",
"direction": "down"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-5",
"uuid": "d07794d6-afec-46e9-8458-4705905d5529",
"direction": "down"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-6",
"uuid": "748c35b2-ffcf-4811-ae3e-987c44051113",
"direction": "down"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-7",
"uuid": "c4160e6b-0090-47f0-946e-a0e17c00be8a",
"direction": "down"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-8",
"uuid": "20ba251c-e1c5-40e5-9892-0edd1de30637",
"direction": "right"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-9",
"uuid": "8cb1193c-764e-422a-b202-9d5a9488f967",
"direction": "down"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-10",
"uuid": "62e230f5-ae27-41ba-af5d-76f47dc12604",
"direction": "right"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-11",
"uuid": "ff03aec8-9934-412f-a026-96abd81c83f1",
"direction": "down"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-12",
"uuid": "de7461bb-5188-4210-afac-0703a633e9c1",
"direction": "right"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-13",
"uuid": "1d2d18b9-9b82-490d-bc82-a93925389aa6",
"direction": "right"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-14",
"uuid": "8d26cc84-fca9-40e1-af76-400f76604d5a",
"direction": "right"
}, {
"image_url": "demo_1",
"audio_url": "",
"text": "SP-15",
"uuid": "cfcd7693-1d40-447e-9541-977f867476ae",
"direction": "right"
}],
"grid": [
[{
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["8cb1193c-764e-422a-b202-9d5a9488f967"],
"text": "9"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["041408b2-b1b7-43d4-b6b1-a6e3d9151c08"],
"text": "4"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["d07794d6-afec-46e9-8458-4705905d5529"],
"text": "5"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["748c35b2-ffcf-4811-ae3e-987c44051113"],
"text": "6"
}],
[{
"index": ["9803c50c-3638-4a6a-a4f8-719bdeaacede"],
"text": "1"
}, {
"index": ["9803c50c-3638-4a6a-a4f8-719bdeaacede"],
"text": "A"
}, {
"index": ["9803c50c-3638-4a6a-a4f8-719bdeaacede"],
"text": "B"
}, {
"index": ["8cb1193c-764e-422a-b202-9d5a9488f967", "9803c50c-3638-4a6a-a4f8-719bdeaacede"],
"text": "A"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["cfcd7693-1d40-447e-9541-977f867476ae"],
"text": "5"
}, {
"index": ["041408b2-b1b7-43d4-b6b1-a6e3d9151c08", "cfcd7693-1d40-447e-9541-977f867476ae"],
"text": "A"
}, {
"index": ["cfcd7693-1d40-447e-9541-977f867476ae"],
"text": "B"
}, {
"index": ["cfcd7693-1d40-447e-9541-977f867476ae"],
"text": "C"
}, {
"index": ["cfcd7693-1d40-447e-9541-977f867476ae"],
"text": "D"
}, {
"index": ["d07794d6-afec-46e9-8458-4705905d5529", "cfcd7693-1d40-447e-9541-977f867476ae"],
"text": "A"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["748c35b2-ffcf-4811-ae3e-987c44051113"],
"text": "A"
}],
[{
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["20ba251c-e1c5-40e5-9892-0edd1de30637"],
"text": "8"
}, {
"index": ["20ba251c-e1c5-40e5-9892-0edd1de30637", "8cb1193c-764e-422a-b202-9d5a9488f967"],
"text": "A"
}, {
"index": ["20ba251c-e1c5-40e5-9892-0edd1de30637"],
"text": "B"
}, {
"index": ["20ba251c-e1c5-40e5-9892-0edd1de30637"],
"text": "C"
}, {
"index": ["20ba251c-e1c5-40e5-9892-0edd1de30637"],
"text": "D"
}, {
"index": ["041408b2-b1b7-43d4-b6b1-a6e3d9151c08", "20ba251c-e1c5-40e5-9892-0edd1de30637"],
"text": "B"
}, {
"index": [],
"text": ""
}, {
"index": ["ff03aec8-9934-412f-a026-96abd81c83f1"],
"text": "1"
}, {
"index": ["1d2d18b9-9b82-490d-bc82-a93925389aa6"],
"text": "3"
}, {
"index": ["d07794d6-afec-46e9-8458-4705905d5529", "1d2d18b9-9b82-490d-bc82-a93925389aa6"],
"text": "B"
}, {
"index": ["1d2d18b9-9b82-490d-bc82-a93925389aa6"],
"text": "A"
}, {
"index": ["1d2d18b9-9b82-490d-bc82-a93925389aa6"],
"text": "A"
}, {
"index": ["748c35b2-ffcf-4811-ae3e-987c44051113", "1d2d18b9-9b82-490d-bc82-a93925389aa6"],
"text": "B"
}],
[{
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["8cb1193c-764e-422a-b202-9d5a9488f967"],
"text": "B"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["041408b2-b1b7-43d4-b6b1-a6e3d9151c08"],
"text": "C"
}, {
"index": [],
"text": ""
}, {
"index": ["ff03aec8-9934-412f-a026-96abd81c83f1"],
"text": "A"
}, {
"index": [],
"text": ""
}, {
"index": ["d07794d6-afec-46e9-8458-4705905d5529"],
"text": "C"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["748c35b2-ffcf-4811-ae3e-987c44051113"],
"text": "C"
}],
[{
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["8cb1193c-764e-422a-b202-9d5a9488f967"],
"text": "C"
}, {
"index": ["c4160e6b-0090-47f0-946e-a0e17c00be8a"],
"text": "7"
}, {
"index": ["62e230f5-ae27-41ba-af5d-76f47dc12604"],
"text": "0"
}, {
"index": ["62e230f5-ae27-41ba-af5d-76f47dc12604"],
"text": "Z"
}, {
"index": ["041408b2-b1b7-43d4-b6b1-a6e3d9151c08", "62e230f5-ae27-41ba-af5d-76f47dc12604"],
"text": "D"
}, {
"index": ["62e230f5-ae27-41ba-af5d-76f47dc12604"],
"text": "Z"
}, {
"index": ["62e230f5-ae27-41ba-af5d-76f47dc12604", "ff03aec8-9934-412f-a026-96abd81c83f1"],
"text": "Z"
}, {
"index": [],
"text": ""
}, {
"index": ["d07794d6-afec-46e9-8458-4705905d5529"],
"text": "D"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["748c35b2-ffcf-4811-ae3e-987c44051113"],
"text": "D"
}],
[{
"index": ["2e780bc2-9f79-42f5-9358-6a8da7a9e20c"],
"text": "2"
}, {
"index": ["2e780bc2-9f79-42f5-9358-6a8da7a9e20c"],
"text": "A"
}, {
"index": ["2e780bc2-9f79-42f5-9358-6a8da7a9e20c"],
"text": "B"
}, {
"index": ["8cb1193c-764e-422a-b202-9d5a9488f967", "2e780bc2-9f79-42f5-9358-6a8da7a9e20c"],
"text": "C"
}, {
"index": ["c4160e6b-0090-47f0-946e-a0e17c00be8a", "2e780bc2-9f79-42f5-9358-6a8da7a9e20c"],
"text": "D"
}, {
"index": ["2e780bc2-9f79-42f5-9358-6a8da7a9e20c"],
"text": "E"
}, {
"index": ["2e780bc2-9f79-42f5-9358-6a8da7a9e20c"],
"text": "F"
}, {
"index": ["041408b2-b1b7-43d4-b6b1-a6e3d9151c08", "2e780bc2-9f79-42f5-9358-6a8da7a9e20c"],
"text": "G"
}, {
"index": ["2e780bc2-9f79-42f5-9358-6a8da7a9e20c"],
"text": "H"
}, {
"index": ["ff03aec8-9934-412f-a026-96abd81c83f1", "2e780bc2-9f79-42f5-9358-6a8da7a9e20c"],
"text": "I"
}, {
"index": ["de7461bb-5188-4210-afac-0703a633e9c1"],
"text": "2"
}, {
"index": ["d07794d6-afec-46e9-8458-4705905d5529", "de7461bb-5188-4210-afac-0703a633e9c1"],
"text": "E"
}, {
"index": ["de7461bb-5188-4210-afac-0703a633e9c1"],
"text": "A"
}, {
"index": ["de7461bb-5188-4210-afac-0703a633e9c1"],
"text": "A"
}, {
"index": ["748c35b2-ffcf-4811-ae3e-987c44051113", "de7461bb-5188-4210-afac-0703a633e9c1"],
"text": "E"
}],
[{
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["c4160e6b-0090-47f0-946e-a0e17c00be8a"],
"text": "E"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["ff03aec8-9934-412f-a026-96abd81c83f1"],
"text": "A"
}, {
"index": [],
"text": ""
}, {
"index": ["d07794d6-afec-46e9-8458-4705905d5529"],
"text": "F"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}],
[{
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["c4160e6b-0090-47f0-946e-a0e17c00be8a"],
"text": "D"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["ff03aec8-9934-412f-a026-96abd81c83f1"],
"text": "B"
}, {
"index": [],
"text": ""
}, {
"index": ["d07794d6-afec-46e9-8458-4705905d5529"],
"text": "G"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}],
[{
"index": ["c038eee3-0a93-42b8-8099-e55ef6d41430"],
"text": "3"
}, {
"index": ["c038eee3-0a93-42b8-8099-e55ef6d41430"],
"text": "A"
}, {
"index": ["c038eee3-0a93-42b8-8099-e55ef6d41430"],
"text": "B"
}, {
"index": ["c038eee3-0a93-42b8-8099-e55ef6d41430"],
"text": "C"
}, {
"index": ["c038eee3-0a93-42b8-8099-e55ef6d41430", "c4160e6b-0090-47f0-946e-a0e17c00be8a"],
"text": "D"
}, {
"index": ["c038eee3-0a93-42b8-8099-e55ef6d41430"],
"text": "E"
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": [],
"text": ""
}, {
"index": ["ff03aec8-9934-412f-a026-96abd81c83f1"],
"text": "C"
}, {
"index": ["8d26cc84-fca9-40e1-af76-400f76604d5a"],
"text": "4"
}, {
"index": ["d07794d6-afec-46e9-8458-4705905d5529", "8d26cc84-fca9-40e1-af76-400f76604d5a"],
"text": "I"
}, {
"index": ["8d26cc84-fca9-40e1-af76-400f76604d5a"],
"text": "A"
}, {
"index": ["8d26cc84-fca9-40e1-af76-400f76604d5a"],
"text": "B"
}, {
"index": ["8d26cc84-fca9-40e1-af76-400f76604d5a"],
"text": "C"
}]
]
"dataKey": "DataKey_JM04_3",
"title": {
"NO": "C",
"mainText": "Word cross",
"mainTextAudio_url": "",
"text": "eeeeeeeeee"
},
"size": {
"wh": "12*12"
},
"dataArray": [
{
"image_url": "",
"audio_url": "",
"text": "running water flowing on the Earth",
"uuid": "17960004-90fd-40bb-aae3-38f390a3928c",
"direction": "Across"
},
{
"image_url": "",
"audio_url": "",
"text": "a fish whose head look like those of a horse",
"uuid": "5ed5f385-02a5-4e78-980a-5abc95b88a6d",
"direction": "Across"
},
{
"image_url": "",
"audio_url": "",
"text": "smart and possessing sound knowledge",
"uuid": "e139ea06-a99d-4330-8558-42810d9c78a5",
"direction": "Across"
},
{
"image_url": "",
"audio_url": "",
"text": "a star-shaped sea animal",
"uuid": "7409afc7-c811-4182-9ec5-694d05020a40",
"direction": "Down"
}
],
"grid": [
[
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": 0,
"text": "s"
},
{
"index": 0,
"text": "t"
},
{
"index": 0,
"text": "r"
},
{
"index": 0,
"text": "e"
},
{
"index": 0,
"text": "a"
},
{
"index": 0,
"text": "m"
}
],
[
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": 3,
"text": "t"
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
}
],
[
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": 3,
"text": "o"
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
}
],
[
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": 3,
"text": "r"
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
}
],
[
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": 3,
"text": "f"
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
}
],
[
{
"index": 2,
"text": "i"
},
{
"index": 2,
"text": "n"
},
{
"index": 2,
"text": "t"
},
{
"index": 2,
"text": "e"
},
{
"index": 2,
"text": "l"
},
{
"index": 2,
"text": "l"
},
{
"index": 2,
"text": "i"
},
{
"index": 2,
"text": "g"
},
{
"index": 2,
"text": "e"
},
{
"index": 2,
"text": "n"
},
{
"index": 2,
"text": "t"
},
{
"index": -1,
"text": ""
}
],
[
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": 3,
"text": "s"
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
}
],
[
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": 1,
"text": "s"
},
{
"index": 1,
"text": "e"
},
{
"index": 1,
"text": "a"
},
{
"index": 1,
"text": "h"
},
{
"index": 1,
"text": "o"
},
{
"index": 1,
"text": "u"
},
{
"index": 1,
"text": "r"
},
{
"index": 1,
"text": "s"
},
{
"index": 1,
"text": "e"
},
{
"index": -1,
"text": ""
}
],
[
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
}
],
[
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
}
],
[
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
}
],
[
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
},
{
"index": -1,
"text": ""
}
]
]
};
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