Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

기록

안드로이드 스튜디오 베이스볼 게임 만들기 본문

JAVA

안드로이드 스튜디오 베이스볼 게임 만들기

9400 2023. 1. 2. 19:17

manifests 셋팅

 

 

 

화면단 구성

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivityb">


    <LinearLayout
        android:id="@+id/LinearLayout"
        android:layout_width="409dp"
        android:layout_height="729dp"
        android:orientation="vertical"
        tools:ignore="MissingConstraints"
        tools:layout_editor_absoluteX="1dp"
        tools:layout_editor_absoluteY="1dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="스크라이크:" />

            <EditText
                android:id="@+id/et"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:inputType="number" />

        </LinearLayout>

        <Button
            android:id="@+id/btn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="맞추기" />

        <TextView
            android:id="@+id/tvDisp"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:text="TextView" />

    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

 

코드 

package kr.co.aiai.app;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivityb extends AppCompatActivity {

    EditText et;
    TextView tvDisp;
    String com="123";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mainb);

        et = findViewById(R.id.et);
        tvDisp = findViewById(R.id.tvDisp);
        Button btn = findViewById(R.id.btn);

        btn.setOnClickListener(view -> {
            myclick();
        });

        comrandom();
    }

    public void comrandom(){
        String[] arr = {"1","2","3","4","5","6","7","8","9"};

        for(int i=0;i<100;i++){
            int rnd = (int)(Math.random()*arr.length);
            String a = arr[rnd];
            String b = arr[0];
            arr[0]=a;
            arr[rnd]=b;
        }
        com = arr[0]+arr[1]+arr[2];
        Log.d("chiwon",com);

    }

    public void myclick(){
        String mine = et.getText().toString();
        int s = getStrike(com,mine);
        Log.d("chiwon",s+"");
        int b = getBall(com,mine);
        Log.d("chiwon",b+"");

        String str_old=tvDisp.getText().toString();
        String str_new = mine+" "+s+"S"+b+"B"+"\n";
        tvDisp.setText(str_old+str_new);
        et.setText("");

        if(s ==3){
            Toast.makeText(this.getApplicationContext(),"you win\n"+mine, Toast.LENGTH_SHORT).show();
        }

    }

    public int getStrike(String com,String mine){
        int ret=0;
        String c1= com.substring(0,1);
        String c2 = com.substring(1,2);
        String c3 = com.substring(2,3);

        String m1 = mine.substring(0,1);
        String m2 = mine.substring(1,2);
        String m3 = mine.substring(2,3);


        if(c1.equals(m1)) ret++;
        if(c2.equals(m2)) ret++;
        if(c3.equals(m3)) ret++;
        return ret;
    }

    public int getBall(String com,String mine){
        int ret=0;
        String c1= com.substring(0,1);
        String c2 = com.substring(1,2);
        String c3 = com.substring(2,3);

        String m1 = mine.substring(0,1);
        String m2 = mine.substring(1,2);
        String m3 = mine.substring(2,3);


        if(c1.equals(m2) || c1.equals(m3)) ret++;
        if(c2.equals(m1) || c2.equals(m3)) ret++;
        if(c3.equals(m1) || c1.equals(m2)) ret++;
        return ret;
    }
}

출력 성공!

Comments