表示四角平面(一组正方形)的最基本方法是使用二维阵列.
在C#中,我们将其声明为int[,]并且可以使我们的飞机尽可能大:
string[3,3] => tic-tac-toe board (or similar)
string[8,8] => chess or checkers board
Run Code Online (Sandbox Code Playgroud)
为了"移动"飞机上的物品,我们只需将其移至新的"位置"
//using our tic-tac-toe board:
string[0,0] = "x"; //top-left
string[1,1] = "o"; //middle-middle
//to move
string[0,1] = bN; //Black Knight's starting positon
string[2,2] = bN; //Black Knight moves
string[0,1] = String.Empty;
Run Code Online (Sandbox Code Playgroud)
那么,你将如何表示一个六边形平面(一堆六边形)以及如何处理从一个位置到下一个位置的移动?
注意:这不是纯粹的理论,因为我有一个想法,在我的头脑中需要这种运动的小游戏,但我无法绕过如何做到这一点.我在这里看了一些其他的问题,但真的找不到一个好的比赛......
好吧,我之前已经做过这个,但是我正在画一个空白,所以我希望这里的大脑可以帮助我.
我有一个Tuple<string, DateTime>字符串是FileName的地方,DateTime是进程发送文件的最后日期.FileNames将不相同,但它们都确认某种string文件掩码(例如,我可能有几个条目符合文件掩码"????AD??").我想找到DateTime给定文件掩码的最新版本.
我不记得以前我是如何解决这个问题的,而且是在以前的雇主那里,所以我甚至无法蚕食我的旧代码.任何帮助将不胜感激.
澄清(因为这可能有点迟钝)
鉴于:
(0501AD01, 5/2/2010)
(0502AD02, 5/3/2010)
(0503AD03, 5/4/2010)
<snip>
(0803AD99, 8/4/2010)
(0804AD00, 8/5/2010)
(0805AD01, 8/6/2010)
Run Code Online (Sandbox Code Playgroud)
我想回来 8/6/2010
为了我自己的个人娱乐,我写的是我希望以后能够成为游戏的基础.目前,我正在制作游戏"棋盘".请考虑以下事项:
class Board
{
private Cube[,,] gameBoard;
public Cube[, ,] GameBoard { get; }
private Random rnd;
private Person person;
public Person _Person { get; }
//default constructor
public Board()
{
person = new Person(this);
rnd = new Random();
gameBoard = new Cube[10, 10, 10];
gameBoard.Initialize();
int xAxis = rnd.Next(11);
int yAxis = rnd.Next(11);
int zAxis = rnd.Next(11);
gameBoard[xAxis, yAxis, zAxis].AddContents(person);
}
}
Run Code Online (Sandbox Code Playgroud)
还有这个:
class Person : IObject
{
public Board GameBoard {get; set;}
public int Size { get; set; …Run Code Online (Sandbox Code Playgroud) 我已经检查了这个问题,它似乎与我需要的东西有关,但并没有完全回答.
我有一个实体(Sql Compact使用EF Code First通过MVC3-如果标题不清楚的话)"问题"(通用问题跟踪,只是为了我自己的教育理解MVC3如何工作).Issue类具有CreatedBy属性(对创建问题的用户的Int引用)和CreatedDate属性(DateTime).当我使用scaffolded代码进行更新时(仅修改以防止某些更新的日期字段被用户修改):
if (ModelState.IsValid)
{
issue.LastActivity = (DateTime?)DateTime.Now.Date;
if (issue.ClosedBy != null) issue.ClosedDate = (DateTime?)DateTime.Now.Date;
startingIssue = null;
db.Entry(issue).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)
我收到链接问题中提到的错误(将datetime2数据类型转换为日期时间数据类型等等)
当我单步执行代码时,看起来我的CreatedBy和CreatedDate属性不包含在issue控制器传递的实例中.当我尝试通过从数据库中获取问题的另一个副本并将其更新为值来解决此问题时:
var startingIssue = db.Issues.Find(issue.IssueId);
if (ModelState.IsValid)
{
if (issue.CreatedBy != startingIssue.CreatedBy) issue.CreatedBy = startingIssue.CreatedBy;
if (issue.CreatedDate != startingIssue.CreatedDate) issue.CreatedDate = startingIssue.CreatedDate;
issue.LastActivity = (DateTime?)DateTime.Now.Date;
if (issue.ClosedBy != null) issue.ClosedDate = (DateTime?)DateTime.Now.Date;
startingIssue = null;
db.Entry(issue).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)
我得到并发冲突:ObjectStateManager中已存在具有相同密钥的对象.ObjectStateManager无法使用相同的键跟踪多个对象.
那么,如何在不违反并发性的情况下让EF查看已在DB中设置的日期(因此它不会尝试将CreatedDate更新为1/1/0001)?
编辑
好的......我找到了.显然,我正在寻找@Html.HiddenFor(model …
我有一个这样的课:
[XmlRoot"MyMessageType")]
public class MyMessageType : BaseMessageType
{
[XmlElement("MessageId")]
//Property for MessageId
...
<snip>
//end properties.
}
Run Code Online (Sandbox Code Playgroud)
此类包含一个静态方法,用于创建要传递给BizTalk服务器的XmlDocument实例.像这样:
public static XmlDocument GetMyMessageType(string input1, string input2 ...)
Run Code Online (Sandbox Code Playgroud)
GetMyMessageType 创建一个MyMessageType实例,然后调用以下代码:
XmlSerializer outSer = new XmlSerializer(instance.GetType());
using (MemoryStream mem = new MemoryStream())
using (XmlWriter _xWrite = XmlWriter.Create(mem))
{
outSer.Serialize(_xWrite, instance);
XmlDocument outDoc = new XmlDocument();
outDoc.Load(XmlReader.Create(mem));
return outDoc;
}
Run Code Online (Sandbox Code Playgroud)
当我尝试运行此代码时,我收到XmlException"根元素丢失".当我修改代码输出到测试文件时,我得到一个格式良好的Xml文档.任何人都可以告诉我为什么我能够输出到文件,但不能作为XmlDocument?
这是我的查询:
SELECT u.fname fname, u.lname lname, r.fname inviter_f, r.lname inviter_l
FROM guests u
LEFT JOIN guests r ON u.inviter_id = r.guest_id
where u.wedding_id=10
Run Code Online (Sandbox Code Playgroud)
如何返回空值而不是NULL?
在当前查询中,如果inviter_id = 0,则将inviter_f和inviter_l返回为NULL
谢谢超级英雄!