我有一个包含10个项目的向量(为简单起见所有相同的类称为'a').我想要做的是检查'A'不是a)隐藏墙壁或b)隐藏另一个'A'.我有一个碰撞功能,可以做到这一点.
这个想法只是让这个循环类通过并将'A'移动到下一个位置,如果该药水引起碰撞,那么它需要在屏幕上给自己一个新的随机位置.由于屏幕较小,因此很有可能将元素放在另一个(或墙顶等)上.代码的逻辑在我的脑海中运行良好 - 但调试代码时对象只是卡在循环中,并保持在相同的位置.'A'应该在屏幕上移动,但它保持静止!
当我注释掉Do while循环,并移动'MoveObject()'函数时,代码完美地运行'A'正在屏幕上移动.只是当我尝试添加额外的功能时它就不起作用了.
void Board::Loop(void){
//Display the postion of that Element.
for (unsigned int i = 0; i <= 10; ++i){
do {
if (checkCollisions(i)==true){
moveObject(i);
}
else{
objects[i]->ResetPostion();
}
}
while (checkCollisions(i) == false);
objects[i]->SetPosition(objects[i]->getXDir(),objects[i]->getYDir());
}
}
Run Code Online (Sandbox Code Playgroud)
下面的类是碰撞检测.我稍后会扩展.
bool Board::checkCollisions(int index){
char boundry = map[objects[index]->getXDir()][objects[index]->getYDir()];
//There has been no collisions - therefore don't change anything
if(boundry == SYMBOL_EMPTY){
return false;
}
else{
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.我会给你买一个虚拟啤酒:-)
谢谢
编辑:
ResetPostion - >这将使元素A在屏幕上的随机位置moveObject - >这将查看对象的方向并适当调整x和Y线.
我正在尝试在Haskell中编写一个函数来检查一些事情,然后根据一些最小的用户输入进行递归.为了做到这一点,我想我必须使用do块.
cip :: [Argument] -> [Argument] -> Bool -> Bool -> IO()
cip (a:args) pargs burden gameover = do
let nasko = a:pargs
putStrLn (getPremise a)
let newgraph = Carneades.mkArgGraph nasko
let newcaes = (CAES (newgraph,audience2,assStandarts))
let answer = (acceptable (mkProp (getPremise a)) newcaes )
print answer
if(answer==True)
then (cip args nasko burden gameover)
else do
print "One of the arguments is not proved. Here are the premises that need proving"
print (propsForFixing newcaes a)
print "Let's see …Run Code Online (Sandbox Code Playgroud) 我正在开发Android蓝牙项目,以便从定制硬件发送和接收数据.我在SDK中使用蓝牙聊天示例作为基础.
我意识到,有没有办法改变波特率在客户端(Android手机)和波特率取决于硬件.我尝试在硬件上设置不同的波特率,但都没有达到我们的预期;
我能获得的最快速度是91Kbps(当波特率设置为2.7Mbps~910Kbps时).使用最小波特率(115Kbps)我得到43Kbps.我尝试使用不同的手机,它是一样的.我需要每秒将170KB数据传输到硬件.
规范
协议:使用最大520字节大小的包将同步或生成的数据发送到硬件.收到并批准每个包后,硬件发送验证命令,然后电话发送下一个数据包.
客户端:Android 2.3.3,三星galaxy w i8150,蓝牙v3.0,RFCOMM
硬件:自定义,蓝牙v2.1 BlueGiga WT11i
我完全糊涂了..这可能是手机上的Android或蓝牙设备引起的问题吗?我想知道最大波特率是多少?有没有办法加快传输速度(如增加最大包大小,或发送所有包而不等待硬件验证命令).
编辑
将包大小更改为4160字节后,吞吐量增加到254Kbps.我试图找出最佳封装尺寸达到1.5Mbps.我很感激任何建议
我只想在一些请求上做无缓冲的查询.
在mysql中我这样做:
$req = mysql_unbuffered_query('SELECT * FROM forum_topics
ORDER BY (topic_id/topic_stick) DESC, topic_last_post DESC');
while($data = mysql_fetch_assoc($req)) {
// display results...
}
Run Code Online (Sandbox Code Playgroud)
我查看了php doc,根据它pdo我们必须以这种方式进行无缓冲的查询:
$pdo = new PDO("mysql:host=localhost;dbname=world", 'my_user', 'my_pass');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
$uresult = $pdo->query("SELECT Name FROM City");
if ($uresult) {
while ($row = $uresult->fetch(PDO::FETCH_ASSOC)) {
echo $row['Name'] . PHP_EOL;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,是否可以仅为"forum_topics"表结果进行无缓冲,而无需将所有pdo实例设置为无缓冲?
是否有一个非 空的合并运算符,在C#这种情况下可以使用如下:
public void Foo(string arg1)
{
Bar b = arg1 !?? Bar.Parse(arg1);
}
Run Code Online (Sandbox Code Playgroud)
以下案例让我想到了:
public void SomeMethod(string strStartDate)
{
DateTime? dtStartDate = strStartDate !?? DateTime.ParseExact(strStartDate, "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture);
}
Run Code Online (Sandbox Code Playgroud)
我可能没有strStartDate信息,以防万一,null但如果我这样做; 我总是确定它将是预期的格式.因此,而不是初始化dtStartDate = null并尝试parse在try catch块内设置值.它似乎更有用.
我想答案是否定的(并且没有这样的运算符!??或其他任何东西)我想知道是否有一种方法可以实现这种逻辑,它是否值得以及它会变得有用的情况.
我想使用屏幕的整个宽度并能够使其可滚动。所以我想隐藏 的滚动指示器ScrollView。我怎样才能实现这个目标?
我可以使用以下代码执行子菜单列表:
Dim cm As GoContextMenu = New GoContextMenu(view) 'GoContextMenu Inherits System.Windows.Forms.ContextMenu
Dim subTop(1) As MenuItem ' if you have 2 submenu, then the array count is 2-1 = 1; subm(1)
Dim orMenu As New MenuItem("OR", New EventHandler(AddressOf Me.OrTopGateItem_Click))
Dim andMenu As New MenuItem("AND", New EventHandler(AddressOf Me.AndTopGateItem_Click))
cm.MenuItems.Add(New MenuItem("Type", subTop))
Run Code Online (Sandbox Code Playgroud)
从上面的例子中,我设法创建一个子菜单,如下图所示: 我的子菜单结果的屏幕截图
如何在运行时动态添加更多子菜单?
谢谢.
我的SELECT语法有问题.码:
$stmt = $this->con->prepare("SELECT ? FROM `shop_items` WHERE `id` = ?");
$stmt->bind_param("si", $what, $itemsId);
$stmt->execute();
$stmt->bind_result($res);
$stmt->fetch();
echo $res;
Run Code Online (Sandbox Code Playgroud)
当我想选择"name"时,它会回显"name"而不是DB的结果.怎么解决?
我需要验证in中的选定项目。SpinnerAndroid
我尝试了以下代码,但它不起作用。
if (Spinner1.getSelectedItem().toString().trim() == "Pick one") {
Toast.makeText(CallWs.this, "Error", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
代码有什么问题,我该如何修复它?
这是用C++编写的一些代码:
#include <iostream>
int main(){
typedef map<int,int> b;
b tC;
b::iterator iMap;
b().swap(tC);
}
Run Code Online (Sandbox Code Playgroud)
我试过了
b.swap(tc);
但是我一直都错了.
我无法理解的是,为什么不能呢b.swap(tC);?
这是编译器问题吗?
抱歉我的英文.