창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판 (1/0)
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


창조 팁
- '창조' 에 관한 팁을 올리는 곳입니다. 다수의 이미지가 필요하시면 아래 '이미지 자료실' 에 업로드 후 불러와 주세요..


LIST ALL
Posted by 권선중2004-07-17 18:49:20, Hit : 4778
[tip] 균일한 랜덤재생하기..
Homepage : http://ever2ksj.nalove.org
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=tip&no=206
요즘 몇몇분들이 mp3재생기를 만드시기에 저도 몇칠전부터 쪼짝 쪼짝만들고있습니다..
그러다 문득 그간의 랜덤재생방식을 보니..그저 난수를 이용하여 재생하는 방식을 택한것을 보고 몇가지 테스트를 해봤습니다..
모든 노래가 랜덤하게 나오는 것이 아니라 어떤노래는 자주 나오고 어떤 노래는 안나온등 균일하게 나오지 않는 현상을 발견...V^^V
그래서 간단히 팁하나 재공할까합니다..


문자:재생번호
실수:수,재생수;
///위쪽은 아시죠..^^
반복
{ 수:=난수(창1.리스트박스0.내용.줄수);   // 난수를 이용하여 재생할곳을 선택
   만일( 0 = 문자찾아(수를문(수), 재생번호))  // 재생유무 검사 0:재생않했음
   { 재생수:=재생수+1;                                   // 총재생수를 카우트함
     재생번호:=재생번호+수를문(수)+".";            // 현재곡을 선택했을을 저장
   }                                                            }                                                         까지(재생수=리스트박스0.내용.줄수);              // 리스트 의 모든곡을 재생할때까지 반복
재생번호:="";

캬 간단하네용..^^ 요것이 핵심입니다..

여기서 주위할것은..
재생번호:=재생번호+수를문(수)+".";
요부분입니다..반드시 .(점)또는 기타 문자로 나누어 주어야 합니다..
1 15 6 7번곡인데..
11567  <--- 이렇게 저장되면 1 11 15 56 67번이 모두 포함되게 됩니다..
그래서
1.15.6.7. 이렇게 해주는 것입니다..

그리고 반드시 모든곳을 재생후에는 재생목록을 초기화 해주는것 을 빼먹음 안됩니다..
만일 빼먹고 재실행시 무한 루푸에 빠지게 됩니다..

재생목록:=""; 또는 안전을 위해.. 명령준간에 3회 카운트 되지않는경우 빠져나오는 명령을 집어 넣는것도 좋겠죠..

질문은 Q&A를 통해서..^^
아 그리고 적용법은 아시죠...



ps.이진백   2004-07-18 PM 4:48:33  
이거 말고도 난수와 거의 모든 Random 명령어는 끝 수를 반환하는 경우가 많습니다.(특히, 자바 같은거)
이래서... 저는 난수1이 끝 번호일 경우 난수2를 구해 끝 번호라면 다시 난수1 이런식으로 하는 방법을 계획중이었는데... 그럴 필요가 없군요.
ps.이진백   2004-07-18 PM 4:49:45  
난수초기화; 이런거 있을텐데. 그거를 프로그램 실행시 먼저 하세요.
그러지 않고 확인결과 첫번째 난수결과가 0입니다.
권선중   2004-07-19 PM 9:58:46  
수정했습니다..
만일( 0 <> 문자찾아(수를문(수), 재생번호))
가 아니고
만일( 0 = 문자찾아(수를문(수), 재생번호))
입니다.. 즉 문자검사시.. 없는경우 0이 반환됩니다..
LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
292
   [all] 할당해() 자기대입 주의 (ㅎ문자열)
지상현 2011/02/07  5797
291
   [api] 응답없음 판단하기 [1]
박종훈 2010/07/21  4507
290
   [api] 작업관리자에서 프로그램 숨기기 [4]
박재성[날개달기] 2006/03/22  5857
289
   [CELK] 창조로 간단한 신호 보내기 [1]
지상현 2006/07/11  6472
288
     [re] 1145 번째의 비밀(?);; [2]
최재일 2005/11/21  4662
287
     [re] SYSTEMFILE 구조체
박종훈 2009/02/22  4813
286
     [re] ㅎ메모의 64k 제한..
바람 2017/10/19  2519
285
       [re] ㅎ메모의 64k 제한..
바람 2017/12/26  2448
284
     [re] 그룹박스는 밑판+이름표(밑판)?;; [2]
박종훈 2006/01/13  4132
283
     [re] 나른한 일요일 오후에의 잡설 [1]
지상현 2005/11/13  4839
282
     [re] 마지막 부분에서 속도 느려짐 해결.
바람 2012/01/10  4428
281
     [re] 메모 가지고 놀기! [주의사항] [1]
박종훈 2006/07/25  5413
280
     [re] 작업 중 필요해서 만든 문자열내에서 서열 위치찾기 함수.
바람 2017/10/18  2162
279
   [tip] 수를교정문법의 응용과 활용방법 [1]
권선중 2003/09/09  5187
278
   [tip] 같이실행해 응용방법 [2]
권선중 2003/10/12  4672

   [tip] 균일한 랜덤재생하기.. [3]
권선중 2004/07/17  4778
276
   [tip] 동화를 버튼으로 활용하기.. [2]
권선중 2002/12/24  4250
275
   [Tip] 라이브 업데이트 [6]
권선중 2003/11/07  5139
274
   [tip] 매체 재생기 파일 오류.. 해결법 [2]
권선중 2003/01/09  4852
273
   [Tip] 인터넷 실시간 방송 재생(TV,라디오) [5]
권선중 2004/07/26  5837
272
   [Tip] 창1개에 밑판 여러장있을때.....
위자드 2002/11/29  4239
271
   [TIP] 창조 0.9의 그림판 투명창을 깔끔하게 만들기 [3]
권선중 2005/03/08  6318
270
   [Tip] 창조로 엑셀파일 형식으로 저장하기~ ㅋ [6]
최재일 2005/09/04  5960
269
   [tip] 포커스란.. 그리고 응용방법
권선중 2003/09/09  5268
268
   [TIP] 프로그램 제작시 프로그램크기는 무시하세요.... [4]
권선중 2005/03/09  5721
LIST ALL   Prev [1][2] 3 [4][5][6][7][8][9][10]..[14] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인