我正在《我的世界》中制作扫雷游戏(没关系)。
我创建了一个代码,可以随机放置地雷,显示每个方块周围的炸弹数量,检测游戏的清除和失败。
即使在相同大小的地图上放置相同数量的地雷,每个游戏的难度也有很大差异,所以我觉得想要快速通关游戏需要很大的运气。
所以我正在寻找一种算法来以数字方式生成随机生成的地图的整体难度。
我尝试了一种通过对每个图块(块)的每个数字(颜色)进行评分和求和来计算难度级别的方法。然而,我们无法为每个图块找到能够获得合理难度分数的分数。
由于它是 Minecraft 中的命令操作,因此我不想要太复杂的表达式或完美的结果。如果有一种算法可以通过获取随机生成的地图的难度来分为大约3~5个级别,如果你能向我解释一下,我将不胜感激
(重石块是我的,每种颜色代表数字图块 1 2 3)
所以我有一个隐藏的进程(java 命令行应用程序),输出和输入被重定向。我可以很容易地读取输出并且可以正常工作,但是当我发送命令时它不起作用。
我认为我已经确定输入没有被重定向,因为:
(A) 当我发送WriteLine(//command here); Flush没有命令被程序确认时
(B) 当我取消隐藏 cmd 窗口 ( StartInfo.CreateNoWindow = false;) 时,即使 StandardInput 被重定向 ( StartInfo.RedirectStandardInput = true;),我也可以输入命令并运行它们(在 cmd 窗口中)
这是代码:
namespace bukkit
{
public partial class Form1 : Form
{
private static StringBuilder _txt = new StringBuilder();
private static bool _scrolled = false;
Process mncrft = new Process();
public Form1()
{
InitializeComponent();
mncrft.StartInfo.WorkingDirectory = Path.GetTempPath();
mncrft.StartInfo.Arguments = "-Xmx512M -Xms512M -jar C:\\mncrft\\mncrft.jar";
mncrft.StartInfo.FileName = "java.exe";
mncrft.StartInfo.UseShellExecute = false;
mncrft.StartInfo.RedirectStandardOutput = true;
mncrft.StartInfo.RedirectStandardError …Run Code Online (Sandbox Code Playgroud) 如何将资源(图像)直接添加到我的JAR文件中?例如,如果您打开Minecraft.jar(Minecraft),您可以看到一些包含资源的类和文件夹.
如果我尝试将任何资源放在我的/ src文件夹中,Eclipse会在Package Explorer中显示它们,这很烦人.
当我反编译Minecraft(Minecraft Coder Pack)时,/ src文件夹中没有资源.我怎样才能像Minecraft一样添加我的资源呢?
提前致谢!!
使用bukkit API,是否可以进行类似以下伪代码的调用:
Bukkit.getPluginManager().getPlugin("PluginName").getJarFile();
Run Code Online (Sandbox Code Playgroud)
对于像MobBountyReloaded这样的插件,它会返回plugins/MobBountyReloaded_v235.jar.
我尝试使用众所周知的命名方案来寻找文件,例如只是附加.jar或<version>.jar插件的名称,但这并不总能产生正确的结果.上面的例子失败了,因为plugin.yml文件中的版本号只是235和不是_v235,而一些插件使用的方案<PluginName>-<Version>-<buildnumber>.jar.
有没有一种简单的方法来实现这一目标?每个加载的插件的文件信息必须在内存中的某个位置,不是吗?
这个lua代码出了什么问题,无论我输入什么内容,我的参数都不会转换为数字或被识别为数字?
我试过"distance = tonumber(arg [0])或0".
--Args
local args = {...}
--Variables
local distance = 0
if #args > 0 and type(args[0])=="string" then args[0] = tonumber(args[0]) end
if #args > 0 and type(args[0])=="number" then distance = args[0] end
print("Distance: "..distance)
Run Code Online (Sandbox Code Playgroud) 我想用另一个字符串替换字符串的一部分.例如,一个字符串进来,它包含meat,但我希望它将其更改meat为vegetable.我知道我可以用以下声明来做到这一点.
str = str.replaceAll("meat", "vegetable");
但是,我需要具有确切的大小写.我正在寻找一种方法来执行此操作,无论示例中的大写字母是大写还是小写meat.
我的应用程序是Minecraft的过滤器.要么发誓,要么只是定制菜单.就像我想要替换这个词的每个实例一样minecraft,无论大写,都要说Best game Ever!!.
我已对其进行了修改,以便它可以识别并替换特定的大写字母,但这是非常有限的.
我希望我提供了足够的信息,以便有人可以帮助我.
我正在为Minecraft制作一种"hack"或"mod".它会删除你周围的街区,向前移动,删除更多,向前移动等.经过一段时间后,它会向侧面移动并向后移动.这就像世界正在慢慢地删除自己:D
if(Camb.nuker){
whenToStop++;
byte byte0 = 3;
if(whenToStop < 60){
mc.thePlayer.setPosition(posX, posY, posZ-1.5);
}
if(whenToStop > 60 && whenToStop < 65){
mc.thePlayer.setPosition(posX-1.2, posY, posZ);
}
if(whenToStop > 65 && whenToStop < 124){
mc.thePlayer.setPosition(posX, posY, posZ+1.5);
}
if(whenToStop > 124 && whenToStop < 129){
mc.thePlayer.setPosition(posX-1.2, posY, posZ);
}
if(whenToStop > 129 && whenToStop < 188){
mc.thePlayer.setPosition(posX, posY, posZ-1.5);
}
if(whenToStop > 188 && whenToStop < 193){
mc.thePlayer.setPosition(posX-1.2, posY, posZ);
}
if(whenToStop > 193 && whenToStop < 252){
mc.thePlayer.setPosition(posX, posY, posZ+1.5);
} …Run Code Online (Sandbox Code Playgroud) 这是我的插件代码.
public boolean reapSoul(Player player, Player tplayer, double damage)
{
if(player.hasPermission("myrace.wraith.reap"))
{
player.sendMessage(ChatColor.DARK_GRAY + "You have reaped " + tplayer.getName() + "'s soul.");
damage = player.getLevel()/10;
double heal = damage/2;
tplayer.damage(damage);
player.setHealth(player.getHealth() + heal);
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我知道可能存在很多错误,我可以自己处理它们.我无法处理的那个是
player.setHealth(player.getHealth() + heal);
Run Code Online (Sandbox Code Playgroud)
Eclipse(我的IDE)告诉我getHealth()方法对于Player类型是不明确的.
我知道自从Bukkit 1.6.x发布以来,这可能是一个非常受欢迎的问题,但我所做的搜索都没有给我一个我能理解的解决方案.
如果这确实是解决方案,请你帮我理解我能做些什么......
谢谢.
我尝试在我的bukkit服务器中加载插件时遇到NullPointerException,但Eclipse中没有错误.我的插件是Rush pluing,很多东西没有使用/丢失.错误是这样的:
[18:11:10] [Server thread/ERROR]: Could not load 'plugins\rush.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.NullPointerException
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:182) ~ [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:308) ~ [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:231) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugins(CraftServer.java:255) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at org.bukkit.craftbukkit.v1_7_R1.CraftServer.<init>(CraftServer.java:233) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.PlayerList.<init>(PlayerList.java:63) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.DedicatedPlayerList.<init>(SourceFile:14) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:126) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:424) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
Caused by: java.lang.NullPointerException
at me.mailh.Rush.MainRush.<init>(MainRush.java:62) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.7.0_45]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.7.0_45]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~ [?:1.7.0_45]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.7.0_45]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:178) ~ [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
... 9 more
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
package me.mailh.Rush;
import …Run Code Online (Sandbox Code Playgroud) 我知道Minecraft使用LWJGL库,但这是什么使它具有3D图形?