// here comes the stuff which initializes the scene global aa = Scene.LoadEntity("entities\aa.entity"); aa.dest_stat=1; aa.dest_win=13; aa.SkipTo(505, 130);
global ab = Scene.LoadEntity("entities\ab.entity"); ab.dest_stat=2; ab.dest_win=3; ab.SkipTo(595, 130);
global ac = Scene.LoadEntity("entities\ac.entity"); ac.dest_stat=3; ac.dest_win=15; ac.SkipTo(685, 130);
global ad = Scene.LoadEntity("entities\ad.entity"); ad.dest_stat=4; ad.dest_win=7; ad.SkipTo(775, 130);
global ba = Scene.LoadEntity("entities\ba.entity"); ba.dest_stat=5; ba.dest_win=11; ba.SkipTo(505, 220);
global bb = Scene.LoadEntity("entities\bb.entity"); bb.dest_stat=6; bb.dest_win=12; bb.SkipTo(595, 220);
global bc = Scene.LoadEntity("entities\bc.entity"); bc.dest_stat=7; bc.dest_win=14; bc.SkipTo(685, 220);
global bd = Scene.LoadEntity("entities\bd.entity"); bd.dest_stat=8; bd.dest_win=4; bd.SkipTo(775, 220);
global ca = Scene.LoadEntity("entities\ca.entity"); ca.dest_stat=9; ca.dest_win=1; ca.SkipTo(505, 310);
global cb = Scene.LoadEntity("entities\cb.entity"); cb.dest_stat=10; cb.dest_win=10; cb.SkipTo(595, 310);
global cc = Scene.LoadEntity("entities\cc.entity"); cc.dest_stat=11; cc.dest_win=9; cc.SkipTo(685, 310);
global cd = Scene.LoadEntity("entities\cd.entity"); cd.dest_stat=12; cd.dest_win=8; cd.SkipTo(775, 310);
global da = Scene.LoadEntity("entities\da.entity"); da.dest_stat=13; da.dest_win=5; da.SkipTo(505, 400);
global db = Scene.LoadEntity("entities\db.entity"); db.dest_stat=14; db.dest_win=2; db.SkipTo(595, 400);
global dc = Scene.LoadEntity("entities\dc.entity"); dc.dest_stat=15; dc.dest_win=6; dc.SkipTo(685, 400);
global dd = Scene.LoadEntity("entities\dd.entity"); dd.dest_stat=16; dd.dest_win=16; dd.SkipTo(775, 400);
global taken; taken[0]=aa; taken[1]=ab; taken[2]=ac; taken[3]=ad; taken[4]=ba; taken[5]=bb; taken[6]=bc; taken[7]=bd; taken[8]=ca; taken[9]=cb; taken[10]=cc; taken[11]=cd; taken[12]=da; taken[13]=db; taken[14]=dc; taken[15]=dd; //////////////////////////////////////////////////////////////////////////////// // scene state global StateRoom;
// default values if(StateRoom==null) { StateRoom.Visited = false; // add scene states here }
taken.script
#include "scripts\base.inc"
//////////////////////////////////////////////////////////////////////////////// on "LeftClick" { global dd;
Рисуем 16 картинок 80х80 пикселей. Одна из них прозрачная. Жмём все картинки в *.png формат с а-каналом. Называем их aa.png, ab.png, ... , dd.png. Делаем спрайты с т.ж. именами. Делаем ENTITY с т.ж. именами. К каждому ENTITY подцепляем taken.script. В scene_init.script прописываем код, расставляющий ENTITY по местам и прячущий Молли. Жмём Run
Сообщение: 21
Зарегистрирован: 22.09.08
Откуда: Ленинград
Репутация:
0
Отправлено: 20.12.08 02:43. Заголовок: осмелюсь по коду выл..
осмелюсь по коду выложить исходники с небольшими коррективами. игра в окне 320-320px, убрано Game.Msg после каждого хода, и убрано расстояние между кусочками паззла в 10px, расположение теперь идёт из левого верхнего угла (x=0,y=0). на мой взгляд не хватает рандомного расположения фрагментов при загрузке (и опции показа готовой картинки)
Отправлено: 20.12.08 15:53. Заголовок: рандомное расположение фрагментов
Тут вот в чём затык: если сделать совсем рандомное расположение фрагментов, то картинку можно и не собрать. Так называемая "Проблема чётности перестановок". Буду думать, шыбко думать, однако. P.S. За исходники с коррективами спасибо.
Сообщение: 22
Зарегистрирован: 22.09.08
Откуда: Ленинград
Репутация:
0
Отправлено: 20.12.08 22:16. Заголовок: у пятнашек есть толь..
у пятнашек есть только 1 случай невозможности собрать последовательность - это чередование последних фрагментов. вместо 13, 14, 15, идёт вариант 14, 13, 15 или по аналогии. кстати, имхо, простейший вариант сборки финального результата - кнопка, выстраивающая фрагменты в нужной последовательости, на определённое время, чтобы игрок видел, что должно получиться, и по истечении времени, возвращающая исходное расположение фрагментов.
Все даты в формате GMT
3 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет