728x90
반응형
배열 복습
Option Base 1 '배열을 1부터 사용하겠다는 모듈 선언문
Sub 배열복습()
Dim 배열1(5 To 10) As Variant
Dim 배열2 As Variant
Dim 배열3 As Variant
배열2 = Array("금", "은", "동")
배열3 = spilt("금-은-동", "-")
'MsgBox "배열1 = " & LBound(배열1) & " ~ " & UBound(배열1)
'MsgBox "배열2 = " & LBound(배열2) & " ~ " & UBound(배열2)
'MsgBox "배열3 = " & LBound(배열3) & " ~ " & UBound(배열3)
End Sub
Sub 버킷리스트()
Dim arrBucketList(5) As Variant
Dim i As Integer
For i = 1 To 5 Step 1
arrBucketList(i) = InputBox(i & "번째 버킷리스트?", "버킷리스트 저장")
Next i
'에러창을 생략하는 코드
On Error Resume Next
Do
i = InputBox("몇 번째 버킷리스트를 찾을까요?" & vbCr & "99를 입력하면 종료합니다.", "버킷리스트 찾기")
MsgBox arrBucketList(i)
Loop While i <> 99
End Sub
Range를 사용하면 현재 선택된 시트를 기준으로 하기 때문에 시트를 지정 해 주는 것이 좋다.
Option Base 1 '배열을 1부터 사용하겠다는 모듈 선언문
Public 몬스터데이터 As Variant '배열변수로 변경하기 위한 몬스터 변수 선언
Sub 데이터파싱()
Dim 데이터X크기 As Long, 데이터Y크기 As Long
' 데이터의 X, Y 크기를 체크하기
데이터X크기 = WorksheetFunction.CountA(Sheets("Monster_Master").Range("1:1"))
' 컬럼 제목 부분을 사용하지 않기 위해 -1 처리
데이터Y크기 = WorksheetFunction.CountA(Sheets("Monster_Master").Range("A:A")) - 1
ReDim 몬스터데이터(데이터Y크기, 데이터X크기)
' 2중 For문을 사용하여 데이터를 배열변수에 대입 / 데이터 파싱
For y = 1 To 데이터Y크기 Step 1
For x = 1 To 데이터X크기 Step 1
' 데이터 파싱하기
' MsgBox y & " - " & x
몬스터데이터(y, x) = Sheets("Monster_Master").Range("A1").Offset(y, x - 1).Value
MsgBox 몬스터데이터(y, x)
Next x
Next y
End Sub
가챠
가중치 랜덤은 전체 중에서 자신의 비중을 판단하는 방식이기 때문에 다른 값들에 따라서 값이 바뀐다.
전리품 상자의 가치 계산식 = SUM(들어있는 아이템의 확률 * 들어있는 아이템의 가격)
Sub 뽑기시뮬레이터만들기()
'랜덤범위를 확인하기 위한 변수 선언
Dim 랜덤최소범위 As Byte
Dim 랜덤최대범위 As Long
Dim 랜덤결과값 As Long
Dim 아이템번호 As Byte
Dim 아이템이름 As String
Dim 뽑기횟수 As Long
Dim i As Long
'데이터 Get Rate 컬럼을 통해서 랜덤의 최소범위와 최대범위를 알아온다.
랜덤최소범위 = WorksheetFunction.Min(Sheets("뽑기시뮬레이터").Range("A:B"))
랜덤최대범위 = WorksheetFunction.Max(Sheets("뽑기시뮬레이터").Range("A:B"))
뽑기횟수 = InputBox("몇 번 뽑을까요?", "뽑기횟수지정")
For i = 1 To 뽑기횟수 Step 1
'MsgBox 랜덤최소범위 & "~" & 랜덤최대범위
랜덤결과값 = WorksheetFunction.RandBetween(랜덤최소범위, 랜덤최대범위)
'반복해야 하는 처리 구문
'H2 셀에 랜덤결과값을 표시한다.
Sheets("뽑기시뮬레이터").Range("I2").Value = 랜덤결과값
아이템번호 = WorksheetFunction.VLookup(True, Sheets("뽑기시뮬레이터").Range("C:E"), 3, False)
아이템이름 = WorksheetFunction.VLookup(아이템번호, Sheets("Item_Master").Range("A:B"), 2, False)
Sheets("뽑기시뮬레이터").Range("J2").Value = 아이템이름
'히스토리 찍기
Sheets("뽑기시뮬레이터").Range("L1").Offset(i, 0).Value = i & "번째"
Sheets("뽑기시뮬레이터").Range("L1").Offset(i, 1).Value = 아이템번호
Sheets("뽑기시뮬레이터").Range("L1").Offset(i, 2).Value = 아이템이름
Next i
End Sub
이번 주 금요일 21시 비교과 특강 있음
728x90
반응형
'대학생활 > 수업' 카테고리의 다른 글
리얼타임엔진 13주차 - UEFN 모델링 (0) | 2023.11.28 |
---|---|
게임인공지능 13주차 - mnist, CNN (0) | 2023.11.28 |
게임그래픽프로그래밍심화 12주차 (0) | 2023.11.27 |
게임배경음악과효과음 10주차 - 숨소리, 공포게임 실습 (0) | 2023.11.23 |
게임기획과비주얼스크립팅 11주차 - 기능 추가, AI, BT (0) | 2023.11.23 |