摘要:本部落格主要總結單機遊戲在防止作弊上的若干方案,大部分**於網路上前輩同仁的分享,在這裡做乙個備忘錄,一來是加深自己的體驗,二來也是為了以後碰到如此問題,可以有跡可循。
之前有玩家用八門神器,燒餅助手等修改遊戲的關鍵值,通過多次修改定位,可以把數值調成自己想要的數,此原理就是找到了數值在記憶體的位址,防止這種情況,可以對關鍵數值加密即可,每一次使用的時候,都對比一下。比如說血量hp 在記憶體裡面儲存乙個和hp匹配的他的md5加密值hpmd5,每一次程式對hp寫操作,同步跟新兩個值 hp 和hpmd5 每一次讀操作 拿此時的hp進行一次md5加密 在和之前記憶體儲存的值比較,如果發現不容,則說明hp被篡改過,既可以判斷作弊。這裡只是粗略的給了乙個方法,處理這種作弊很好做。
在遊戲完成一些關卡時,如果是單機遊戲,會有存檔,玩家可以通過修改存檔來達到作弊,此時可以對檔案內的值做加密,或者直接存檔時儲存的是二進位制檔案。 基本上就解決了這個問題,但是還有可能玩家會拿別人的存檔來放到本地,達到作弊,此時就應該在檔案裡面繫結一下網絡卡位址,讀檔的時候,發現網絡卡位址不匹配,則新建存檔。
玩家通過***實現遊戲世界的時間快於現實世界,或者慢於現實世界,從而實現作弊,對於這種情況,可以監控遊戲的幀率, 取一段時間的平均值,發現異常 給出警報。
實現乙個***黑名單,在遊戲啟動的時候,和遊戲中 每隔一段固定時間,掃瞄系統是否執行了黑名單中的應用程序,
放球遊戲B
校園裡在上活動課,red和blue兩位小朋友在玩一種遊戲,他倆在一排n個格仔裡,自左到右地輪流放小球,每個格仔只能放乙個小球。第乙個人只能放1個球,之後的人最多可以放前乙個人的兩倍數目的球,至少放1個球。最後面對沒有空格而不能放球的人為輸。現在red先走,問他有沒有必勝的策略?比如 n 4時,red...
nod 1418 放球遊戲
有n個球排成一排,每個球都是r g b三種顏色之一。現在想重新排列這一排球,你要重複以下過程n次 1 從原來的那排球中的最左側取出乙個球 2 將取出的求插入新的球排列的任意位置,即可以放在最左或最右端,也可以插入那排球的任意兩個相鄰球之間 3 計算這輪得分,如果是第乙個球那麼得0分 如果放在兩端 最...
51Nod 1418 放球遊戲
acm模版 一道模擬題,ac率之高,令人髮指,但是並不是說明這道題很水,畢竟a它的人數基數不大。這裡根據題意,需要額外考慮的是當球的個數是1個或者2個時,結果分別是0和1,然後,就需要考慮球放的位置了,當然,這其實是乙個煙霧彈,我們只需要每次都盡量往中間放,使兩邊的球色最雜,這時,就要考慮到每種顏色...