我该怎么做?
下面是我的代码:
public class MainActivity extends AppCompatActivity {
// 0 : yellow, 1 : red, empty : 2
int[] gameState = {2,2,2,2,2,2,2,2,2,};
int[][] winningPositions = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}, {0, 3, 6}, {1, 4, 7}, {2, 5, 8}, {0, 4, 8}, {2, 4, 6}};
int activePlayer = 0;
boolean gameActive = true;
public void dropIn(View view) {
ImageView counter = (ImageView) view;
int tappedCounter = Integer.parseInt(counter.getTag().toString());
if (gameState[tappedCounter] == 2 && gameActive) {
gameState[tappedCounter] = activePlayer;
counter.setTranslationY(-1500);
if (activePlayer == 0) {
counter.setImageResource(R.drawable.yellow);
activePlayer = 1;
} else {
counter.setImageResource(R.drawable.red);
activePlayer = 0;
}
counter.animate().translationYBy(1500).setDuration(400);
for (int[] winningPosition : winningPositions) {
if (gameState[winningPosition[0]] == gameState[winningPosition[1]] && gameState[winningPosition[1]] == gameState[winningPosition[2]] && gameState[winningPosition[0]] != 2) {
String winner = "";
gameActive = false;
if (activePlayer == 1) {
winner = "Yellow";
} else {
winner = "Red";
}
//Toast.makeText(this, winner + " have won!", Toast.LENGTH_SHORT).show();
Button playAgainButton = (Button) findViewById(R.id.playAgainButton);
TextView winnerTextView = (TextView) findViewById(R.id.winnerTextView);
winnerTextView.setText(winner + " has won!");
playAgainButton.setVisibility(View.VISIBLE);
winnerTextView.setVisibility(View.VISIBLE);
}
}
}
}
public void playAgain(View view){
Button playAgainButton = (Button) findViewById(R.id.playAgainButton);
TextView winnerTextView = (TextView) findViewById(R.id.winnerTextView);
playAgainButton.setVisibility(View.INVISIBLE);
winnerTextView.setVisibility(View.INVISIBLE);
GridLayout gridLayout = findViewById(R.id.gridLayout);
for(int i=0; i < gridLayout.getChildCount(); i++){
ImageView counter = (ImageView) gridLayout.getChildAt(i);
counter.setImageDrawable(null);
}
for(int i = 0; i < gameState.length; i++){
gameState[i] = 2;
}
activePlayer = 0;
gameActive = true;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
这非常简单--你必须知道什么时候每个领域都被拿走了(有人在上面打了一个“X”或“O”),所以,当每个领域都被拿走了,没有获胜的位置兑现时--那么这就是平局。
从程序的角度来看:
1)当player1或player2移动时-计算剩余的自由字段
我想这一定是一个简单的修复,但我仍然熟悉编码,所以偶尔我会陷入一些愚蠢的事情(会赶上的,最终哈哈) (我已经实现了所有其他可能获胜的行和列。没有将它们粘贴在这里以使问题更短,但它们都遵循上面的逻辑) 当玩家放置标记时,我调用该函数,一旦满足一个获胜条件,我会打印消息: 但游戏不会中断(我猜会是,因为我在每个条件后都“Rest”)。我的IF里面会发生什么?就像我说的,猜测一定很简单,但现在卡住了。
问题内容: 表名称: series_type 表格名称: 匹配项 输出: 使用League_id,start_time,radiant_name和dire_name ex的 所需 过滤器 。 输出: 我已经尝试过 使用SERIES_ID和SUM分组,但结果不同。 前任。 询问 前任。 不想要的结果〜〜_ 更新感谢 此查询为我提供了正确的结果,但是有1个问题,它给出了2列。 我需要一排 matche
我在C和一般编程方面是个新手,我想知道这段代码的性能/复杂性有多好,因为它与我在SO的其他帖子中发现的不同。for循环是否使这变得不必要的复杂?
我被我的tictactoe问题困住了。定义一个称为TicTacToe的calss。TicTacToe类型的对象是TicTacToe的单个游戏。将游戏板存储为一个具有三行三列的基类型char的单个2D数组。包括添加移动、显示棋盘、判断轮到谁、判断是否有胜者、判断谁是胜者以及重新开始游戏的方法。为类编写一个主方法,允许两个玩家在同一键盘上依次输入他们的动作。 我写了一些我的方法,并一直在测试我去。当我
我目前正在工作的一个分配的项目,以创造一个抽搐tac脚趾游戏在Java。这是我到目前为止,所有的代码工作相当好,游戏和它的功能工作非常好。我应该记录X胜、O胜和平局;然而,这似乎是问题所在。由于某种原因,即使我指定了计算机模拟的tic tac toe游戏应该有1000次迭代,x胜、o胜和平局加起来从来不是1000。它总是一个非常接近1000的数字,但我不知道为什么它总是变化。下面是我在main类中
问题内容: 我使用的是Google提供的示例,我没有对代码进行任何更改,即使我没有尝试任何开箱即用的方法,我只是将您的项目导入到我的工作空间中,并在设备上进行了检查,发现我am (按类型划分的歌曲)和类型列表… 虽然我应该从JSON中获取Thumb,但这是我尝试过的(但没有成功)- 并得到 问题答案: 图标位图可能尚未设置。最好使用AlbumartCache来获取图标,然后在imageView上进