توضیحات سورس کد اکشن اسکریپت Action Script این پروژه :
//آرایه ای برای تمام پاسخ های کاربر
gameanswers = [‘Frosted Flakes’, ‘Cheerios’, ‘Honey Combs’, ‘Lucky Charms’, ‘Honey Bunches of Oats’, ‘Apple Jacks’, ‘Rice Krispies’, ‘Fruit Loops’, ‘Count Chocula’, ‘Boo Berry’];
//افزودن تابع گرافیکی برنامه
this.attachMovie(‘missgraphic’,’missgraphic’,this.getNextHighestDepth(), {_x:175,_y:10});
//Function that begins a new game
// تابع شروع بازی جدید
function newGame() {
// انتخاب پاسخ های تصادفی از آرایه
answer = gameanswers[Math.floor(Math.random()*gameanswers.length)];
// افزودن ۲۶ دکمه کاراکتر جهت پاسخگویی کاربر
for (curindex=0; curindex<26; curindex++) {
// چسباندن کد کاراکترها در قسمت پاسخ دهی کاربر
attachMovie(‘guessletter’, ‘guess’+String.fromCharCode(curindex+65), this.getNextHighestDepth());
// شناسایی موقعیت کاراکترها هنگام پاسخ دهی توسط کاربر که روی تصویر شخص اعدامی در موقعیت محور X می باشد.
eval(‘guess’+String.fromCharCode(curindex+65))._x = (curindex%13-6.5)*(eval(‘guess’+String.fromCharCode(curindex+65))._width+3)+Stage.width/2;
// شناسایی موقعیت کاراکترها هنگام پاسخ دهی توسط کاربر که روی تصویر شخص اعدامی در موقعیت محور Y می باشد.
eval(‘guess’+String.fromCharCode(curindex+65))._y = Stage.height-(2-Math.floor(curindex/13))*(eval(‘guess’+String.fromCharCode(curindex+65))._height+3);
// شناسایی کاراکترهایی که در متن پاسخ تکرار می شوند .
eval(‘guess’+String.fromCharCode(curindex+65)).displayletter = String.fromCharCode(curindex+65);
// شناسایی کلیک ماوس بر روی کاراکترها هنگام پاسخ دهی
eval(‘guess’+String.fromCharCode(curindex+65)).onPress = function() {
// پردازش حروف وارد شده و نمایش آنها
pressLetter(this.displayletter);
// خارج کردن دکمه فشرده شده از لیست سایر دکمه ها
removeMovieClip(this);
};
}
// شمارش تعداد خط های مربوط به رسم شکل اعدامی از مقدار ۰ شروع می شود .
curline = 0;
// شروع خط های اسخ دهی که مقدار اولیه صفر است .
linestart = 0;
//ذخیره طول خط های برنامه و پاسخ دهی در آرایه ایجاد شده .
var linelengths:Array = new Array();
// نگهداری موقعیت کاراکترهای صحیح پاسخ داده شده درون صفحه .
for (linepos=0; linepos<length(answer); linepos++) {
// ماکزیمم طول فرمت کاراکترهای پاسخ دهی که ۲۵ کاراکتر در نظر گرفته شده است .
blanklinelength = 25;
// چک کردن اینکه طول خطوط پاسخ های وارد شده کمتر یا بیشتر از حد مجاز تعریف شده در برنامه نباشد .
if ((linepos-linestart)<blanklinelength || linelengths[curline] == undefined) {
if (answer.charAt(linepos) == ‘ ‘) {
// آپدیت لیست و طول خط پاسخ دهی کاربر
linelengths[curline] = linepos-linestart+1;
}
// اگر یک کلمه در یک سطر کامل شده است به خط بعدی می رود .
} else {
// استارت شروع کلمات در خط بعدی
linestart = linestart+linelengths[curline];
// حرکت به موقعیت جدید
linepos = linestart;
// حرکت به خط پاسخ دهی بعدی
curline++;
}
}
|
دیدگاهتان را بنویسید