flash演算法
A. 拼圖游戲的演算法(推動的拼圖)FLASH版
不一定只讓一個方塊移動,演算法可以是先把一張圖片分割好,為每個方塊指定一個整形的數字。然後寫一個方法,讓i行j列的方塊隨機往一個方向移動。調用這個方法若干次,效果上就像你讓人家玩魔方前,自己手工把它打亂。
數據結構方面,由於AS並不支持真正的多維數組,你可以用數組的數組來存放N*N的方塊:
var num:Number=10;
var blocks:Array=new Array();
var count:Number=0;
for(var i:Number=0;i<num;i++){
var row:Array=new Array();
for(var j:Number=0;j<num;j++){
row.push(count++);
}
blocks.push(row);
}
function randomMove(rowIndex:Number,colIndex:Number){
..
}
Good Luck
B. stm32的flash有幾種加密方法
1,如果板子上有外部存儲器,可以先編寫一個程序,利用演算法把id計算得到一些值存入外部存儲器,然後再燒寫真正的程序,真正的程序去校驗外部存儲器的數據是否合法即可
2,利用板子上按鍵組合,或是上電按住某些鍵,程序在這個時候利用演算法把id計算得到一些值存入程序區(stm8為EE區),程序運行時去驗證程序區數據是否正確
3,軒微編程器有軟體加密的功能,編程器會讀晶元id,根據演算法直接改寫緩沖區,達到軟體加密的作用
4,讀出的id通過一定演算法,例如異或加上一個數,得到的數據存入flash(只運行一次,運行後標志位也存入flash),下次讀到這個標志位,就不運行這個程序。
四、做軟體加密時注意
1,不要在程序中直接出現id地址,例如STM32:1FFFF7E8 1FFFF7EC 1FFFF7F0 STM8: 0x4865~0x4870
2, 利用校驗和或是crc對程序區進行校驗,防止改程序