如何更新数组中的一个元素并在tictactoe网格中显示我的数组的新版本?

时间:2015-09-15 16:52:30

标签: ruby

这是一个tictactoe游戏。当玩家通过数字选择网格时,应该使用AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; //edited NSDictionary *innerDict = @{@"name":name,@"email":email,@"password":password}; NSDictionary *dict = @{@"data":innerDict}; NSArray *parameter = @[@token,@dict]; [manager POST:BASE_URL parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];//add this line X更新所选数字,然后显示更新后的网格。不幸的是,它继续输出相同的默认数字网格。我使用O但它不起作用。如果我将map!切换为@player1 : x,则会将整个数组更改为x: @player1X

一旦我弄明白了,O方法将是下一个要检查的任务。 win会确定获胜组合吗?

win

1 个答案:

答案 0 :(得分:1)

不清楚为什么map!会在这里考虑因素。只需要一个简单的数组操作:

@a[cell.to_i - 1] = @player2

将单元格指定为零索引将使这更容易。

有很多证据表明这里违背了谷物,而不是必要的代码。例如,@player1@player2等变量通常是糟糕设计的标志。为什么不@players = %w[ X O ]?如果您在整个代码中应用该数组而不是使用每个玩家变量,那么这就解决了很多问题。每个回合:@players.unshift(@players.pop)