我在我的机器上安装了localhost/server,我需要使用windows schedule任务运行php脚本.如何在计划任务的"操作"选项卡中添加路径/配置脚本以运行特定时间段?
我正在用javascript编写一个游戏,并且为了防止作弊,我正在服务器上玩游戏(这是一个类似于更复杂的跳棋的棋盘游戏).由于游戏相当复杂,我需要存储游戏状态以验证客户端操作.
是否可以将游戏状态存储在内存中?这很聪明吗?我应该这样做吗?如果是这样,怎么样?我不知道那是怎么回事.
我也可以存储在redis中.这种事情对我来说非常熟悉,不需要解释.但是如果我存储在redis中,问题在于,在每一次移动中,游戏都需要从redis获取数据并解释和解析该数据,以便从头开始重新创建游戏状态.但由于动作频繁发生,这对我来说似乎非常愚蠢.
我该怎么办?
我正在为矮人要塞游戏开发一个名为Quickfort的工具.Quickfort将csv/xls格式的电子表格转换为Dwarf Fortress执行的一系列命令,以便在游戏中绘制"蓝图".
我目前正在尝试最佳地解决该工具的2.0版本的区域绘图问题.
考虑以下"蓝图",它定义了二维网格的绘图命令.网格中的每个单元格应该被挖出("d"),被引导("c")或者未被开槽(".").在实际使用中可能存在任意数量的不同绘图命令.
. d . d c c
d d d d c c
. d d d . c
d d d d d c
. d . d d c
Run Code Online (Sandbox Code Playgroud)
为了最大限度地减少需要发送到Dwarf Fortress的指令数量,我想找到一组最大的连续矩形,可以形成这些矩形以完全覆盖或"绘制"所有可绘制的单元格.为了有效,所有给定矩形的单元格必须包含相同的命令.
这是比Quickfort 1.0更快的方法:将每个单元格单独绘制为1x1矩形. 此视频显示了两个版本之间的性能差异.
对于上述蓝图,解决方案如下所示:
. 9 . 0 3 2
8 1 1 1 3 2
. 1 1 1 . 2
7 1 1 1 4 2
. 6 . 5 4 2
Run Code Online (Sandbox Code Playgroud)
上面的每个相同编号的矩形表示连续的矩形.最大的矩形优先于可能在其区域中形成的较小矩形.编号/矩形的顺序并不重要.
我目前的方法是迭代的.在每次迭代中,我通过从单元格的所有4个方向延伸,构建可以从每个网格的可绘制单元格形成的最大矩形的列表.在首先对列表进行排序之后,我从找到的最大矩形开始,将其基础单元格标记为"已绘制",并将矩形记录在列表中.在绘制每个矩形之前,检查其基础单元格以确保它们尚未绘制(与先前的绘图重叠).然后我们再次开始,找到可以形成的最大剩余矩形并绘制它们,直到所有单元格都被绘制为某个矩形的一部分.
我认为这种方法稍微优于愚蠢的暴力搜索,但我浪费了很多周期(重新)计算细胞的最大矩形并检查基础细胞的状态. …
我想在PHP中删除html字符串的整个第一个元素(它总是一个段落).
我目前的方法是使用:
$passage = preg_replace('/.*?\b'.'</p>'.'\b/s', '', $passage, 1);
Run Code Online (Sandbox Code Playgroud)
由于中的特殊字符,这不起作用 </p>
我知道以下内容会在单词"one"出现之前删除字符串中的所有内容
$passage = preg_replace('/.*?\b'.'one'.'\b/s', '', $passage, 1);
Run Code Online (Sandbox Code Playgroud) 我有一个iOS应用程序,我正在转换为iOS/Mac应用程序.在iOS版本中,我使用UILabels作为我的文本.显然,我不能在mac上做到这一点.我可以看到两个选项:
选项1:在iOS上使用UILabel,在Mac上使用NSTextView.
选项2:在两个平台上使用CATextLayers,作为一般策略的一部分,尽可能地对它们进行操作.
显然,选项2有一个很大的优势,即维护的代码更少.我的问题是 - 选项1是否具有我应该注意的任何优势?特别是,CATextLayer是否有UILabel和NSTextView没有的缺点?
编辑:这是一场比赛.用户从不输入文本 - 但游戏确实会输出一些分数,例如.
我在C中做了一个小程序,我需要一种vector/ArrayList/LinkedList,但我正在使用C.我对如何在C中做这种事情有任何想法?
我想存储结构然后追加/删除一些.
我正在浏览关于canvas应用程序的Facebook文档,我遇到了一个示例应用程序:http://developers.facebook.com/docs/samples/canvas.然而,当我阅读他们的例子时,我对他们在iframe应用程序中使用cookie感到非常困惑.
一个小背景...
我已经玩过使用iframes嵌入式小部件(与Facebook无关),我发现一些浏览器(Chrome,Safari等)有严格的cookie策略,不允许在iframe中设置跨域cookie(Firefox,另一方面,允许iframe在iframe中设置跨域cookie).例如,如果foo.com具有src="http://bar.com/widget"iframe小部件的iframe将无法为bar.com设置任何cookie,因此将无法在iframe中保持状态:bar.com将解释来自的每个请求(包括ajax请求)窗口小部件作为没有建立会话的新请求.我挣扎了,通过使用JSONP和javascript为foo.com设置cookie来找到解决方法......
... 所以?
好吧,我正在查看示例画布iframe Facebook应用程序,我注意到他们的应用程序(托管在runwithfriends.appspot.com上)能够设置一个cookie u,其中包含当前用户的id以及runwithfriends的一些其他参数. appspot.com域名.它会在每个请求中发送此cookie ...它可以在Chrome和Firefox中运行!WTF?Facebook如何解决Chrome上的跨域cookie限制?
(我现在已经知道了答案,但我认为这可能对那些努力弄清楚同样事情的人有所帮助 - 我将在下面发布答案.)
我一直在关注这篇文章中的第二个解决方案:在rails中使用相同型号的多对多关系?
使用插件Rails Admin(https://github.com/sferik/rails_admin)
使用下面的代码,特别是似乎打破了Rails管理员:
class PostConnection < ActiveRecord::Base
belongs_to :post_a, :class_name => :Post
belongs_to :post_b, :class_name => :Post
end
Run Code Online (Sandbox Code Playgroud)
对于我能做什么的任何想法?
更新:
这是所要求的错误:
NoMethodError in Rails_admin/main#index
Showing /Users/elliot/.rvm/gems/ruby-1.8.7-p299/bundler/gems/rails_admin-5713b1671e8c/app/views/rails_admin/main/index.html.erb where line #18 raised:
undefined method `match' for :Post:Symbol
Extracted source (around line #18):
15: <tbody>
16: <% @abstract_models.each do |abstract_model| %>
17: <tr class="<%= cycle 'odd', 'even' %>">
18: <td class="modelNameRow">
19: <%= link_to(RailsAdmin.config(abstract_model).list.label, rails_admin_list_path(:model_name => abstract_model.to_param), :class => "show") %>
20: </td>
21: <td>
Run Code Online (Sandbox Code Playgroud) 我正在开发iPhone应用程序,在iPhone应用程序中,用户正在输入UITextView.我想知道如何在键盘上添加完成键而不是正常的返回键,当你点击该键时键盘关闭.
谢谢!