Hi,
关于svn,直接开了权限不大好吧。
我意思是,是否可以借鉴别的项目的开发模式,用patch的方式来maillist进行讨论。
比如,这次的更新就可以表示为:
$svn diff -f 144:145
Index: src/MainWindow.cc
===================================================================
--- src/MainWindow.cc (revision 144)
+++ src/MainWindow.cc (revision 145)
@@ -151,7 +151,6 @@
return ;
}
*/
- DLOG("xxx\n");
if(player){
p1_image->hide();
p2_image->show();
@@ -443,7 +442,9 @@
void MainWindow::on_menu_free_play()
{
-
+ board->free_game();
+ m_refTreeModel->clear();
+ change_status();
}
void MainWindow::on_menu_file_quit()
@@ -583,7 +584,7 @@
bool f_use=1;
if( READ_STATUS != f_status){
f_use = 0;
- buttonbox_war->hide();
+ //buttonbox_war->hide();
}
btn_next->set_sensitive(f_use);
btn_prev->set_sensitive(f_use);
Index: src/Board.cc
===================================================================
--- src/Board.cc (revision 144)
+++ src/Board.cc (revision 145)
@@ -766,20 +766,22 @@
}
}
+void Board::free_game()
+{
+ m_robot.send_ctrl_command("quit\n");
+ m_robot.stop();
+ m_status = FREE_STATUS;
+ m_engine.init_snapshot(start_fen);
+ redraw();
+}
+
void Board::start_robot()
{
m_status = FIGHT_STATUS;
m_robot.start();
m_robot.send_ctrl_command("ucci\n");
- //m_engine.init_snapshot(start_fen);
-
- //moves_lines.clear();
- //moves_lines = postion_str + std::string(start_fen);
- ////user_player =1;
- //redraw();
-
new_game();
}
Index: src/Board.h
===================================================================
--- src/Board.h (revision 144)
+++ src/Board.h (revision 145)
@@ -88,6 +88,8 @@
void start_robot();
/** 开启新游戏,即在引擎已启动的情况下重新游戏*/
void new_game();
+ /** 自由模式,即摆棋*/
+ void free_game();
/** 读取AI的输出,并根据输出的着法走棋*/
bool robot_log(const Glib::IOCondition& condition);
/** 回到最初局面*/
当然,你是maintainer,你来决定是不是把这部分融进代码树。
感觉,这样的模式对以后发展不错。
比如,我弄了一些代码出来,可以先发到这里,你同意了,就可以commit了。
thanks.
yalong