我一直在努力研究为什么某些兼容性功能因操作系统而异,所以我可以编写补丁程序.我正在使用Windows 95注册表中的兼容性设置在每个系统中运行游戏(在其中生成游戏).在Windows XP中,游戏运行完美.没有一个场景滞后,声音效果与场景一样好.我不确定它在Windows Vista中是如何运行的,但在Windows 7和8中,兼容性功能打破了游戏.我使用VM来运行XP,但这不会影响游戏的可玩性; 真正的XP用户已经测试过了.每当我使用Win95设置玩游戏以兼容7和8时,一切都会滞后.音乐在游戏过程中不会变慢,但图形会起作用.在过场动画期间,它们确实会破裂.所有像素化,白噪声和静电都会增加音量,视频每两秒就会滞后一次.
我在其中通过WINE在Ubuntu Linux中对它进行了测试,并且它比在XP中运行得更好.我只需要使用alsa声音驱动程序.改变了什么?如果是这样,它是否以编程方式可修复?我正在使用C++,Batch和Java的融合.如果有必要,视频游戏的标题是"永远不变".谢谢.
我有一个越来越大的批处理文件,使用GTR/ LSS运算符.问题是这些if陈述只允许我输入某些值.在以下示例中,键入2,3或4的值将返回"值太高".
:char_intb
set char_points=30
set /a limit=!char_points!-3
set /p char_int="How many points for intelligence? "
if "!char_int!" GTR "!limit!" echo Value too high. && goto char_intb
if "!char_int!" GTR "!char_points!" echo Insufficient points. && goto char_intb
if "!char_int!" LSS "1" echo Select a value greater than or equal to 1. && goto char_intb
set /a char_points=!char_points!-!char_int!
echo You now have !char_points! remaining.
Run Code Online (Sandbox Code Playgroud)
还有其他人.据我测试过,它似乎只允许我键入0或11.
set /p char_month="Month (0-11): "
if "!char_month!" GTR "11" echo Enter …Run Code Online (Sandbox Code Playgroud)