일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Oracle
- Mac
- python
- Error
- 컬렉션프레임워크
- 자바
- pyqt
- API
- 이클립스
- crud
- spring
- jsp
- Android
- FastAPI
- 단축키
- html
- 대덕인재개발원
- servlet
- Homebrew
- Java
- 자바문제
- nodejs
- 배열
- ddit
- 생활코딩
- 객체지향
- ibatis
- 반복문
- 맥
- JDBC
Archives
- Today
- Total
romworld
Python 09 - (Android)로또게임, 가위바위보, 별찍기 본문
로또게임
<AndoroidManifest.xml>
<activity_main5.xml>
<?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=".MainActivity">
<LinearLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp"
tools:ignore="MissingConstraints">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv1"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
<TextView
android:id="@+id/tv2"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
<TextView
android:id="@+id/tv3"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
<TextView
android:id="@+id/tv4"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
<TextView
android:id="@+id/tv5"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
<TextView
android:id="@+id/tv6"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
</LinearLayout>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="출력하기" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<MainActiviry5.java>
1.첫번째 방법
package kr.co.aiai.app;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
public class MainActivity5 extends AppCompatActivity {
private TextView tv1;
private TextView tv2;
private TextView tv3;
private TextView tv4;
private TextView tv5;
private TextView tv6;
List<TextView> tvList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main5);
tv1 = findViewById(R.id.tv1);
tv2 = findViewById(R.id.tv2);
tv3 = findViewById(R.id.tv3);
tv4 = findViewById(R.id.tv4);
tv5 = findViewById(R.id.tv5);
tv6 = findViewById(R.id.tv6);
Button btn = findViewById(R.id.btn);
tvList.add(tv1);
tvList.add(tv2);
tvList.add(tv3);
tvList.add(tv4);
tvList.add(tv5);
tvList.add(tv6);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myLotto();
}
});
}
private void myLotto() {
Random rnd = new Random();
int[] lotto = new int[6];
for(int i = 0; i < lotto.length; i++){
lotto[i] = rnd.nextInt(45) + 1;
for (int j = 0; i < i; j++){
if(lotto[i] == lotto[j]){
i--;
break;
}
}
}
for(int i = 0; i < lotto.length-1; i++){
for(int j = i +1; j < lotto.length; j++){
if(lotto[i]> lotto[j]){
int temp = lotto[i];
lotto[i] = lotto[j];
lotto[j] = temp;
}
}
}
for(int i = 0; i < tvList.size(); i++){
tvList.get(i).setText(lotto[i] + "");
}
}
}
2.두번째 방법
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 androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
public class MainActivity5 extends AppCompatActivity {
private TextView tv1;
private TextView tv2;
private TextView tv3;
private TextView tv4;
private TextView tv5;
private TextView tv6;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main5);
tv1 = findViewById(R.id.tv1);
tv2 = findViewById(R.id.tv2);
tv3 = findViewById(R.id.tv3);
tv4 = findViewById(R.id.tv4);
tv5 = findViewById(R.id.tv5);
tv6 = findViewById(R.id.tv6);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myLotto();
}
});
}
private void myLotto() {
int[] arr = {
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,
31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45
};
for(int i = 0; i<1000; i++){
int rnd = (int)(Math.random()*arr.length);
int a = arr[rnd];
int b = arr[0];
arr[0] = a;
arr[rnd] = b;
}
Log.d("rom",arr[0]+"");
Log.d("rom",arr[1]+"");
Log.d("rom",arr[2]+"");
Log.d("rom",arr[3]+"");
Log.d("rom",arr[4]+"");
Log.d("rom",arr[5]+"");
tv1.setText(arr[0]+"");
tv2.setText(arr[1]+"");
tv3.setText(arr[2]+"");
tv4.setText(arr[3]+"");
tv5.setText(arr[4]+"");
tv6.setText(arr[5]+"");
}
}
결과
가위바위보
<AndroidManifest.xml>
<activiry_main6.xml>
<?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=".MainActivity">
<LinearLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp"
tools:ignore="MissingConstraints">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvMine"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:text="나:"
android:textSize="30dp" />
<EditText
android:id="@+id/et_mine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvCom"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:text="컴:"
android:textSize="30dp" />
<EditText
android:id="@+id/et_com"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvResult"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="결과:"
android:textSize="30dp" />
<EditText
android:id="@+id/et_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</LinearLayout>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="출력하기" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<MainActivity6.java>
package kr.co.aiai.app;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity6 extends AppCompatActivity {
EditText et_mine;
EditText et_com;
EditText et_result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main6);
et_mine = findViewById(R.id.et_mine);
et_com = findViewById(R.id.et_com);
et_result = findViewById(R.id.et_result);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(view -> {
myclick();
});
}
private void myclick() {
String mine = et_mine.getText().toString();
String com="";
String result = "";
double rnd = Math.random();
if(rnd > 0.66){
com ="가위";
}else if(rnd > 0.33){
com = "바위";
}else{
com = "보";
}
if(com.equals("가위")&& mine.equals("가위")) result = "비김";
if(com.equals("바위")&& mine.equals("가위")) result = "짐";
if(com.equals("보")&& mine.equals("가위")) result = " 이김";
if(com.equals("가위")&& mine.equals("바위")) result = "이김";
if(com.equals("바위")&& mine.equals("바위")) result = "비김";
if(com.equals("보")&& mine.equals("바위")) result = " 짐";
if(com.equals("가위")&& mine.equals("보")) result = "짐";
if(com.equals("바위")&& mine.equals("보")) result = "이김";
if(com.equals("보")&& mine.equals("보")) result = "비김";
et_com.setText(com);
et_result.setText(result);
}
}
결과
별찍기
<AndroidManifest.xml>
<activity_main7.xml>
<?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=".MainActivity">
<LinearLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp"
tools:ignore="MissingConstraints">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvFirst"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="첫번째별수:"
android:textSize="30dp" />
<EditText
android:id="@+id/etFirst"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvLast"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="마지막별수:"
android:textSize="30dp" />
<EditText
android:id="@+id/etLast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</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="match_parent"
android:text="__" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<MainActiviry7.java>
1.첫번째 방법 (내가 푼 방법)
package kr.co.aiai.app;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity7 extends AppCompatActivity {
EditText etFirst;
EditText etLast;
TextView tvDisp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main7);
etFirst = findViewById(R.id.etFirst);
etLast = findViewById(R.id.etLast);
tvDisp = findViewById(R.id.tvDisp);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(view ->{
myclick();
} );
}
private void myclick() {
String a = etFirst.getText().toString();
int aa = Integer.parseInt(a);
String b = etLast.getText().toString();
int bb = Integer.parseInt(b);
String str="";
int count = aa;
for(int i = 1; i <= bb-aa+1; i++){
for(int j = 1; j <= count; j++){
str += "*";
}
count++;
str += "\n";
}
tvDisp.setText(str);
}
}
1. for문을 돌릴 때 첫번째 for문 bb-aa +1 는 최대값 - 최솟값 +1 이다 그러면 별의 행의 수가 나온다.
2. 두번째 for문에서 변수 count는 aa를 담았다. 첫번째 별수는 입력하는 것에 따라 바뀌기 때문에 변수에 담아서
for문을 돌려줘야 한다.
2.두번째 방법
package kr.co.aiai.app;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity7 extends AppCompatActivity {
EditText etFirst;
EditText etLast;
TextView tvDisp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main7);
etFirst = findViewById(R.id.etFirst);
etLast = findViewById(R.id.etLast);
tvDisp = findViewById(R.id.tvDisp);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(view ->{
myclick();
} );
}
public String strStar(int cnt){
String ret = "";
for(int i =0; i<cnt; i++){
ret += "*";
}
ret += "\n";
return ret;
}
private void myclick() {
String a = etFirst.getText().toString();
String b = etLast.getText().toString();
int aa = Integer.parseInt(a);
int bb = Integer.parseInt(b);
String txt ="";
for(int i=aa; i<=bb;i++){
txt += strStar(i);
}
tvDisp.setText(txt);
}
}
*을 출력하는 부분을 메서드로 만들어서 실행한다~
결과
'Python' 카테고리의 다른 글
Python11 - (Android), 숫자 더해서 출력, 배수합, 야구게임 (0) | 2022.12.29 |
---|---|
Python10 - (Andoroid) Toast창 띄우기 (0) | 2022.12.29 |
Python 08 - (Android)(Log.d, 버튼 클릭 이벤트(숫자증가, 홀짝게임)) (1) | 2022.12.28 |
Python 07 - Android (JAVA) (1) | 2022.12.27 |
Python 06 - JFrame(2) (JAVA) (0) | 2022.12.27 |
Comments