Words — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
м (Параметры которые хранит объект вордс)
(Некорректное отображение букв и фоновой графики букв:)
Строка 186: Строка 186:
  
 
===Некорректное отображение букв и фоновой графики букв:===
 
===Некорректное отображение букв и фоновой графики букв:===
[[Файл:Words No squere size.png]]
+
[[Файл:Words No squere size.png|500px]]
  
 
''Причина:''
 
''Причина:''

Версия 06:58, 30 сентября 2014

Words — встроенный объект редактора, имеющий определенную игровую механику, которая заключается в том, чтобы собрать из букв слова за минимальное кол-во ходов, путем перестановки букв местами. При этом используются несколько словарей.

Правила

Поуровневая игра в слова. Необходимо собрать все слова с перепутанными буквами. Для обмена букв используется tap&tap или drag&drop. После того как все слова собраны, переходим на следующий уровень с повышенной сложностью.

Настройки игры


W-settings.jpg

файл уровней ( levels_file ) - путь к файлу содержащему уровни;
файл настройки очков ( scores_file ) - путь к файлу содержащему настройки очков (См. пункт "Очки и звезды");
номер уровня ( level_id ) - номер уровня из файла с уровнями ( min = 1);
тэг словаря ( lib_tag ) - уникальный номер словаря, словарь и его тэг указываются ниже в соотв поле.


Пример файла с описанием уровней:

<?xml version="1.0000" encoding="UTF-8"?>
<levels>
	<level id="1" w="5" h="5" moves="12">
		<field>
		  2, 2, 2, 2, 2,
		  0, 0, 0, 0, 0,
		  0, 5, 5, 5, 0,
		  0, 0, 0, 0, 0,
		  3, 3, 3, 3, 3,
		</field> 
	</level>

	<level id="2" w="5" h="5" moves="16">
		<field>
		  3, 3, 3, 3, 3,
		  0, 6, 0, 7, 0,
		  0, 6, 0, 7, 0,
		  0, 6, 0, 7, 0,
		  1, 1, 1, 1, 1
		</field> 
	</level>
	
	<level id="3" w="5" h="5" moves="20">
		<field>
		  1, 0, 3, 0, 7,
		  1, 2, 3, 4, 7,
		  1, 2, 3, 4, 7,
		  1, 2, 3, 4, 7,
		  1, 0, 3, 0, 7
		</field> 
	</level>
</levels>

Настройки шрифта


W-font.jpg

номер шрифта ( font_id ) - номер шрифта из app.icf;
размер шрифта ( font_size ) - размер шрифта, которым будут рисоваться буквы;
размер обводки ( border_size ) - размер обводки для буквы;
цвет шрифта ( font_color ) - базовый цвет шрифта, которым будут рисоваться буквы.
ячейка 1 ( cell1_color ) - цвет шрифта в ячейке 1, после правильно собранного слова;
ячейка 2 ( cell2_color ) - цвет шрифта в ячейке 2, после правильно собранного слова;
ячейка 3 ( cell3_color ) - цвет шрифта в ячейке 3, после правильно собранного слова;
ячейка 4 ( cell4_color ) - цвет шрифта в ячейке 4, после правильно собранного слова;
ячейка 5 ( cell5_color ) - цвет шрифта в ячейке 5, после правильно собранного слова;
ячейка 6 ( cell6_color ) - цвет шрифта в ячейке 6, после правильно собранного слова;
ячейка 7 ( cell7_color ) - цвет шрифта в ячейке 7, после правильно собранного слова;
ячейка 8 ( cell8_color ) - цвет шрифта в ячейке 8, после правильно собранного слова.


После того как слово собрано, все его буквы могут быть окрашены в уникальный цвет, в зависимости от типа ячейки.


Настройка анимации

машина букв ( mletter ) - Машина, которая анимирует буквы.

Машина должна обладать следующими состояниями обязательно!!!:

select - выделена буква(по завершению действий необходимо перейти в состояние "end";)
unselect - снято выделение с буквы(по завершению действий необходимо перейти в состояние "end");
drag - тянем букву;
swap - перемещается в другую ячейку буква(по завершению действий необходимо перейти в состояние "end");
end - конечное состояние

Примеры реализации состояний машины: Words anim mach par1.png Words anim mach par2.png

Настройки графики

W-graph.jpg
Для этой группы параметров мы указываем графический ресурс для отображения фоновой картинки каждой буквы:

ячейка 1 ( cell1 ) - графический ресурс для букв слова 1;
ячейка 2 ( cell2 ) - графический ресурс для букв слова 2;
ячейка 3 ( cell3 ) - графический ресурс для букв слова 3;
ячейка 4 ( cell4 ) - графический ресурс для букв слова 4;
ячейка 5 ( cell5 ) - графический ресурс для букв слова 5;
ячейка 6 ( cell6 ) - графический ресурс для букв слова 6;
ячейка 7 ( cell7 ) - графический ресурс для букв слова 7;
ячейка 8 ( cell8 ) - графический ресурс для букв слова 8.

Счетчики

ходы ( counter_moves ) - счетчик, выводящий оставшееся количество ходов;
очки ( counter_score ) - счетчик, выводящий текущие очки на уровне.


Настройки словарей


W-add-lib.jpg
W-lib.jpg

tag ( tag ) - уникальный номер словаря;
файл словаря ( path ) - путь к файлу словаря из которого будут браться слова.


Пример словарного файла:

<?xml version="1.0000" encoding="UTF-8"?>
<root>
	ADD
	ANT
	ARMY
	STEM
	ABOVE
	ACTOR
</root>


Добавляемые параметры

+.png Добавить словарь ( lib ), пример словарного файла:

tag ( tag ) - уникальный номер словаря;
файл словаря ( path ) - путь к файлу словаря из которого будут браться слова.


+.png машина полученных очков ( machine_add_score ) - добавить машинку для полученных очков (Должен содержать в себе каунтер):

машина ( mobj ) - машина, которая анимирует каунтер (Не должна содержать детей).;
каунтер ( cobj ) - каунтер, который анимируется машиной (Не может находится внутри машины);
время жизни ( time ) - максимальное время жизни для машинки.


+.png изменить состояние объекта при выигрыше ( wst ) - после разбора перевести объект в новое состояние:

объект ( obj ) - после разбора перевести объект в состояние из следующего поля;
состояние ( st ) - новое состояние для объекта из предыдущего поля.


+.png изменить состояние объекта при проигрыше ( lst ) - после разбора перевести объект в новое состояние:

объект ( obj ) - после разбора перевести объект в состояние из следующего поля;
состояние ( st ) - новое состояние для объекта из предыдущего поля.

Конец игры

При помощи добавляемых параметров мы можем перевести в другое состояние машину по окончанию уровня.


W-add-end.jpg


Очки и звезды

За каждое собранное слово даются очки в зависимости от длины слова. Если за 2(3,4,5...) хода собираются 2(3,4,5...) слова, то это считается серией. За серию дается больше очков (умножаются на коэффициент). Если за 1 ход собирается сразу два слова, то это считается комбо. За комбо дается xxx очков. Что бы настроить систему очков, можно указать объекту words xml файл. (См. Параметры игры)


Пример файла настроек очков:

<?xml version="1.0000" encoding="UTF-8"?>
<scores comboScore="2000" chainMultiple="1.5">
	<word id="3" score="200"/>
	<word id="4" score="300"/>
	<word id="5" score="500"/>
	<word id="6" score="600"/>
	<word id="7" score="700"/>
	<word id="8" score="800"/>
	<word id="9" score="900"/>
	<word id="10" score="1000"/>
</scores>


Звезды зависят от набранных очков. Настраивается значение для каждой звезды на уровне автоматом:

1 звезда = сумма стоимости каждого слова при не Perfect Solution;
2 звезды = стоимость 1 звезды * 2;
3 звезды = стоимость 2 звезды * 2.5.


Возможные ошибки

Приложение не запускается и всплывает окно error:

Words Error.png

Причины:

1) Скорее всего в состояниях машины анимации, вы не перешли в состояние end.
2) Некорректно назвали состояния в машине обработки анимации.
3) Не указана машина анимации.

Решение: правильно настроить машину обрабатывающую анимацию.


Некорректное отображение букв и фоновой графики букв:

Words No squere size.png

Причина:

Размеры объекта words не квадратные ( w!=h ).

Решение: ширина и высота объекта words должны быть равны.

Состояния

Возможные состояния объекта:

clear - очистить поле;
restart - перезапустить игру;
hint_letter - поставить букву на место;
hint_word - поставить слово на место;
hint_correct - подсвечивает букву, если она поставлена в правильное место;



Для анимации букв используется выбранная машина состояний, которая должна иметь следующие состояния:

Состояния машины, которая отвечает за анимацию букв:

select - выделена буква(по завершению действий необходимо перейти в состояние "end";)
unselect - снято выделение с буквы(по завершению действий необходимо перейти в состояние "end");
drag - тянем букву;
swap - перемещается в другую ячейку буква(по завершению действий необходимо перейти в состояние "end");
end - конечное состояние

Все настройки прописанные в соответствующих состояниях применяются к выбранной букве. После действий указанных в состояниях select, unselect, swap необходимо переходить в состояние end.

Параметры которые хранит объект вордс

Считываем из объекта вордс:

result.score - набранные очки за последнюю игру;
result.stars - набранное количество звёзд за последнюю игру;
result.moves - оставшиеся ходы;
result.result - (0 - уровень ещё не закончен, 1 - победа, -1 - поражение);
result.level_id - номер уровня(1-n);