小编Sar*_*yan的帖子

C++做while循环

我有一个包含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线.

c++ while-loop do-while

5
推荐指数
1
解决办法
5826
查看次数

Haskell中嵌套的`do`块

我正在尝试在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)

haskell

4
推荐指数
1
解决办法
2398
查看次数

Android蓝牙串口RFCOMM低波特率/慢速传输

我正在开发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.我很感激任何建议

java android bluetooth connectivity rfcomm

4
推荐指数
1
解决办法
1万
查看次数

使用PDO对一个请求执行无缓冲查询

我只想在一些请求上做无缓冲的查询.

在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实例设置为无缓冲?

php pdo request unbuffered

4
推荐指数
2
解决办法
5463
查看次数

有没有办法实现和使用"NOT null coalescing"运算符?

是否有一个 空的合并运算符,在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并尝试parsetry catch块内设置值.它似乎更有用.

我想答案是否定的(并且没有这样的运算符!??或其他任何东西)我想知道是否有一种方法可以实现这种逻辑,它是否值得以及它会变得有用的情况.

.net c# null-coalescing-operator null-coalescing

4
推荐指数
1
解决办法
178
查看次数

有没有办法隐藏ScrollView的滚动指示器?

我想使用屏幕的整个宽度并能够使其可滚动。所以我想隐藏 的滚动指示器ScrollView。我怎样才能实现这个目标?

java android scrollview

4
推荐指数
1
解决办法
6398
查看次数

如何在运行时动态添加菜单项

我可以使用以下代码执行子菜单列表:

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)

从上面的例子中,我设法创建一个子菜单,如下图所示: 我的子菜单结果的屏幕截图

如何在运行时动态添加更多子菜单?

谢谢.

vb.net time submenu

4
推荐指数
1
解决办法
2万
查看次数

PHP MySQLi编写语句 - SELECT

我的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的结果.怎么解决?

php mysqli

4
推荐指数
1
解决办法
5096
查看次数

Android Spinner 验证

我需要验证in中的选定项目SpinnerAndroid

我尝试了以下代码,但它不起作用。

if (Spinner1.getSelectedItem().toString().trim() == "Pick one") {
    Toast.makeText(CallWs.this, "Error", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)

代码有什么问题,我该如何修复它?

android spinner android-spinner

3
推荐指数
1
解决办法
3万
查看次数

Typedef-为什么这个C++代码有效?

这是用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);

这是编译器问题吗?

抱歉我的英文.

c++ stl

3
推荐指数
1
解决办法
104
查看次数