Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코틀린
- SQL
- java#왕초보
- 스타일보험
- parcel
- git
- 답글
- sub query
- 미니게임
- 게시판
- Spring
- kotlin
- degit
- 시큐어코딩
- 상속
- 쿠키
- 오버라이드
- Spinner
- 버전일치
- 함수
- 왕초보
- 안드로이드
- snowpack
- React
- 숫자
- Android
- FIle
- webpack
- 스프링
- java
Archives
- Today
- Total
YSHUSH
미니게임(Random Number 찾기) 본문
Random number 찾기 미니 게임을 만들어본다.
범위는 1부터 100까지, 만약 Random number가 50일 경우
35를 입력하면 너무 작습니다, 65를 입력하면 너무 큽니다가 출력된다.
기회는 10번! 맞추면 축하합니다 10번 다 틀리면 다시 도전!
게임이 끝나면 다시 게임할 것인지 물어보기로 하자
변수정의
var randNum:Int
var userNum:Int
var clear:Boolean
var w:Int
Math.radom 함수 사용해서 랜덤값 뽑기
double형이기 때문에 X100을 해주고 인트로 형변환 해준다.
// random (1 ~ 100) 0 ~ 99
randNum = (Math.random() * 100).toInt() + 1
println("randNum: $randNum")
입력값을 받기 위해서 readline 사용
print("number = ")
userNum = readLine()?.toInt()!!
랜덤 숫자 찾기 + message
// finding
var str:String = if(userNum > randNum){
"너무 큽니다"
}else if(userNum < randNum){
"너무 작습니다"
}else{
"빙고"
}
지금까지 썼던 부분을 while 루프로 감싸준다(Math.random, 변수 정의 빼고)
기회가 10번이므로 10!
while(w < 10){
.
.
.
w++
}
맞췄을 때 메세지 출력 부분을 작성한다
while루프 안쪽에 작성
if(str == "빙고"){
clear = true
break
}else{
println(str)
}
결과
지금까지 썼던 부분을 while로 감싸고 초기화, 결과 부분과 재도전 부분을 작성한다.
while(true){
// init
clear = false
w = 0
.
.
.
// result
val resultMsg:String = if(clear){
"축하합니다. 클리어 하셨습니다"
}else{
"아쉽습니다. ${randNum}번이었습니다. 다시 도전하세요"
}
println(resultMsg)
print("한판 더(y/n)? = ")
val replay: String? = readLine()
if(replay == "N" || replay == "n"){
println("안녕히 가세요")
break
}
println("다시 시작합니다")
}
최종
fun main(args: Array<String>) {
var randNum:Int
var userNum:Int
var clear:Boolean
var w:Int
while(true){
// init
clear = false
w = 0
// random (1 ~ 100) 0 ~ 99
randNum = (Math.random() * 100).toInt() + 1
println("randNum: $randNum")
// loop
while(w < 10){
// user input
print("number = ")
userNum = readLine()?.toInt()!!
// finding
var str:String = if(userNum > randNum){
"너무 큽니다"
}else if(userNum < randNum){
"너무 작습니다"
}else{
"빙고"
}
// message
if(str == "빙고"){
clear = true
break
}else{
println(str)
}
w++
}
// result
val resultMsg:String = if(clear){
"축하합니다. 클리어 하셨습니다"
}else{
"아쉽습니다. ${randNum}번이었습니다. 다시 도전하세요"
}
println(resultMsg)
print("한판 더(y/n)? = ")
val replay: String? = readLine()
if(replay == "N" || replay == "n"){
println("안녕히 가세요")
break
}
println("다시 시작합니다")
}
}