我的代碼類似于CTRL C CTRL V,從外表看我不喜歡它。
在代碼中,只有一個變數發生了變化,其他都是一樣的。你有什么方法可以縮短這段代碼呢?
struct offsets {
std::vector<DWORD> energy = { 0x168, 0x1B8, 0x30, 0x8 };
std::vector<DWORD> minerals = { 0x168, 0x1B8, 0x30, 0x10 };
std::vector<DWORD> foods = { 0x168, 0x1B8, 0x30, 0x18 };
std::vector<DWORD> influence = { 0x168, 0x1B8, 0x30, 0x38 };
std::vector<DWORD> unity = { 0x168, 0x1B8, 0x30, 0x40 };
std::vector<DWORD> alloys = { 0x168, 0x1B8, 0x30, 0x4C };
std::vector<DWORD> consumer_goods = { 0x168, 0x1B8, 0x30, 0x54 };
};
struct cheats{
bool energy = false;
bool minerals = false;
bool foods = false;
bool influence = false;
bool unity = false;
bool alloys = false;
bool consumer_goods = false;
};
cheats hackMenu;
uintptr_t* energy = readOffset(finalAddress, offsetsList.energy);
uintptr_t* minerals = readOffset(finallyAddress, offsetsList.minerals);
uintptr_t* foods = readOffset(finallyAddress, offsetsList.food);
uintptr_t* influence = readOffset(finallyAddress, offsetsList.impact);
uintptr_t* unity = readOffset(finallyAddress, offsetsList.unity);
uintptr_t* alloys = readOffset(finallyAddress, offsetsList.alloys);
uintptr_t* consumer_goods = readOffset(finallyAddress, offsetsList.consumer_goods)。
if (hackMenu.minerals)
{
*minerals = add_resource;
hackMenu.minerals = false;
std::this_thread::sleep_for(std::Chrono::milliseconds(130)); // analog Sleep()
}
if (hackMenu.impact)
{
*influence = add_resource;
hackMenu.influence = false;
std::this_thread::sleep_for(std::Chrono::milliseconds(130) 。)
}
if (hackMenu.alloys)
{
*alloys = add_resource;
hackMenu.alloys = false;
std::this_thread::sleep_for(std::Chrono::milliseconds(130)。
}
if (hackMenu.unity)
{
*unity = add_resource;
hackMenu.unity = false;
std::this_thread::sleep_for(std::Chrono::milliseconds(130)。
}
if (hackMenu.food)
{
*foods = add_resource;
hackMenu.food = false;
std::this_thread::sleep_for(std::Chrono::milliseconds(130) 。)
}
if (hackMenu.consumer_goods)
{
*consumer_goods = add_resource;
hackMenu.consumer_goods = false;
std::this_thread::sleep_for(std::Chrono::milliseconds(130) 。)
如何減少if的數量并將其全部加入到函式中? 如何減少if的數量并將其全部添加到函式中?
uj5u.com熱心網友回復:
用函式,你可以做到
void foo(bool&。m, uintptr_t* ptr, uintptr_t add_resource)
{
if (m)
{
*ptr = add_resource;
m = false;
std::this_thread::sleep_for(std::Chrono::milliseconds(130) )。
}
然后
foo(hackMenu.minerals, minerals, add_resource)。
foo(hackMenu.impact, influence, add_resource)。
foo(hackMenu.alloys, alloys, add_resource)。
foo(hackMenu.unity,unity,add_resource)。
foo(hackMenu.food, foods, add_resource)。
foo(hackMenu.consumer_goods, consumer_goods, add_resource)。
你甚至可以為不同的變數創建一個集合來做一個回圈。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/321878.html
標籤:
下一篇:如何停止影像的回應?
