آموزش ثبت امتیاز آنلاین (قسمت اول)


آموزش ثبت امتیاز آنلاین (قسمت اول)


خب بریم سراغ درخواست بعدی دوستان که آموزش ثبت امتیاز آنلاین هست

میتونید لیست درخواستها رو در اینجا مشاهده کنید که به ترتیب آموزش میدم میتونید با ای دی من در تلگرام جهت اضافه کردن درخواست به لیست تماس بگیرین.

خیلی ساده بریم یه جدول در mysql بسازیم

آموزش ثبت امتیاز آنلاین

من این جدول رو با نام bestscore میسازم سه تا ستون داره با نامها id ، name ، score خب ستون ای دی از نوع عددی تکرار ناپذیر اتوماتیک ، ستون نام از نوع varchar و ستون اسکور از نوع int هست.

آموزش ثبت امتیاز آنلاین

خیلی ساده جدولمون رو ساختیم بریم سراغ فایل php که امتیازمون رو از گیم میکر بگیره و تو همین جدول ثبت کنه.

اسم این فایلمون رو میذارم submit.php کدهای زیر رو میزنم تو این فایل

<?php
$pdo = new PDO('mysql:host=localhost;dbname=your DB','Your user','your Pass');

$name=$_GET['name'];
$score=$_GET['score'];

$res=$pdo->query("INSERT INTO bestscore (name,score) VALUES 
('$name','$score' )");

$pdo=null;

?>

 

خط اول شروع کد نویسی php هست و خط 12 پایان کد نویسی هست که الزامیه (your DB:نام دیتابیس شما ، Your user:یوزر نیم دیتابیس شما ، your Pass پسورد دیتابیس شما )

خط دوم ورود اطلاعات اتصال دیتابیس هست (من از روش pdo استفاده کردم میتونید از روشهای دیگه مثل mysql یا mysqli استفاده کنید)

در خط 4 و 5 متعییر های دریافتی با روش get رو دریافت میکنم که قراره از طرف گیم میکر ارسال کنیم.

در خط 7 امدم اطلاعات دریافتی رو در جدولمون ذخیره میکنم (با توجه به روش pdo)

خط 10 اتصال دیتابیس رو لغو میکنیم

یه پروژه در گیم میکر ایجاد میکنیم

یه آبجکت ایجاد کرده در ایونت Create آبجکت مربوطه دوتا متغییر زیر رو ایجاد میکنیم

global.name="tfh1368"
global.scores=0

تو یکی از کلیدهای کیبورد تو ایونت Keyboard کد زیر رو اضافه میکنیم تا به تعداد امتیازمون اضافه بشه (من کلید left رو انتخاب کردم)

global.scores+=1

 برای آبجکت یه اسپرایت در نظر میگیریم و کد زیر رو برای ارسال نام و امتیاز به سرور در ایونت .Mouse. لفت پرس قرار میدیم تا هنگام کلیک روی آبجکت امتیاز و نام ارسال بشه. (?http://example.ir/submit.php)

http_get(string('آدرس دقیق سایت یا سرور شما با http /submit.php?name=')
+string(global.name)+string('&score=')+string(global.scores))

 آبجکت رو تو یه روم قرار میدیم و تست میکنیم و چند بار امتیاز ثبت میکنیم تا بعد بتونیم برگردونیم و نمایشش بدیم.

 آموزش ثبت امتیاز آنلاین

خب یه فایل php برای دریافت امتیازات برتر میزنیم به نام score.php و کدهای زیر رو واردش میکنیم.

 

<?php
$pdo = new PDO('mysql:host=localhost;dbname=your DB','Your user','your Pass');

$array = array();


$res=$pdo->query(" SELECT * FROM bestscore  ORDER BY score DESC limit 10");
foreach($res as $row) 
  {
    $name=$row['name'] ;
    $score=$row['score'] ;

      array_push($array,array("score"=>"$score","name"=>"$name"));
  }

array_push($array,array("show"=>"1"));

$print = json_encode($array);

echo $print;

$pdo=null;


?>

خط اول شروع کد نویسی php هست و خط 25 پایان کد نویسی هست که الزامیه(your DB:نام دیتابیس شما ، Your user:یوزر نیم دیتابیس شما ، your Pass پسورد دیتابیس شما )

خط دوم ورود اطلاعات اتصال دیتابیس هست (من از روش pdo استفاده کردم میتونید از روشهای دیگه مثل mysql یا mysqli استفاده کنید)

خط 4 یه آرایه ایجاد میکنیم برای استفاده در خطوط بعدی

خط 7 و 8 اطلاعات جدول رو مرتب کرده از بزرگ به کوچک و تعداد 10 تا امتیاز برتر رو انتخاب میکنیم و در حلقه خط 8 ازش استفاده میکنیم (با توجه به روش pdo در اتصال)

خط 9 حلقه رو باز میکنیم

خط 10 و 11 اطلاعات نام و امتیاز رو از جدول دریافت میکنیم

خط 13 اطلاعات دریافتی رو در آرایه خودمون اضافه میکنیم (همون آرایه که در خط 4 ایجاد کردیم)

خط 14 حلقه رو میبندیم

خط 16 یه متغییر show به آرایه خودمون اضافه میکنیم با مقدار 1 که بعدا بتونیم تو گیم میکر چک کنیم اطلاعات از سرور گرفته شده یا نه.

خط 18 ارایه موجودمون رو به جیسون تبدیل میکنیم و اونو تو متغییرprint میریزیم

خط 20 متغییر جیسونمون رو چاپ میکنیم

خط 22 اتصال دیتابیس رو قطع میکنیم.

نتیجه اجرای این فایل در مرورگر

آموزش ثبت امتیاز آنلاین

توی گیم میکر یه آبجکت ایجاد میکنیم و کدهای زیر رو تو ایونت  Create اون وارد میکنیم.

get = http_get("آدرس دقیق سایت یا سرور شما با http /score.php");
show='0'
size=0

خط اول یه کده ارساله گت هست که اطلاعات رو از اون طرف بگیریم (http://example.ir/score.php)

خط دوم هم یه متغییر ایجاد میکنیم برای بررسی دریافت اطلاعات از سرور

خط سوم برای اینکه متوجه بشیم چندتا متغییر دریافت کردیم لازم داریم.

در ایونت http همین آبجکت کدهای زیر رو وارد میکنیم

آموزش ثبت امتیاز آنلاین

var type = ds_map_find_value(async_load,'id');
    if type == get
    {
        if ds_map_find_value(async_load,'status') == 0
        {
            var requestResult = ds_map_find_value(async_load,'result');
            var resultMap = json_decode(requestResult);
            var list = ds_map_find_value(resultMap, "default");
            top_rank_size = ds_list_size(list);
            size=real(top_rank_size);
            for (var n = 0; n < ds_list_size(list); n++;)
            {
                var map = ds_list_find_value(list, n);
                var curr = ds_map_find_first(map);
                while (is_string(curr))
                {  
                 
                name[n] = ds_map_find_value(map, "name");
                scores[n] = ds_map_find_value(map, "score");
                    curr = ds_map_find_next(map, curr);
                } 
                 show = ds_map_find_value(map, "show");                      
                    
                ds_map_destroy(map);
            }
            ds_list_destroy(list);
            ds_map_destroy(resultMap);
        }
    }

کلا زیاد با این کدها کار نداریم خط اول و دوم متغییر get ارسالی در ایونت کریت رو بررسی و در صورت صحت ارسال و دریافت اطلاعات کدهای زیر مجموعه رو اجرا میکنه.

کدهای بعدی برا تجزیه کدهای جیسون هست 

خط 10 تعداد متغییرهای دریافتی جیسون رو میگیریم که لازم داریم بعدا

خط 18 و 19 متغییرهای نام و امتیاز رو دریافت میکنیم

خط 22 متغییر show رو دریافت میکنیم

بریم تو ایونت draw کدهای زیر رو جهت نمایش وارد کنیم.

if (show='1')
{
for(i=0;i<size;i++)
{
draw_text(100,20+(i*40),name[i])
draw_text(200,20+(i*40),scores[i])
}
}

خط اول بررسی میکنیم که آیا اطلاعات رو دریافت کردیم اگه دریافت کردیم در خطوط بعدی با استفاده از یک حلقه نام و امتیاز رو رسم میکنیم.

نتیجه:

آموزش ثبت امتیاز آنلاین

کار امروز تمومه تا بریم جلسه بعدی اقدامات اضافی رو انجام بدیم.

شما میتونید فایلهای آموزش رو از طریق لینک دانلود زیر دانلود کنید.

 

 


Download

zip

0.01 mb

    نظرات


    نام: احمدرضا

    27 آبان 1396
    سلام خیلی خوب و مفید بود سپاس بابت زحمتش . 100

    نام: محمد صالح

    27 اردیبهشت 1397
    مای اسکیوال رو چجوری بسازیم؟281
    نام: tfh1368

    4 خرداد 1397
    با ورود به phpmyadmin در هاست خود میتونید مای اس کیو ال بسازین یا از طریق پنل مدیریت هاست اقدام کنید






ارسال نظر




رفتن به بالا