網(wǎng)站首頁 編程語言 正文
本文實(shí)例為大家分享了Android Studio實(shí)現(xiàn)井字游戲的具體代碼,供大家參考,具體內(nèi)容如下
MainActivity.java?
import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; ? import androidx.appcompat.app.AppCompatActivity; ? public class MainActivity extends AppCompatActivity { ? ? ? Button b1, b2, b3, b4, b5, b6, b7, b8, b9; ? ? int turn; ? ? int draw; ? ? Button playAgainButton; ? ? ? ? @Override ? ? protected void onCreate(Bundle savedInstanceState) { ? ? ? ? super.onCreate(savedInstanceState); ? ? ? ? setContentView(R.layout.activity_main); ? ? ? ? ? b1 = (Button) findViewById(R.id.b1); ? ? ? ? b2 = (Button) findViewById(R.id.b2); ? ? ? ? b3 = (Button) findViewById(R.id.b3); ? ? ? ? b4 = (Button) findViewById(R.id.b4); ? ? ? ? b5 = (Button) findViewById(R.id.b5); ? ? ? ? b6 = (Button) findViewById(R.id.b6); ? ? ? ? b7 = (Button) findViewById(R.id.b7); ? ? ? ? b8 = (Button) findViewById(R.id.b8); ? ? ? ? b9 = (Button) findViewById(R.id.b9); ? ? ? ? playAgainButton = (Button) findViewById(R.id.playAgainButton); ? ? ? ? turn = 1; ? ? ? ? draw = 1; ? ? ? ? ? playAgainButton.setOnClickListener(new View.OnClickListener() { ? ? ? ? ? ? public void onClick(View view) { ? ? ? ? ? ? ? ? Intent intent = new Intent(getApplicationContext(), MainActivity.class); ? ? ? ? ? ? ? ? startActivity(intent); ? ? ? ? ? ? ? ? finish(); ? ? ? ? ? ? } ? ? ? ? ? }); ? ? ? ? ? ? b1.setOnClickListener(new View.OnClickListener() { ? ? ? ? ? ? ? @Override ? ? ? ? ? ? public void onClick(View view) { ? ? ? ? ? ? ? ? ? if (b1.getText().toString().equals("")) { ? ? ? ? ? ? ? ? ? ? if (turn == 1) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 2; ? ? ? ? ? ? ? ? ? ? ? ? b1.setText("X"); ? ? ? ? ? ? ? ? ? ? } else if (turn == 2) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 1; ? ? ? ? ? ? ? ? ? ? ? ? b1.setText("O"); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? endGame(); ? ? ? ? ? ? ? ? draw++; ? ? ? ? ? ? } ? ? ? ? }); ? ? ? ? b2.setOnClickListener(new View.OnClickListener() { ? ? ? ? ? ? @Override ? ? ? ? ? ? public void onClick(View view) { ? ? ? ? ? ? ? ? ? if (b2.getText().toString().equals("")) { ? ? ? ? ? ? ? ? ? ? if (turn == 1) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 2; ? ? ? ? ? ? ? ? ? ? ? ? b2.setText("X"); ? ? ? ? ? ? ? ? ? ? } else if (turn == 2) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 1; ? ? ? ? ? ? ? ? ? ? ? ? b2.setText("O"); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? endGame(); ? ? ? ? ? ? ? ? draw++; ? ? ? ? ? ? } ? ? ? ? }); ? ? ? ? b3.setOnClickListener(new View.OnClickListener() { ? ? ? ? ? ? @Override ? ? ? ? ? ? public void onClick(View view) { ? ? ? ? ? ? ? ? ? if (b3.getText().toString().equals("")) { ? ? ? ? ? ? ? ? ? ? if (turn == 1) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 2; ? ? ? ? ? ? ? ? ? ? ? ? b3.setText("X"); ? ? ? ? ? ? ? ? ? ? } else if (turn == 2) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 1; ? ? ? ? ? ? ? ? ? ? ? ? b3.setText("O"); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? endGame(); ? ? ? ? ? ? ? ? draw++; ? ? ? ? ? ? } ? ? ? ? }); ? ? ? ? b4.setOnClickListener(new View.OnClickListener() { ? ? ? ? ? ? @Override ? ? ? ? ? ? public void onClick(View view) { ? ? ? ? ? ? ? ? ? if (b4.getText().toString().equals("")) { ? ? ? ? ? ? ? ? ? ? if (turn == 1) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 2; ? ? ? ? ? ? ? ? ? ? ? ? b4.setText("X"); ? ? ? ? ? ? ? ? ? ? } else if (turn == 2) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 1; ? ? ? ? ? ? ? ? ? ? ? ? b4.setText("O"); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? endGame(); ? ? ? ? ? ? ? ? draw++; ? ? ? ? ? ? } ? ? ? ? }); ? ? ? ? b5.setOnClickListener(new View.OnClickListener() { ? ? ? ? ? ? @Override ? ? ? ? ? ? public void onClick(View view) { ? ? ? ? ? ? ? ? ? if (b5.getText().toString().equals("")) { ? ? ? ? ? ? ? ? ? ? if (turn == 1) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 2; ? ? ? ? ? ? ? ? ? ? ? ? b5.setText("X"); ? ? ? ? ? ? ? ? ? ? } else if (turn == 2) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 1; ? ? ? ? ? ? ? ? ? ? ? ? b5.setText("O"); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? endGame(); ? ? ? ? ? ? ? ? draw++; ? ? ? ? ? ? } ? ? ? ? }); ? ? ? ? b6.setOnClickListener(new View.OnClickListener() { ? ? ? ? ? ? @Override ? ? ? ? ? ? public void onClick(View view) { ? ? ? ? ? ? ? ? ? if (b6.getText().toString().equals("")) { ? ? ? ? ? ? ? ? ? ? if (turn == 1) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 2; ? ? ? ? ? ? ? ? ? ? ? ? b6.setText("X"); ? ? ? ? ? ? ? ? ? ? } else if (turn == 2) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 1; ? ? ? ? ? ? ? ? ? ? ? ? b6.setText("O"); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? endGame(); ? ? ? ? ? ? ? ? draw++; ? ? ? ? ? ? } ? ? ? ? }); ? ? ? ? b7.setOnClickListener(new View.OnClickListener() { ? ? ? ? ? ? @Override ? ? ? ? ? ? public void onClick(View view) { ? ? ? ? ? ? ? ? ? if (b7.getText().toString().equals("")) { ? ? ? ? ? ? ? ? ? ? if (turn == 1) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 2; ? ? ? ? ? ? ? ? ? ? ? ? b7.setText("X"); ? ? ? ? ? ? ? ? ? ? } else if (turn == 2) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 1; ? ? ? ? ? ? ? ? ? ? ? ? b7.setText("O"); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? endGame(); ? ? ? ? ? ? ? ? draw++; ? ? ? ? ? ? } ? ? ? ? }); ? ? ? ? b8.setOnClickListener(new View.OnClickListener() { ? ? ? ? ? ? @Override ? ? ? ? ? ? public void onClick(View view) { ? ? ? ? ? ? ? ? ? if (b8.getText().toString().equals("")) { ? ? ? ? ? ? ? ? ? ? if (turn == 1) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 2; ? ? ? ? ? ? ? ? ? ? ? ? b8.setText("X"); ? ? ? ? ? ? ? ? ? ? } else if (turn == 2) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 1; ? ? ? ? ? ? ? ? ? ? ? ? b8.setText("O"); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? endGame(); ? ? ? ? ? ? ? ? draw++; ? ? ? ? ? ? } ? ? ? ? }); ? ? ? ? b9.setOnClickListener(new View.OnClickListener() { ? ? ? ? ? ? @Override ? ? ? ? ? ? public void onClick(View view) { ? ? ? ? ? ? ? ? ? if (b9.getText().toString().equals("")) { ? ? ? ? ? ? ? ? ? ? if (turn == 1) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 2; ? ? ? ? ? ? ? ? ? ? ? ? b9.setText("X"); ? ? ? ? ? ? ? ? ? ? } else if (turn == 2) { ? ? ? ? ? ? ? ? ? ? ? ? turn = 1; ? ? ? ? ? ? ? ? ? ? ? ? b9.setText("O"); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? endGame(); ? ? ? ? ? ? ? ? draw++; ? ? ? ? ? ? } ? ? ? ? }); ? ? ? ? } ? ? ? public void endGame() { ? ? ? ? String a, b, c, d, e, f, g, h, i; ? ? ? ? boolean end = false; ? ? ? ? ? a = b1.getText().toString(); ? ? ? ? b = b2.getText().toString(); ? ? ? ? c = b3.getText().toString(); ? ? ? ? ? d = b4.getText().toString(); ? ? ? ? e = b5.getText().toString(); ? ? ? ? f = b6.getText().toString(); ? ? ? ? ? g = b7.getText().toString(); ? ? ? ? h = b8.getText().toString(); ? ? ? ? i = b9.getText().toString(); ? ? ? ? ? if (a.equals("X") && b.equals("X") && c.equals("X")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player X!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? ? } ? ? ? ? if (a.equals("X") && e.equals("X") && i.equals("X")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player X!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (a.equals("X") && d.equals("X") && g.equals("X")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player X!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (b.equals("X") && e.equals("X") && h.equals("X")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player X!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (c.equals("X") && f.equals("X") && i.equals("X")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player X!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (d.equals("X") && e.equals("X") && f.equals("X")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player X!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (g.equals("X") && h.equals("X") && i.equals("X")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player X!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (g.equals("X") && e.equals("X") && c.equals("X")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player X!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (a.equals("O") && b.equals("O") && c.equals("O")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player O!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (a.equals("O") && e.equals("O") && i.equals("O")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player O!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (a.equals("O") && d.equals("O") && g.equals("O")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player O!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (b.equals("O") && e.equals("O") && h.equals("O")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player O!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (c.equals("O") && f.equals("O") && i.equals("O")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player O!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (d.equals("O") && e.equals("O") && f.equals("O")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player O!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (g.equals("O") && h.equals("O") && i.equals("O")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player O!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? if (g.equals("O") && e.equals("O") && c.equals("O")) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Winner Player X!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? end = true; ? ? ? ? } ? ? ? ? ? if (end) { ? ? ? ? ? ? b1.setEnabled(false); ? ? ? ? ? ? b2.setEnabled(false); ? ? ? ? ? ? b3.setEnabled(false); ? ? ? ? ? ? b4.setEnabled(false); ? ? ? ? ? ? b5.setEnabled(false); ? ? ? ? ? ? b6.setEnabled(false); ? ? ? ? ? ? b7.setEnabled(false); ? ? ? ? ? ? b8.setEnabled(false); ? ? ? ? ? ? b9.setEnabled(false); ? ? ? ? ? ? playAgainButton.setVisibility(View.VISIBLE); ? ? ? ? } ? ? ? ? ? if (draw == 9 && !end) { ? ? ? ? ? ? Toast.makeText(MainActivity.this, "Draw Game!", Toast.LENGTH_LONG).show(); ? ? ? ? ? ? playAgainButton.setVisibility(View.VISIBLE); ? ? ? ? } ? ? } ? ? }
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ? ? xmlns:tools="http://schemas.android.com/tools" ? ? android:layout_width="match_parent" ? ? android:layout_height="wrap_content" ? ? android:orientation="vertical" ? ? android:paddingLeft="@dimen/activity_horizontal_margin" ? ? android:paddingTop="@dimen/activity_horizontal_margin" ? ? android:paddingRight="@dimen/activity_horizontal_margin" ? ? android:paddingBottom="@dimen/activity_vertical_margin" ? ? android:weightSum="3" ? ? tools:context="com.boriskonan.tictactoe.MainActivity"> ? ? ? ? <LinearLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="120dp" ? ? ? ? android:weightSum="3"> ? ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/b1" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? ? android:textSize="50dp" /> ? ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/b2" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? ? android:textSize="50dp" /> ? ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/b3" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? ? android:textSize="50dp" /> ? ? </LinearLayout> ? ? ? <LinearLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="120dp" ? ? ? ? android:weightSum="3"> ? ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/b4" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? ? android:textSize="50dp" /> ? ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/b5" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? ? android:textSize="50dp" /> ? ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/b6" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? ? android:textSize="50dp" /> ? ? ? </LinearLayout> ? ? ? <LinearLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="120dp" ? ? ? ? android:weightSum="3"> ? ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/b7" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? ? android:textSize="50dp" /> ? ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/b8" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? ? android:textSize="50dp" /> ? ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/b9" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? ? android:textSize="50dp" /> ? ? </LinearLayout> ? ? ? <Button ? ? ? ? android:id="@+id/playAgainButton" ? ? ? ? android:layout_width="wrap_content" ? ? ? ? android:layout_height="wrap_content" ? ? ? ? android:onClick="playAgain" ? ? ? ? android:text="Play Again" ? ? ? ? android:visibility="invisible" ? ? ? ? tools:ignore="OnClick" /> ?</LinearLayout>
原文鏈接:https://blog.csdn.net/allway2/article/details/122432952
相關(guān)推薦
- 2022-06-16 golang配置管理神器Viper使用教程_Golang
- 2022-09-08 python裝飾器property和setter用法_python
- 2022-04-28 淺析python中特殊文件和特殊函數(shù)_python
- 2023-04-26 C語言函數(shù)調(diào)用基礎(chǔ)應(yīng)用詳解_C 語言
- 2022-03-04 前端添加把數(shù)組轉(zhuǎn)為String,后端查詢顯示把String拆分為數(shù)組
- 2022-11-01 詳解C++中函數(shù)模板的定義與使用_C 語言
- 2022-03-09 C語言通過gets和gets_s分別實(shí)現(xiàn)讀取含空格的字符串_C 語言
- 2022-05-11 C#實(shí)現(xiàn)搶紅包算法的示例代碼_C#教程
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支