1월, 2024의 게시물 표시

1/29

당면한 문제가 많지만 악독같이하면 다 해결가능한 문제다. 발표는 바로 내일 게임구성은 완성했고 이젠 꾸미기의 영역이다. 다른 조는 어떤 방식으로 했을지도 조금 흥미롭다만 어쩌면 들을 시간이 조금 없을지도 모른다 아직 강의가 조금 남아있어서 그 시간에 강의를 더 들어야 할거만 같다.. 발표가 끝나고 새로운 강의를 지급받을 태니 그건 그렇고 남이 짠 코드가 맘에 들지 않을때는 정말 기분이 좋지 않더라 없애버리고 다시 만들고 싶은 생각이 들 정도다 코드가 이건 이래서 저건 저래서 이상한 생각이 든다 내가 아직 다양한 패턴에 적응하지 못한것이겠지.. 팀 과제를 통해 깃헙을 통한 협업을 배워왔지만 아직까지도 잘 모르겠단 기분이 든다 개인과제를 하는것 처럼 몰입이 되질 않는다 내가 어릴때부터 구석진곳에 깡통처럼 찌르러져 있으며 만족감을 느끼는 사람이라 그런걸까 잘 모르겠다(팀원에 불만이 있는건 아니다) ..그건 그렇고 오늘 특강에 대해서 이야기를 하자면 상당히 도발적인 내용이였다 월 1억 3천의 개발자 되는법이였던가.. 이곳에서 특강을 여럿 들으면서 좋은 직장 할때마다 항상 돈 많이 주는곳이 나왔다 뭐 그걸 부정하고 싶은건 아닌데.. 사실 나는 월급에 그렇게 목 매달지 않는다.. 솔직히 최저임금보다 조금만 더 줘도 ok다 일이 미친듯이 많아도 좋다 야근하면 어떤한가? 나름 작업하면서 배울수도 있다고 생각한다.(너무 꼰대 소리인걸까) 뭐.. 별개로 강의 내용은 괜찮았다.. 독기를 가지고 하라는데.. 확실히 요즘의 나는 조금 물렀을지도 모르겠다. 한심한 모습도 적당히 보이고 열중해야지

오늘의 til

레이저 작업과 오브젝트 풀 관리를 했다. 오브젝트 풀 쪽은 구현자체는 큰 문제는 없었지만 작업하면서 조금 실수했던거 말고는 큰 문제없다 if문에 ==가 아니라 =를 했다던가.. ide가 왜 작동을 안 했지..? 그 외는 레이저 작업 해당 작업은 괜찮은 유튜브 강의가 있어서 해당 영상을 참조하여 도움을 받았다 흠,, 발표때 비슷한게 만을려나..... 내일은 간단한 ui작업과 스테이지별 난이도 관리에 들어간다. 또 오늘은 챌린지반 수업이 있었는데 예시로 이상한 방법으로 구현한 걸 먼저 보여주고 이상하게 구현한걸 수정하는 식으로 됐었는데................ 왜 이상하게 구현한 방법에서 엄청난 친근감이.............................. 갑자기 죽고 싶어졌다 .. 뭐 별개로 델리게이트를 사용하면 함수를 매개변수로 받아올수도 있었다 알지 못했는데.. 괜찮은 기능이다 그리고 델리게이트 == 액션인줄 알았는데 뭔가 액션이나 퍼미션은 제약이 있다고 다음시간에 다루겠다고 했다 뭘까나.. //이런식으로 가능하다.. delegate void Test(); Test temp; void SetFunc(Test t) {      temp = t;  } -------------------------------------------- SetFunc(() => {debug.Log("뭘봐?")} ); 예제 내가 이해한게 올바르다면 알맞게 동작할거다. 뭘봐 대신에 그냥 함수를 하나 만들어서 넣어줘도 된다만 한번만 쓰이고 안 쓰일 함수를 굳이 만들 필요는 없으니 저거면 된다. (라고 생각했지만 어떤식으로 갑자기 기획이 역변해서 두번 쓸수도 있으니 그냥 만드는게..) 수학 공부가 더 필요성이 강하게 느껴져....

팀 프로젝트 on

에고 팀 프로젝트도 시작됐다 나는 레벨 디자인 쪽을 담당하는데 팀원과 2인 1조로 담당하기로 했다. 아 참고로 게임은 1945인데 몬스터가 땅바닥에 닫으면 벽이 쌓이는 형식이다. 일단 작업은 ui배치를 정하고 오브젝트 풀링 작업을 시작했다 큰 작업은 아니니까 금방 끝날거라 생각한다. 다만 오브젝트 풀링도 만들기 나름이라 어떤 형태로 만들지가 약간 고민거리다.. 뭐 여차하면 강의에 있던 그대로 만들어도 큰 문제는 없겠지만.. 그 외의 작업은 어떤 스크립트가 필요하고 어떤 작업을 할지에 대한 정도... 음 그렇네.. 걱정은 많이 했지만 그래도 큰 문제 없이 해처나갈수 있을거 같다

개인프로젝트 종료

 아고.. 빡빡한 일정속에 개인프로젝트를 마무리 했다 뭐 솔직히 조금 고전한 부분도 없지않아 있지만 난이도적으로 봤을때 충분히 구현 가능한 난이도라 큰 문제는 없었다 다만 코드가 좀 맘에 안 든다 여러모로 개선하고 싶은 부분도 있었지만 강의쪽이 큰일이라 뒀다 강의는 아직 절반도 진행이 안 되고 있다.... 이제 팀 프로젝트 시작하면 진짜 볼 시간 없을텐데 여간 난감한게 아니다. 뭐 그래도 오늘은 조금씩 이지만 이해가 되어가고 있다 이전 팀 과제 평가가 올라왔다 객체의 분배나 저장기능 등 을 긍정적으로 평가받았다.. 개인적으론 조금 이상하게 만들었다 생각했는데 뭐 수준에 맞게 만든거란 거겠지 static을 적당히 쓰라는 이야기가 있었다 아무래도 static은 메모리 할당이 프로그램 시작부터 종료까지 계속 먹기 때문에 적절한 사용이 중요하다 뭐 단순히 많이 써서 지적 당한게 아니라 안 써도 좋을 부분까지 static으로 구현해서 나온 평가다 포션이라던가 뭐 ... 하지만 이부분은 오히려 개인적으론 이정도면 충분하다고 생각했다 당시 팀 수준과 비교했을때 그 이상의 구현을 하려면 아무것도 기어 못 한 팀원도 있었을거다. 그 외는 program.cs에 다 때려박지 말란거랑 깃 브런치 기능을 활용 해보라는 내용이였다. 솔직히 이 부분은 조금 코드 외적인 부분이라 그다지 신경 쓰지는 않았는데 작업하면서 스스로도 좀 필요하다 여겨졌던 부분이였다. 분활은 좀 해야겠더라; ㅋㅋ 메인에서 다 작업하니 어떤 문제가 생겨서 팀장이 백업했던 추억이.. 추억이겠지?

개인프로젝트 막바지

 개인프로젝트의 구현요구 사항은 대부분 큰 문제가 있는건 없었다 아직 다 완성 된건 아니고... npc 대화 기능만 추가하면 된다 내일 발표전에 건들여보고 제출할 생각이다. 팀원의 코드를 공유했는데 몇가지 괜찮았던게 나는 리소스 폴더에서 애니메이터를 교체했는데 리스트로 담아둔것이 더 괜찮아 보였다. 그리고 나는 npc가 생성될때 npclist에 add를 하기 위해 npc 스크립트의 생성자에 Add함수를 넣어었으나 왜인지 적용이 되질 않았다 생성자가 작동을 안 하는건가? 그건 아닐거같은데.. 생성자와 내장 함수들과 우선순의가 어떤식이지..? 아무튼 생성자와 종료자에 각각 list에 add와 remove를 담으면 좋을거라 생각했지만 작동하질 않아 조금 난처해 있었는데 ondisable,onenable 함수를 쓰면 된다는걸 알게되었다 별개로 다들 개인프로젝트를 잘 해주셔서 나중에 팀프로젝트 할때까 조금 걱정이다 잘 해야할텐데 ㅎㅎ 문제는 강의쪽이다 머릿속에 전혀 들어오질 않는다 내 생각에 프로젝트를 삭제하고 처음부터 다시 따라해야겠단 생각이 들었다 아니 뭐 사실 반복은 원래 할 생각이였지만 더욱 필요를 느낀다. 다만 오늘 하루종일 강의를 듣고 느낀게 뒤로 갈수록 집중력이 0에 수렴해서 아무래도 학습법을 바꿔야겠다 코드를 조금 짜고 납득할때까지 지켜보는 식으로.. 시간이 훨씬 오래 걸리지만 지금처럼 배우는게 없는것보단 좋겠지.(참고로 이제 절반의 분량만 했다..) 정 안 된다면 문제집 피고 삼각함수 문제나 풀어보는게 더 좋을거같다 하..

주말!

 에고 .. 드디어 주말이 왔네 어제 저녁에 잘려고 누워도 하도 잠이 안 와서 강의나 조금 더 볼까하고 컴퓨터를 켰는데 버전이 안 맞는다는걸 알고 재설치를 했다........ 프로젝트를 만들때 마지막으로 설치한 버전이 디폴트값이 아니라 최신버전이 디폴트값인건가?.. 하여튼 새로운 버전으로 기존 프로젝트를 열어봤는데 대량의 오류를 뿜어대서 어쩔수 없이 폐기.... 음.. 처음부터 사실 뭐 그것까진 상관이 없는데 그 버전으로 프로젝트를 만들어 vs를 얼어보니 알수 없는 경고가 자꾸만 나오는것이다.... 지워보고 싶어서 내 선에서 노력을 해봤지만 안 된다..... 시간도 늦었겠다.. 내일 튜터님에게 물어보기로하고 다시 자러갔다.. 잠깐 켰다가 무슨 일.. 그래도 자기전에 찾아서 다행이다 근데 튜터님에게 물어봤더니 경고만 뜨고 동작에 문제가 없으면 그냥 무시하라고 하더라.. 어라? 저번에도 경고 때문에 찾아갔다가 비슷한 대답을 들었던거같은 ....? 에고.. 그래도 해놨던 작업은 날아가서 개인프로젝트도 강의도 처음부터 다시시작해 의도치 않게 복습만 하게됬다.. 뭐 어쩔수 없는거겠지 원래도 그럴 생각이였지만 늦은만큼 하기 위해 주말에도 강의 따라하기는 필수적이겠다. 챌린지반 ot를 들어봤다.... 음... 오늘 무슨 이야기 했더라? 머리에 남은게 없는걸보니 ot라 별 이야기는 없었나보다.. 일단 c# 문법적인건 문제없다는 가정으로 진행한다는거 같은데.. 쿼리라던가 자료구조 두세기간 정도 더 시간 내서 개념잡아야겠다 후..

새로운 조원과 새로운 프로젝트 새로운 과제

textRpg를 마치며 이제 드디어 유니티에 대해 다루기 시작했다. 저번 강의에서 배워두고 쓸 기회가 없었던 event 같은 키워드를 활용하는 방식들이 나와서 학습에 만족했다. 다만 발표가 화요일인가 그런데.... 목요일부터 시작해서 화요일까지 강의도 듣고 개인 프로젝트도 해야하니 분량이 상당하다.. 이전 textRpg야 그렇게까지 난이도가 있는건 아니라 별 문제는 없었다만 현재 강의의 난이도는 한번 보고 내가 한두번 카피해서 써봐야 조금 감이 잡히는 수준이라 시간이 상당히 빡빡하다고 볼수있다. 주말을 할애하는 방법밖에 없겠지. 그리고 챌린지반에 신청하여 들어오긴 하였지만 수준에 따라서 강등이나 승급이 있기에 강등은 피하고 싶다 물론 모든 강의 내용은 공개되지만 그래도 디폴트로 듣는게 챌린지반 수업이였으면 한다. 이번 새로운 조원분들은 이전 조와는 다르게 다들 어느정도 c#이나 유니티에 대해 이해도가 있다 어쩌면 내가 가장 무지한 상태일지도 모른다 나는 유튜브로 살짝 건들인 수준에 지나지 않으니

메모

카메라 반높이 Camera.orthographicSize 카메라 너비 Camera.orthographicSize * Screen.width/Screen.height; 마우스 포지션 Camera.main.ScreenToWorldPoint(Input.mousePosition); vs단축키 컨Z 자동완성 되돌리기 컨s 저장 f5 실행 f10 디버깅 f11 한줄실행 스위치문에서 인자값을 넣고 아래화살표를 누르면 자동완성 됨 f12를 누르면 클래스의 세부내용을 알수있음 컨rr 식별자를 모두 바꿔줌 컨+쉬프트+u 대문자로 바꿔줌 컨 + k + c 주석 컨 + k + u 주석off 컨 + k+ f 한줄코드 여러줄로 바꿔줌 불편객체 string https://yeko90.tistory.com/entry/c-%EA%B0%92-%ED%98%95%EC%8B%9D-%EC%B2%98%EB%9F%BC-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94-string%EC%B0%B8%EC%A1%B0-%ED%98%95%EC%8B%9D 인풋 시스템 https://daekyoulibrary.tistory.com/entry/Unity-New-Input-System-1 그래프 https://hongcoding.tistory.com/78 인스펙터창 설정 https://mentum.tistory.com/223 코루틴 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=cdw0424&logNo=221624274241 https://3dmpengines.tistory.com/2161

문제 > 해결과정> 배운것

에고.... 흔히 til의 정석이라는 것이다 문제가 있고 그 문제를 해결하며 생각했던것들을 적고 최종적으론 그 과정들로부터 배운걸 작성하는.... 이 작업을 하는건 면접에서 내가 이런 생각과정을 하는 사람이라는것을 보여주기 위한것과 또 단순히 til을 적기만하는 수 많은 정말 수 많은 사람들과 차별을 두기 위함 이겠지. 신입의 프로젝트는 어처피 다 거기서 거기일테니 이런것에 의지해서 구별할수 밖에.. 솔직히 그 분들이 보기에 만족할만한 til을 쓰는것 자체는 문제가 되지 않는다. 기존에 있던 흔히 좋다고 여겨지는 til을 레퍼런스 삼아서 나 또한 그러하게 만들면 될 뿐이다. 어이구 쓸게 없다? 여차하면 적당히 가공해서 글이라고 못 쓰겠나? 이미 알고 있던걸 오히려 잘 하던 부분에 가상으로 문제를 만들고 최적화 하는 가정까지 자작하면 오히려 더 til로서는 이쁠지도 모른다. 이곳저곳을 뱃겨와서 이야기를 가공해서 til을 이쁘게만 만들어 놓으면 될 일이다. 생각할수록 유튜브 쇼츠 영상 잘 만드는 사람을 원하는건가 싶은 생각마저 든다. 독자(시청하는 사람)이 좋아할것 같은 레퍼런스를 따와서 마구 창작하기 이글을 본다면 몹시 오만한 놈이라 생각하실수도 있지만.. 하지만 정말로 스스로도 til이 이쁘다 해서 그 실력을 보장한다고 생각을 한단말입니까? 아무리 봐도 유튜브 쇼츠 만드는 거랑 개발자 역량이랑은 별개가 아닌가..  뭐 잘 정리한 블로그도 개발자의 덕목이다 싶을지도 모르지만.... 그런 덕목일수록 무차별하게 하루에 한번은 필수야 꼭 써 이런 억지는 더 피해야하는거 아닌가? 결국은 직접 옆자리에 두고 보는 수밖에 없는거다 그렇게 생각한다
에고 이제 구현은 다 되었으니 남은것도 한두시간이면 바이바이다. 하지만 과제 제출까지 시간은 남고,..... 자습의 시간이 온건가.... 뭐 그것도 나쁘지는 않다 이젠 다음 과제로 무엇을 받을지가 조금 흥미롭네.. 그동안은 알고리즘 타파라도 진행하는게 음 괜찮을거같다 그걸로가자

대부분의 기능은 끝!

후우 필수요구는 다 끝냈으니 한시름 놨다 저장하는 기능이 가장 어려울거 같지만 뭐 못해도 큰 문제는 없겠지.. 문법적으로 이제 모르는게 있는건 아니니까 이제 보고 이해를 못 할건 없다 시간이 좀 필요하고 구현하는 발상이 필요할 뿐이지.. 어느 반으로 갈지 선택하라고 했는데.... 챌린지반을 희망한다고 했다만.... 설마 상담하러 오는건 아니겠지..... 뭐 다만 각 반의 강의를 다 공개한다 하니 사실 어느 반을 가든 상관 없는게 아닌가 생각하고 있기도 하다. 요구 조건이 제어문이나 반복문이였나.... 그거 다룰줄 알고 간단한 정렬함수를 만들수 있으면 된다 했으니 뭐 최소 조건은 된다고 봐도 되겠지.... 됐으면 좋겠다 그나저나 드디어 기다리던 개인 피드백이 왔다 - 클래스를 잘 나누어 사용하셨습니다. - 기능 구현 잘 해 주었습니다. - JSON 활용 잘 해 주셨고 JSON 형식에 대해서도 한번더 확인해 보시면 좋을것 같습니다. - 변수명은 조금더 명확한 이름들이 좋을것 같습니다. - 상수값으로 비교를 할경우 매직 넘버를 만들어서 사용하면 가독성이 좋습니다. 변수나 열거형 int MenuOptionExit = 0; int MenuOptionShowInfo = 1; int MenuOptionShowInventory = 2; - Recovery와 같은 곳의 Console.ReadKey();를 합쳐서 하나로 처리 할수 있을것 같습니다. - 조금더 메서드를 추가하여 활용해 주시면 좋을것 같습니다. 흠.... 역시 예상했던 대로 함수를 멍청하게 쓴다는걸 지적당했다... 아 멍청하게 귀찮다고 두개로 만들 함수를 하나로 만들어서 진짜 바본가? 그리고 변수명도.... 그쵸..... 협업을 가정하고 배우는 곳이라 중요하다 생각한다.. 그렇게 심했나..... 지역변수는 심각하게 막 하긴한거같다..... 이걸 지적당하는 바보는 나뿐이겠지.... 리커버리 함수 이야기는 스위치문 이야기인데 case 1: readkey break; case 2: readkey break; 이딴식으로...

두번째 팀과제 시작

 새롭게 팀과제를 시작했다 이전과 마찬가지로 이미 만들어본것을 다시 팀과제로 하는 일이다. 필수 구현은 문제 없이 할거라 믿지만 얼마나 매끄럽게 진행될지가 대단한 구경거리다 최대한 팀원분들이 만들어주신 함수나 변수를 채용해서 작업하고자 한다. (애초에 사다리타기로 나온것이 상점이라 아이템이라던가 플레이어 클래스가 없으면 뭘 할수 없다.) 애고 내일부터 알고리즘 문제 풀이가 시작되는거 같다 어쩌나.... 한번 문제가 안 풀리면 세상이 멸망해도 매달리고 싶어지는데 시간에 맞춰서 팀 과제도 해야하니 걱정이다

알고리즘 특강?

다음날은 알고리즘 특강이 있는 날이다만 알고리즘 유니티 작업에서 유용하게 쓰이려나? 취업 코테엔 필수일진 모라도 유니티 작업에서 활용이 어느정도일지는 조금 의아한 감이 있다 물론 아직 기초도 없는 나에겐 도움이 되겠지만 약간만 다룰줄 안다면 그 이상은 다른걸 배우는데 활용하는 편이 좋다고 생각한다 이쪽은 발상이라기보단 어떤식으로 굴러가는지 뇌에서 시뮬레이션만 가능하면 그저 복붙해서 긁어와도 문제 없을테니.. 예를들어 배열의 정렬 함수도 직접 구현할 필요 없지않은가? 제공해주니깐 물론 그 정도는 어떠하게 구현하면 될지정도는 쉽지만.. 다른 사람의 til을 읽는건 솔직히 재밌다 구현한 방법이라던가 그날 배운거라던가 의외로 도움이 된다 난 그런 til을 쓰고 있는가? 음..... 책을 샀다 수학책 기본으로 돌아가서 배우고 싶었다 학생땐 싫기만 했는데 왜 이제와서 흥미가 들었는가? 참 사람일 모를일 아닌가 어쩌면 학교라는 곳이 싫었던걸지도 모른다 그리고 유데미란 사이트에서 여러 강의를 할인하길래 3개정도 구매했다. 내가 간절히 바라는 게임들을 만드는 영상들이다 영어는 부족하지만 참 난 좋은 시대에 살고 있다 번역 퀄이 그래도 도움이 된다. 오늘은 해당 강의를 진행했다 강의 따라서 해보고 끈 다음에 혼자서 해보고.... 의 반복이다 이러한 강의를 통해 게임의 로직들을 구현할줄 알게 된다면 나에겐 아트라던가 음악 또 게임속 서사를 다룰 배움이 필요할텐데.... 코딩쪽과 마찬가지로 감이 안 잡힌다 .. 이러한 배움을 쌓는건 솔직히 말해 돈을 까먹는 짓이다 운이 좋게 배우면서 일도 할수 있는곳이 있다면 천운이지만 나에게 그럴만한 능력이 있다는것도 증명해야하기에 쉽지만은 않다. 내배캠을 통한 취업은 잘 되는가? 이걸 통한 취업은 솔직히 취업은 관심이 없었다만(솔직히 몸쓰는 노가다 일에 거부감도 없다) 계속해서 취업 취업하니깐(물론 자기 하기 나름이라고 같이..) 끌리는것도 사실이다 아까말한 배우면서 삶을 영위할수 있다는게 가장 맘에 든다. 다만 솔직히 어느 정도나 취업이 될지...
오늘도 꽤나 빠르게 til을 작성한다 그만큼 당장 할 일이 없다는거다 아니 뭐랄까 그래 도전할 일이 없다 개인과제 제출도 끝났고 강의도 이해할수 있는 범위에선 다 이해했다 강의는 개념이니깐 빨리 실습을 할수 있는 과제라던가 다른 강의를 시작했으면 좋겠다 한편으론 빨리 피드백도 받아보고 싶다 뭐 튜터님과 여기 3기 수강생들의 비율을 생각하면 그렇게 많이 적어주지도 못 할거라 생각하지만 한편으론 어떤점을 지적할지.... 뭐랄까 나 스스로도 못 했다고 여겨지는 부분이 좀 있어서 예를들면 인벤을 보여주는 함수.... 이 박재영은 인벤을 보여주는 함수는 인벤을 보여주는 기능만 담당해야지 아 함수 두개 만들기 귀찮네? 하나로 해결해야지~ 하고 한심하게도 인벤프린트 함수를 하나로 해서 프린트와 아이템 장착하는 기능을 둘다 담당하는 키메라 함수가 되어버렸다 상점 클래스에서 플레이어의 인벤토리를 화면에 출력 시켜줘야하는데 장착기능 까지 있어서 그 함수를 사용하지 못 하니 상점에서 플레이어 인벤 출력을 또 만들었다 ㅋㅋㅋㅋ 나중에 그 인벤 보여주는 기능에 하자가 있다는걸 확인하고 고치려 했을땐 와우 함수를 하나로 해뒀으면 그것만 고치면 될텐데 키메라 함수에서 고치고 상점에서도 고치고 놀라운 작업이다 변명을 조금 하자면 장착이랑 인벤이랑 상점 각각 출력하는 방식이 약간 차이가 있어서 문자열을 다루는게 부족했던 이야기일지도 모른다 스트링 빌더 써야지 하고 선언만 해놓고 결국 사용하지 않았네 억지로라도 더 써봤어야 했는데 텍스트 게임에서도 안 쓰면 너는 도대체 언제 사용할거니? 이건 모두 스트링으로도 다 구현할수 있어서 굳이 스트링 빌더를 안 써도 되게 만든 c# 개발자들의 탓이다 최적화가 좋은 스트링 빌더를 따로 만들지 말고 기존에 있던 스트링의 최적화를 고쳐주세요 .... 그 외로는 .... 어떤점을 지적 받을 수 있을까 goto문 사용했다고 혼나는건 아니겠지? 함수 두개로 할건 하나로 만들어 놓고 하나로 할건(장비 탈부착) 두개로 만든점?????? 음..... 음..... 내가...

크아아아아아악

이미지
 게임의 모든 시스템 구현은 끝났다 소수점은 if문으로 갈라서 구현했고 hp가 없으면 던전에 입장 못 하게 막았다 그 외엔 어제 이야기 했던 저장하고 불러온 객체는 ==가 안 된다는거 때문에 약간 손 본것 정도 객체가 가지고 있는 원소들로 비교하면 되서 큰 문제는 아니였다 그리고 인벤토리 출력을 0번부터 9번까지 하는데 만약 0번에 아무것도 없으면 출력을 멈추는 방식이였다 근데 내가 정렬하는걸 만들어 두지 않아서 0번 아이템을 팔면 모든 인벤을 확인할수 없는 버그가 있었지만 간단한 정렬 함수를 만들어서 해결했다 앞줄은 i 뒷줄은 p로 이중 for문 i가 null값이고 p가 null이 아니면 교체 간단한 함수다 그렇게 끝을내고 서둘러 5주차 강의를 보기 시작했다 정렬 알고리즘과 탐색 알고리즘 여러가지 있지만 지금에 나에겐 다 알필욘 없지 일단 구현을 하는게 우선인 수준이니까 정렬 알고리즘 두개 이름이 뭐더라.... 뭐 그게 중요한게 방식이 중요하지 하나는 이중 for문으로 i값과 p값을 비교해서 교체하는거고 여기서 p는 i + 1이다 다른 하나는 i (1부터 시작함)랑 p (i - 1)으로 작은 숫자를 앞쪽에 삽입 그래 삽입 알고리즘이다 두개는 이제 다 외웠다 탐색은.... 아직 배열형 탐색밖에 배우지 못 했다 단순히 for문으로 == 하는거랑 left right mid로 while문 돌리는거 둘다 큰 난이도는 아니라 외웠다 문제는..... 비선형 자료구조.... 앞의 알고리즘을 배우는데 그림판으로 그리면서 익히는게 정말 큰 도움이 됐다.... 그렸다 지웠다 하니깐 이해가 안 되는게 하나 없었으니 그것도 그리면서 익히다보면 알게 될거다 ....알게 되어야한다 ...알게 되었으면 좋겠다 강의 나 ....?

지금까지의 정리

 평소엔 9시가 넘겨서 작성을 시작하는데 오늘은 조금 이르게 작성하기 시작한다 뭐 사실 제출시간이 9시라 이게 맞는건데 여지껏 잘못해온거지.... 뭐 그래도 딱히 패널티는 없으니까 시간이 날때 이번 기수들의 til을 전부다 확인해봤다 물론 개중에는 로그인을 요구한다거나 그런 블로그가 있어서 그런건 보지 못했지만 아무튼 퍼블릭한건 다 봤다 그러다보니 조금 괜찮은거랑 그닥인걸 조금 알것같았다 물론 그것도 나의 평가에서지만.... 단순히 기술적인 내용만 좌라락 적는건 개인적으로 별로 재미는 없었다 솔직히 구경하는 맛은 나 처럼 그날 그날 있던 일을 풀어서 쓰는게 보는 맛이 있다.... 다만 기술적인 내용이 언젠가 필요에 의해 검색해 찾아온 사람에겐 더 도움이 되겠지 검색 결과에 나올거라 생각하지는 않지만 굳이 도움적인 요소를 생각해봤을때의 이야기다.. 절대 내가 다른 사람의 til을 보고 뭔가를 배워서 그렇게 말하는게 아니다........ 개발자의 문화인가.. 그리고 뭔가 여자가 쓴게 더 보기 좋았다 학창시절 여자애들 메모장이 더 보기 편했던거의 연장선일까? 저번에 이야기 했던 뱀 게임은 다 완성했다 아쉬운 점은 바로뒤에 몸뚱이가 있는데 뒤로가기 버튼을 클릭하면 바로 자폭한다는 점이려나.... 보통의 뱀 게임은 뭄뚱이가 붙은 쪽으로는 못 움직인다 뭐 해결법은 그냥 뒤로가는 기능을 지우는 것이다 애초에 뒤로 못 가게 할거니 뒤로 가기 기능이 왜 필요한가 더불어 내가 직접 만들고 여럿 게임을 해보니 앞으로 가는 버튼도 필요가 없다 이미 게임 속 흐름에 의해 자동으로 앞으로 움직이기 때문에 앞으로 가는 버튼도 지워주면 오히려 깔끔할듯 싶었다 뭐 그렇게 생각만하고 개인프로잭트랑 강의가 바쁘기에 손은 놨다  다음은 텍스트 게임 어제 말했던 공격력 소수점 반영은 아직 못 했다만 생각지 못 했던 게임 저장기능을 구현할수 있었다. json을 활용하는 방법이다.     static public void SaveObject(params object[...

텍스트 게임 만들기 시작....!

docs에 나와있는데로 하나하나 텍스트 게임을 구현해 나가고 있다만 아무래도 시키는것만 하면 게임이 구멍이 너무 많을듯하다 제시된 케이스만 구현하면 제시되지 않은 부분이 너무 엉뚱한 일을 벌인다 예를들면 docs에 나와있는대로만 만들면 던전 진입 조건은 없고 공략 성공과 실패만 있는데 실패와 성공은 방어력 여부에 따라 달려있고 패널티는 hp 감소다 근데 이 게임 hp를 쓰는 곳이 없다.... hp가 99999999999여도 -99999999여도 아무 상관이 없다.. 그게 아니면 체력 회복을 할때 최대체력이나 그런걸 고려한게 없다 그러니 제시되지 않은 부분은 내가 요령껏 해야할듯 싶다. 하아.... 그리고 앵간하면 변수는 int가 아니라 float으로 해야겠다 별 생각없이 하나하나 구현해 가고 있는데 앞에서는 공격력을 구현하라고만 적혀있어서 int로 구현해놨더니 갑자기 저 뒤에서 레벨업 마다 0.5씩 상승할거예요~ 그러길래 고치냐고 애먹었다 뭐 그래도 대부분의 것들은 구현해놨다 남은거 아니 하고 싶은거는 체력에 따른 던전 진입조건 추가여부와 (혹은 체력이 0이하면 죽는다거나 강제 마을 귀환) 체력이 최대 체력 이상으로 커지는거 막기 마지막으로 내가 random.next를 이용해서 랜덤값을 설정하는데.... random.next에 공격력을 대입해서 랜덤값을 뽑아야하는 부분이 있는데 random.next가 int만 먹는다.... 그래서 일단 공격력을 int로 형변환해서 고치긴 했는데 이러면 소수점이 반영이 안 되서 참.... 가능하면 반영되게 하고 싶은데.... 뭐 천하의 c#인데 소수점 랜덤값 함수정돈 있을거다 ....있어야만한다 ........(셔플함수 없음)....있으면 좋겠다 아.... 마지막으로 왜인지 모르겠는데 배열에 null값을 대입 시키려니 경고가 나더라 p.inven[temp - 1] = null; 이 코드.... 경고는 cs8625 null 리터럴을 null을 허용하지 않는 참조 형식으로 변환할 수 없다.... 이게 뭔 소리지? 배열은 분명 nul...