当前位置:首页 > 谈天说地

Android Studio实现井字游戏

34资源网2022-01-12584

本文实例为大家分享了android studio实现井字游戏的具体代码,供大家参考,具体内容如下

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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

看完文章,还可以扫描下面的二维码下载快手极速版领4元红包

快手极速版二维码

快手极速版新人见面礼

除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。

邀请两个好友奖最高196元,如下图所示:

快手极速版邀请好友奖励

扫描二维码推送至手机访问。

版权声明:本文由34楼发布,如需转载请注明出处。

本文链接:https://www.34l.com/post/5246.html

分享给朋友:

相关文章

抖音黄v认证有什么好处(抖音流量高的是蓝v和黄v)

抖音黄v认证有什么好处(抖音流量高的是蓝v和黄v)

我将要在这里告诉你们关于抖音号橱窗蓝v抖音小店所有的知识,认真看完。…

电脑微信可以发多大的视频(视频超过40分钟发送步骤)

电脑微信可以发多大的视频(视频超过40分钟发送步骤)

虽然腾讯在短视频领域迟迟未能取得优势,微视也很难撼动抖音、快手等头部APP的地位,但一直以来都未放弃这块蛋糕。 2021年二季度,随着微信以及Wechat活跃用户账户达到12.5亿,微信视频号的成长空间也被进一步拉大。而腾讯也很可能在短视频…

苏宁易付宝在哪里找(苏宁易付宝解绑流程)

苏宁易付宝在哪里找(苏宁易付宝解绑流程)

天眼查App显示,近日,南京苏宁易付宝网络科技有限公司发生工商变更,尚姬娟退出法定代表人、执行董事、总经理一职,由卢世栋接任。 南京苏宁易付宝网络科技有限公司成立于2011年1月,注册资本为10亿人民币,经营范围包含互联网支付;计算机网络…

物联卡怎么激活上网(联通物联卡开通全教程)

物联卡怎么激活上网(联通物联卡开通全教程)

最近一段时间,小编看到公众号后台有好多朋友留言,其中有一部分都是问“物联卡激活”的问题,今天,瞅个空,给大家介绍一下关于物联卡激活的问题。 接下来是对大家介绍的激活流程,请大家参考!首先要注意以下几条内容!!! 1、卡号不在说明书上,请在收…

波司登,用“高端化”解释估值逻辑?

波司登,用“高端化”解释估值逻辑?

图源:摄图网 编者按:本文来自微信公众号节点财经(ID:jiedian2018),作者:节点财经,创业邦经授权转载 11月27日,国家气候中心对外发布消息称,根据最新海温监测数据,2021年10月赤道中东太平洋进入拉尼娜状态,预计冬季可能形…