2010-11-27 85 views
4

我得到这个编译器错误,是什么问题?不是所有的代码路径都返回一个值

public PictureBox getinfo(int i, int j) 
{ 
    return grid[i, j]; 
} 

public PictureBox kingmove(int i, int j)///<-----the problem is here 
{ 
    getinfo(i, j); 

    if (i < 9) 
    { 
     grid[i, j] = grid[i - 1, j - 1]; 
    } 
    else 
    { 
     grid[i, j] = grid[i, j]; 
    } 
+0

如何读取一个好的C#书?这样你就不需要经常这么问了,然后删除了这个问题...... – CodesInChaos 2010-11-27 14:31:11

+0

当你错过一个函数的返回或者你返回一个错误的数据类型比较应该返回什么函数时,会出现这个常见的错误。 – 2010-11-27 15:15:12

回答

6

您的第二种方法没有return声明,但返回类型与void不同。
在该方法的处添加return声明,而不是在开始阶段。

而且你可以在你之前的问题中编辑它。

混合UI和游戏逻辑的方式也很丑陋。游戏逻辑应该对WinForms,图片框等一无所知...
取而代之的是写一个函数,它需要一个游戏状态并将它渲染成一些控件/位图/ picturebox/...

相关问题