[앱인벤터] 랜덤 단어 만들기

업데이트:     Updated:

카테고리:

태그: ,

랜덤 단어 만들기


오늘은 자음(초성, 종성), 모음(중성)을 리스트에 넣어두고, 랜덤하게 꺼내와서 두 자리 단어를 만들어 볼게요.🙄🙄
하지만 앱인벤터로는 초성,중성,종성 합치기가 어려워서 모든 모음을 사용안할거에요.

KakaoTalk_20211118_091119683

“ㅋㅜㅇㅖ” 보이시죠 ?
원래는 “쿠예” 로 나와야하지만 앱인벤터에서 한 자리 단어로 조합하기가 어렵더라구여..🤢🤢.
이와 같은 사유로 종성은 사용안할 것이고, 중성은 일부만 사용할 것이에요.


사용할 초성, 중성 목록

#초성(자음)

목록 종류 개수
ㄱ,ㄴ,ㄷ,ㄹ,ㅁ,ㅂ,ㅅ,ㅇ,ㅈ,ㅊ,ㅋ,ㅌ,ㅍ,ㅎ 단 자음 14
ㄲ, ㄸ, ㅃ, ㅆ, ㅉ 쌍 자음 5

#중성(모음)

목록 종류 개수
ㅏ, ㅓ, ㅔ, ㅐ, ㅣ 단 모음 5
ㅑ, ㅕ, ㅖ, ㅒ 이중 모음 4

#종성

사용안함.


#(추가 정보) 전체 초성, 중성, 종성 목록

목록 종류 개수 사용여부
ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ 초성 19 O
ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ 중성 21 일부 사용
ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ 종성 27 X

#만들 수 있는 글자수

  • 총 글자수 : 19 * 21 * ( 27 + 1 ) = 11172

#(추가 정보) 텍스트 코딩에서 초성, 중성, 종성 분리 및 합치는 방법

초성 = ( ( (character_Value - 종성 ) / 28 ) - 중성 ) / 21
중성 = ( (character_Value - 종성 ) / 28 ) % 21
종성 = character_Value % 28

여담으로 예전에 점자 번역기 만들 때(자바), 썼던 방식이에요.😊😊
유니코드로 구성된 한글은 분리가 가능!


1. 디자인

스크린샷(64)


#디자인 구조

1 2 3 4
Screen1      
레이블_랜덤단어    
수직배치 1    
  수평배치 3  
  레이블_생성결과  
  스크롤가능_수직배치1  
    레이블_기록
수직배치 2    
  레이블_자음  
  수평배치 1  
    스위치_자음
    레이블_쌍자음
  레이블_모음  
  수평배치 2  
    스위치_모음
    레이블_이중모음
  버튼_생성하기  

구체적인 속성이 궁금하시면 댓글 적어주세요


2. 블록코딩

#한글버전

스크린샷(65)

#영어버전

스크린샷(66)

ⓐ 부분

사용할 초성을 리스트에 넣음.
단 자음 : ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅅ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ (14개)
쌍 자음 : ㄲ ㄸ ㅃ ㅆ ㅉ (5개)
총 : 19개

ⓑ 부분

사용할 중성을 리스트에 넣음. 단 모음 : ㅏ ㅓ ㅔ ㅐ ㅣ (5개)
이중 모음 : ㅑ ㅕ ㅖ ㅒ (4개)
총 : 9개
(왜 전부 사용안하는지는 위에 “쿠예”참고)

ⓒ 부분

  1. 단어 생성 기록 남기기
    • 단어가 새로 생성될 때, 이전에 생성된 단어를 기록
  2. 스위치를 이용해서 단 모음, 단 자음만 사용할 것인지 이중 모음, 쌍 자음도 사용할 것인지 파악

ⓓ 부분

함수를 이용해서 스위치 on/off에 따른 단어 생성

  • 반복문에서 시작 : 1 , 끝 : 4 인 이유 ? 🙄🙄
    • 우리는 두 자리 글자에서 초성, 중성만 사용하므로
      -> 초성, 중성, 초성, 중성 순으로 반복됨.
  • (나머지) 인덱스 % 2 = 1 설명 🙄🙄
    • 위 코드는 현재 반복문 순서가 홀짝 파악함.
      -> 초성(홀), 중성(짝) 으로 현재 반복문에서 초성인지 중성인지 파악.
  • 임의의 정수 시작 1 ~ xx 설명 🙄🙄
    • 시작은 1로 고정, 끝이 다른 이유
      -> ⓐ , ⓑ 에서 만든 리스트의 크기도 다르고, 스위치에 on/off에 따른 리스트의 크기가 다르기 때문.

댓글남기기