還是一次無聊的時候玩遊戲的時候得到的靈感,那個遊戲裡的傷害/血量上公升的極快,基本每級可以增加10%~20%,還有到特定級別增加400%這樣型別的天賦,幾百幾千級以後數字就變得極其可怕。這個遊戲的處理是直接不用正常的數字來計數(如果用正常的數字估計記憶體也存不下),而是使用字母來表示數量級,比如1b=1000a,1c=1000b,以此類推。這樣的話,的確可以解決超級大數字的問題,只要建立乙個物件,提供每個級別的變數值,如:
//a的變數值,如500a則a=500,a<1000
//private int a;
//b的變數值
//private int b;
....
//思考了一下,用陣列存應該更加科學,從前往後分別存放a-z(根據需要,遊戲中還有aa-az等的數值)
private
int data = ;
//對應的值的單位
private string dataname = ;
然後提供顯示當前數值(根據需要從大往下選擇非0的顯示)和改變量值的方法(更改對應變數,1000進製,加減乘除根據需要分別編寫,此處只編寫加法。減法類似加法;乘法複雜一些,需要單位角標相加;除法更複雜,未推導,有興趣的可以自行推導一下。沒有很精確的需求的話可以進行近似計算,即將最大的幾位轉成正常數字進行除法)
//顯示當前的值
public string showdata() else }}
return
"0";
}//兩數相加
public
void
adddata(testdata td) else }}
//增加某位的數值
public
void
adddata(int num, string name)
int index = getnameindex(name);
if (index == -1)
int origin = data[index];
int result = origin + num;
if (result < 1000) else
}
基本的邏輯到此結束,理論上應該可以儲存無限位數的數值,特定需求下可以作為一種參考方案使用。
附帶例子中的工具方法:
private
intgetnameindex(string name)
}return -1;
}private string formatnum(double num)
關於手機遊戲的乙個想法
只是乙個想法,還沒找到好的答案。手機遊戲發展這麼多年,沒有真正能叫好又叫座的作品。我也只有在例如坐長途地鐵百無聊賴時,才會玩一會以消磨時間。由於手機在硬體上的限制,在遊戲的各個方面,遊戲情節,畫面質量,操縱性,遊戲種類等等,手機遊戲只是pc遊戲的乙個子集,簡單化,粗糙化的乙個簡易的翻版。每種新遊戲都...
關於檔案處理的乙個小想法
關於檔案處理的乙個小想法,不過我對這些不熟,現階段做不出來,只好先記錄一下,不然那天又忘了.如果有哪位朋友看到了,幫忙做出來的話,對大家也是一件好事.入題 關於目前的資料庫,我個人認為在有些情況下不太合適,反而以檔案的方式較好.現在window下有一種方式,叫按詳細資訊來檢視.相應的屬性就一目了然,...
乙個愚蠢的想法
喜歡用多介面瀏覽器的朋友一定聽過 myie2 這個瀏覽器增強工具吧?很多人可能還是他的擁躉。說實話,我也比較喜歡用這個小工具,方便,而且靈活。這個工具發展至今,在網民中口碑不錯。今天,偶然到myie2的站點上去看看,發現了這樣一則宣告 真是莫名其妙,是不是在搞笑?好好的軟體非要改個詰屈聱牙的新名字有...