在游戏中工作并且在游戏中的某一点上玩家被投入奖励游戏.他们需要获得的金额是预先确定的,但是我们想要提出一种算法,该算法使用加法,乘法和除法来获得x个步骤中的数量.步骤的数量也会提前知道,因此算法只需要弄清楚如何使用这些步骤来达到数字.
您可以使用的唯一计算是+1到+ 15,x2,x4,/ 2,/ 4.您可以在步骤中超过目标编号,但必须以最后一步的目标编号结束.步数通常在15到30之间,您始终从0开始.
例如:数量:100,步数:10 == + 10,+ 2,x2,+ 4,x4,+ 10,/ 2,+ 15,+ 15,+ 9
金额:40,步数:12 == + 15,+ 1,+ 5,+ 2,+ 1,/ 2,*4,+ 6,+ 6,/ 4,+ 5,*2
我很好奇是否有这样的东西可能已经存在?我确信我们可以拿出一些东西,但如果有一个可以处理这项工作的通用算法,我不想重新发明轮子.
更新:对@FryGuy的代码进行了一些小的更改,使其成为一个随机达到目标数量所需的路线.他的解决方案原样很有效,但在看到它工作并考虑到@Argote和@Moron的评论之后,我意识到需要在其中进行一定程度的随机化以使其吸引我们的玩家.在10个步骤中添加了+1以达到目标数量10个作品,但就我们如何使用它而言是"无聊".非常感谢所有评论和回答的人.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CR
{
class Program
{
static void Main(string[] args)
{
while (true)
{
int targetNumber = 20;
int steps = 13;
int[] route = null;
Boolean routeAcceptable = false;
// Continue choosing routes until we find one that is acceptable …Run Code Online (Sandbox Code Playgroud) 我希望在分布式客户端/服务器环境中使用命令模式.本质上,接收器的"执行"方法需要采用各种参数,但是我读到每个命令类都应该有一个统一的"执行"方法,该方法不应该揭示接收器的底层功能.
我的问题是,如何通过命令类将调用参数从交换机传递到不同的接收器?有没有人有一个简单的Java示例?我似乎找不到任何东西
谢谢你的帮助.
我在Visual studio中运行了下面的代码,并期望得到运行时或某种错误.我一无所获,绝对没有.我得到了输出代码9,注释出来并获得了3.我在键盘上运行它并且它也没有给我任何错误.
是否有编译器会告诉我这段代码不正确?如果它是正确的,为什么呢?我知道const A&是合法的,但下面的AFAIK不是.
class A
{
public:
int v;
A& get()
{
return *this;
}
};
A& func()
{
A a;
a.v=3;
return a.get();
}
int main()
{
A& v = func();
v.v=9;
return v.v;
}
Run Code Online (Sandbox Code Playgroud) 我希望下面的类显示一些textview/buttons/spinners,以及包含已解析数据的ListView.但是listview/adapter/addview会造成一些麻烦.这是我得到的错误:
java.lang.UnsupportedOperationException:AdapterView不支持addView(View,LayoutParams)
我感觉它与我的xml文件有关,但我不太确定.这是我的代码:
public class StatisticsScreen extends ListActivity{
private List<Message> messages;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.statisticsscreen);
loadFeed();
//other textviews and listeners added
}
private void loadFeed() {
try{
BaseFeedParser parser = new BaseFeedParser();
messages = parser.parse();
List<String> titles = new ArrayList<String>(messages.size());
for (Message msg : messages){
titles.add(msg.getTitle());
}
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, R.layout.xmldatarow,titles);
this.setListAdapter(adapter);
} catch (Throwable t){
Log.e("AndroidNews",t.getMessage(),t);
}
}
Run Code Online (Sandbox Code Playgroud)
我的statisticsscreen xml:
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:id="@+id/statsviewlayout"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="@color/black">
//other layouts/textviews/buttons added …Run Code Online (Sandbox Code Playgroud) 如果数组中有数组,如何删除外部数组:
$outer_array = array(0 => array(
'key1' => 'value1',
'key2' => 'value2'
));
Run Code Online (Sandbox Code Playgroud)
print_r($ outer_array)产生:
Array
(
[0] => Array
(
[key1] => value1
[key2] => value2
)
)
Run Code Online (Sandbox Code Playgroud)
是否有一个内置于PHP的功能,所以你留下:
Array
(
[key1] => value1
[key2] => value2
)
Run Code Online (Sandbox Code Playgroud) 我实施了年龄验证系统,用户只有在选中主页上的“我是21岁”复选框后,才能查看网站页面。
他们这样做的方式是在选中复选框时设置一个PHP会话变量。然后,对于所有php网页,我的代码都会进行检查,以确保设置了“我是21岁”会话变量。
因此,这适用于我要阻止的任何PHP网页。但是缺点是我必须在每个php文件的顶部添加age块php代码段,并且它不适用于任何非php文件。
所以我的问题是,无论如何我是否可以使用“ I am 21”会话变量来简单地阻止/允许访问整个目录?这样我就不必在每个PHP文件中都添加年龄限制,从而可以阻止非PHP文件(例如PDF)。例如,是否可以在.htaccess中访问PHP会话变量?
我想使用jQuery重命名元素的id属性.我需要匹配以下内容:
这是我到目前为止:
$('.form .newsCategories .row .itemWrap .itemTop .inputBtn').each(function(index){
$(this).attr("id", $(this).attr("id").replace($(this).attr("id").match(/\[row_[0-9]+\]/), "roww_"+index));
});
Run Code Online (Sandbox Code Playgroud)
但这失败了.我觉得我的前任是错的.请帮助谢谢
嘿,
我正在写一个有三个索引i,j,k的公式.
在这一行的最后,我想说:
i = 1,...,a
j = 1,...,b
k = 1,...,n
但我喜欢它用较小的字体并堆叠在彼此之上.有人可以告诉我一个可以完成此任务的命令吗?我认为\ mbox不能做数学模式.
<a href="data:text/csv;base64,CiJpZCIsInJlcXVlc3RfaWQiLCJkYXRlIiwiY29tcGFueV9uYW1lIiwiYWRkcmVzcyIsInBob25lIiwid2Vic2l0ZV91cmwiLCJwbGFjZV9wYWdlX3VybCIsImFkdmVydGlzZXIiLCJyZXZpZXdzIiwicmV2aWV3c190ZXh0Iiwib3duZXJfdmVyaWZpZWQiLCJjYXRlZ29yaWVzIiwibGF0IiwibG5nIiwicGxhY2VodG1sIiwiZ29vZ2xlX3RhZyIsIm1hcHNfdXJsIiwic2l0ZV9kZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uX2F0dHJpYnV0aW9uIiwib3duZXJfZW1haWwiLCJrZXl3b3JkIiwibGlua3MiCiIxNDc4IiwiNTMyIiwiIiwiU3RhcmJ1Y2tzIiwiMTI5OCBIb3dhcmQgU3RyZWV0LCBTYW4gRnJhbmNpc2NvLCBDQSA5NDEwMyIsIig0MTUpIDU2NS03Mzg1IiwiaHR0cDovL3d3dy5zdGFyYnVja3MuY29tLyIsImh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcy9wbGFjZT9obD1lbiZhc19xPXNhbitmcmFuY2lzY28rc3RhcmJ1Y2tzJmFzX2VwcT0mYXNfb3E9JmFzX2VxPSZudW09MTAmbHI9JmFzX2ZpbGV0eXBlPSZhc19zaXRlc2VhcmNoPSZhc19xZHI9YWxsJmFzX3JpZ2h0cz0mYXNfb2NjdD1hbnkmY3I9JmFzX25sbz0mYXNfbmhpPSZzYWZlPWltYWdlcyZ1bT0xJmllPVVURi04JnE9c2FuK2ZyYW5jaXNjbytzdGFyYnVja3MmZmI9MSZocT1zdGFyYnVja3MmaG5lYXI9U2FuK0ZyYW5jaXNjbywrQ0EmY2lkPTQ4NTI1NDg2NzIzODU5NzI1OTMmZWk9bUVWRFRhU05PWWEwbFFmV2haZ3Amc2E9WCZvaT1sb2NhbF9yZXN1bHQmY3Q9cGxhY2VwYWdlLWxpbmsmcmVzbnVtPTImdmVkPTBDQ0lRNGdrd0FRIiwiMCIsIjYiLCIiLCIxIiwiUmVzdGF1cmFudCIsIiIsIiIsIiIsIjAiLCIiLCIiLCIiLCIiLCJzYW4gZnJhbmNpc2NvIHN0YXJidWNrcyIsIkFycmF5IgoiMTQ3OSIsIjUzMiIsIiIsIlN0YXJidWNrcyIsIjEyMzEgTWFya2V0IFN0cmVldCwgU2FuIEZyYW5jaXNjbywgQ0EgOTQxMDMiLCIoNDE1KSA1MjItMTQzOCIsImh0dHA6Ly93d3cuc3RhcmJ1Y2tzLmNvbS8iLCJodHRwOi8vbWFwcy5nb29nbGUuY29tL21hcHMvcGxhY2U/aGw9ZW4mYXNfcT1zYW4rZnJhbmNpc2NvK3N0YXJidWNrcyZhc19lcHE9JmFzX29xPSZhc19lcT0mbnVtPTEwJmxyPSZhc19maWxldHlwZT0mYXNfc2l0ZXNlYXJjaD0mYXNfcWRyPWFsbCZhc19yaWdodHM9JmFzX29jY3Q9YW55JmNyPSZhc19ubG89JmFzX25oaT0mc2FmZT1pbWFnZXMmdW09MSZpZT1VVEYtOCZxPXNhbitmcmFuY2lzY28rc3RhcmJ1Y2tzJmZiPTEmaHE9c3RhcmJ1Y2tzJmhuZWFyPVNhbitGcmFuY2lzY28sK0NBJmNpZD01Mjg4Nzg4OTkwOTk4MjYyOTEzJmVpPW1FVkRUYVNOT1lhMGxRZldoWmdwJnNhPVgmb2k9bG9jYWxfcmVzdWx0JmN0PXBsYWNlcGFnZS1saW5rJnJlc251bT0zJnZlZD0wQ0NrUTRna3dBZyIsIjAiLCIzNiIsIiAiIlN0YXJidWNrcyBoYXMgdGhlIGJlc3QgY29mZmVlIiIgIC0gIGNpdHlzZWFyY2guY29tICAgLi4uICAiIklzbid0IGl0IGVub3VnaCB0aGF0IHRoZXkgYWxtb3N0IG93biBhIG1vbm9wb2x5IGF0IGFsbCBhaXJwb3J0cz8iIiAgLSAgY2l0eXNlYXJjaC5jb20gICAuLi4gICIiSXQgaXMgYSBwaXR5IHRoYXQgYSBjaGFpbiB0aGUgc2l6ZSBvZiBTdGFyYnVjaydzIGlzIGV2ZW4gb24gdGhpcyAiIkJlc3Qgb2YiIiBsaXN0IiIgIC0gIGNpdHlzZWFyY2guY29tICAgLi4uICAiIkV2ZW4gd29yc2UgbW9vZCIiICAtICBjaXR5c2VhcmNoLmNvbSAgIC4uLiAgIiJTZXJ2aWNlIGlzIHVzdWFsbHkgZ3JlYXQiIiAgLSAgY2l0eXNlYXJjaC5jb20gICAuLi4gICIiR3JlYXQgam9iIGd1eXMhIiIgIC0gIGNpdHlzZWFyY2guY29tICAgLi4uICAiIlRoaW5rIGFib3V0IGl0ISIiICAtICBjaXR5c2VhcmNoLmNvbSAgICAiLCIxIiwiQ2FmZSwgQ29mZmVlICZhbXA7IFRlYSwgQ29mZmVlIFNob3BzLCBSZXN0YXVyYW50cywgQ29mZmVlIEhvdXNlcyAmYW1wOyBDYWZlcywgUmVzdGF1cmFudCIsIiIsIiIsIiIsIjAiLCIiLCIiLCIiLCIiLCJzYW4gZnJhbmNpc2NvIHN0YXJidWNrcyIsIkFycmF5IgoiMTQ4MCIsIjUzMiIsIiIsIlN0YXJidWNrcyIsIjE4OTkgVW5pb24gU3RyZWV0LCBTYW4gRnJhbmNpc2NvLCBDQSA5NDEyMyIsIig0MTUpIDkyMS00MDQ5IiwiaHR0cDovL3d3dy5zdGFyYnVja3MuY29tLyIsImh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcy9wbGFjZT9obD1lbiZhc19xPXNhbitmcmFuY2lzY28rc3RhcmJ1Y2tzJmFzX2VwcT0mYXNfb3E9JmFzX2VxPSZudW09MTAmbHI9JmFzX2ZpbGV0eXBlPSZhc19zaXRlc2VhcmNoPSZhc19xZHI9YWxsJmFzX3JpZ2h0cz0mYXNfb2NjdD1hbnkmY3I9JmFzX25sbz0mYXNfbmhpPSZzYWZlPWltYWdlcyZ1bT0xJmllPVVURi04JnE9c2FuK2ZyYW5jaXNjbytzdGFyYnVja3MmZmI9MSZocT1zdGFyYnVja3MmaG5lYXI9U2FuK0ZyYW5jaXNjbywrQ0EmY2lkPTk1NjE5NTAwNjUwMTYwMTgwMCZlaT1tRVZEVGFTTk9ZYTBsUWZXaFpncCZzYT1YJm9pPWxvY2FsX3Jlc3VsdCZjdD1wbGFjZXBhZ2UtbGluayZyZXNudW09NCZ2ZWQ9MENEQVE0Z2t3QXciLCIwIiwiMzUiLCIiLCIxIiwiQ2FmZSwgQ29mZmVlICZhbXA7IFRlYSwgQ29mZmVlIFNob3BzLCBDb2ZmZWUgSG91c2VzICZhbXA7IENhZmVzIiwiIiwiIiwiIiwiMCIsIiIsIiIsIiIsIiIsInNhbiBmcmFuY2lzY28gc3RhcmJ1Y2tzIiwiQXJyYXkiCg==">Export This</a>
Run Code Online (Sandbox Code Playgroud)
以上是包含基本64位编码的csv数据导出的数据URI.在我的应用程序的报告页面上,我将导出嵌入到每个页面视图中,以便导出不需要再次访问数据库.
在Firefox 3中,单击此链接将打开另存为"下载"对话框.在Chrome 9中单击它不会做任何事情.我可以在Chrome中右键单击保存,它会将解码后的csv写入文件.在Safari中单击它会在浏览器窗口中打开解码的CSV数据,然后我可以手动保存.
在IE中...谁在乎,我是对的吗?
您可以通过将其中的<a>标记全部复制到名为test.html的空白文件中并在每个浏览器中打开它来重现此测试.它的行为与我的应用程序环境中的行为完全相同.
问题:当用户单击数据URI链接时,是否有办法强制弹出"另存为"对话框,如在Firefox中一样?或者其他一些方法来解决这种不一致问题?
理论上,Firefox,Chrome和Safari都支持数据URI.在实践中.......
虽然Thrift格式相对广泛使用(并且项目仍然存在),但我无法找到底层数据格式的规范.或格式,因为显然至少有两种格式; 标准的,紧凑的格式.
鉴于它的广泛使用,我希望它只是我可怜的google-fu,并且存在规范或规范(源代码之外).如果是这样,请分享!
编辑:Java源代码对于确定格式并不算太糟糕; 参见TBinaryProtocol.java和TCompactBinaryProtocol.java; 其中包含基元,由生成的类调用(扩展TBase)
编辑2:虽然它不包含格式规范,但" 缺失的指南 "是很好的阅读.