inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

173만명의 커뮤니티!! 함께 토론해봐요.

AI가 가져올 미래에 질문드립니다.

[Live Seminar] 2027 게임 프로그래머 취업 전략 가이드 (라이브 세미나 녹화본)

안녕하세요. Rookiss님 항상 강의 잘 보고있고, insight를 얻어갑니다. 다름이 아니라 질문드리고 싶은 것은 ai에 대한 미래입니다. 1. CS 지식은 이제 필요없을까요? 공부의 가치는 있을까요? 어차피 지식은 이제 얻기가 너무 쉬워졌고, 애초에 지식이 없어도 게임을 만드는 세상이라고 생각합니다. 언어 거의 모르는 제 친구가 프롬프트로 순식간에 고퀄 산출물 만들어내는 것을 보고 현타가 세게 왔습니다. 저는 바이브코딩 자제하면서 코딩을 하곤 햇거든요. 프롬프트로 모든게 이뤄지면, '기술과 숙달을 위해 공부하는 가치'가 의미가 있나 싶어서 여쭤봅니다.. 굳이 따지자면 이젠 노력의 방향을 '기술 숙달보다는 여러가지 창업적 도전'에 둬야할까요? Ai시대 뭔가 사업적인 감각이 더 중요해진 시대라면, 말그대로 사업적 재능, 사람을 이해하는 거국적인 문과적 재능이 더 중요하다면 노력의 가치가 점점 없어지나 싶습니다. 테크 쪽은 물론 매우 깊숙히 파면 괜찮겠지만, 적당히 파면 별로 가치가 없을까요? 2. 바이브 코딩 스타일 바이브코딩도 여러가지 스타일잇다고 생각합니다. - 물어보거나 공부하면서 천천히 코드를 짜보고, 자동완성 정도만 사용하는 느려터진 공부형 바이브 코딩 - 프롬프트, 하네스 엔지니어링(md)파일 공들여 작성하고, llm이 준, 완성된 코드를 컨펌만 하는 검수자형 바이브 코딩 - 미개하게 뭔 프로그래밍 언어를 봐?하면서 컨펌조차 안하는 그냥 산출물과 자연어로만 하는 해줘형 바이브 코딩 저는 1번 2번 정도를 자주합니다. 특히 2번을 잘하기 위해서 1번을 많이 하고요. 그러다보니까 코드 작성 시간보다 검수나 이해하는 시간이 더 많이 걸립니다. 황소(LLM)는 앞으로 무지성 돌격하는데 그걸 목줄차다가 제가 더 느려서 질질 끌려가는 느낌이랄까요. 그냥 '3번처럼 목줄도 안매고 아몰라 검수도 안할거임 ㅅㄱ 검수도 그냥 ai가 해라.' 하고 맡기는게 좋을까요? 개발 속도는 3번이 말도안되게 가장 빠르더라구요.. 다만, 코드를 이해 안하고 무작정 맡기다 보니까, 공중에 떠다니면서 걷는 느낌입니다. (불안합니다) 회사 입장에서는 사실 마감일 맞추는 게 더 중요하다고 하더라구요. 유지보수고 뭐고, 일단 납기일에 맞추고 얼마나 ai활용을 잘하는지를 판단하는 것이 스펙이라고 들었습니다.

  • unreal-engine
  • 인공지능(ai)
  • 강점개발
Aviator 댓글 1 좋아요 0 조회수 51

커리큘럼 고민

[Live Seminar] 2027 게임 프로그래머 취업 전략 가이드 (라이브 세미나 녹화본)

일단 전 " 바닥부터 만드는 언리얼 에이전트 (Liu)" 를 먼저 보고자 하였으나 이번 강의를 듣고 무엇부터 들어야 할지 고민해 빠졌습니다. 하여 루키스 님의의 " 2027 게임 프로그래머 취업 전략 가이드" 강의 이후 어떠한 강의를 들으면 좋을지 잘 모르겠습니다. 정확히는 커리큘럼인데요. 일단 "바닥부터 .. " 강의를 먼저 듣는다면 그 이후는 루키스 님의 어떠한 강의를 듣는 것이 좋을까요? 현재 새롭게 올라오는 강의를 순차적으로 들으면 될까요?

  • unreal-engine
  • 인공지능(ai)
  • 강점개발
충실한 전복 댓글 0 좋아요 0 조회수 42

비반도체 필드에서 이직이 가능할까요?

반도체 평가및분석 직무 완전 정복 - 삼성/SK하이닉스 PE/AE 지원 전략

안녕하세요. 현재 게임업계에서 약 5년간 데이터 엔지니어와 분석가로 근무하며 Hadoop, Hive SQL, Python 기반 로그 수집·적재, 품질 검증, 이상 모니터링 업무를 해왔습니다. 반도체 경험은 없지만 반도체 업계에서 일해보고 싶어서 삼성전자 DS·SK하이닉스 데이터 직무로 이직을 준비 중입니다. 평가·분석 강의가 저 같은 비전공·타 산업 경력자에게도 적합한지, 수강 후 실제 직무 전환 가능성이 있는지 여쭙고 싶습니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • matplotlib
  • 데이터-엔지니어링
  • 인공지능(ai)
이직하자 댓글 1 좋아요 0 조회수 48

노션 비즈니스 요금제로 워크페이스 새로 하나 생성해서 수업 따라하면 되는지요?

[하루 10분] 노션 AI로 업무 자동화부터 재테크 관리까지! + 나만의 AI 비서팀 만들기

수업 진행하면서, 향후 활용등,적용하고자 한다면 노션 비즈니스 요금제로 워크페이스 새로 하나 생성해서 수업 따라하면 되는지요? 기존에 워크페이스 3개가 있는데요, 현재는 무료로 사용하는 버전입니다.

  • notion
  • 업무-생산성
  • crm-마케팅
  • 인공지능(ai)
  • ai-agent
jimi kim 댓글 2 좋아요 0 조회수 183

노베이스 초보자

사례로 배우는 Make 자동화의 모든 것

make라는 어플 배울려고 수강신청을 했습니다. 2강까지 들었는데 아무리 들어도 모듈의 값 입력이나 key 입력하는 것이나 혼자서 하기엔 너무 어렵다고 느껴집니다. 학습법을 어떻게 적용해야할지 잘 모르겠습니다. 듣고도 잘 적용할 자신이 없는데 그냥 반복연습 외우기가 끝인지? 중간중간 이야기하는 예를 들어 striphtml을 적용할때 태그 값이 어디부분인지 보기중 이런 태그가 다른형태로 나왔을때 태그인지 알아볼 수 있을지 ? 복사본을 만들고 구글 드라이브에서 본문을 영구삭제하고 복사본만 남겨두었는데 왜 모듈에 연결할때는 본문과 복사본이 같이 뜨는지 같이 따라하면서도 똑같이 할 수 가 없는 느낌이라 막히는데 어떻해야할지 그냥 무시하고 일단 그냥 한번씩만 따라하는게 괜찮을지 계속막히다 보니 화가나기도 하고 스스로 짜증이 너무 납니다....어떻해야할까요 ?

  • no-code
  • 인공지능(ai)
  • make
  • 마케팅-자동화
정민 댓글 1 좋아요 0 조회수 183

드뎌 석사 졸업합니다. ^^

[PY 0201] 인공지능을 위한 파이썬 레벨1

공대형아님 드뎌 올해 2월 석사 졸업합니다^^ 교과 석사라 논문이 아닌 기술보고서(LLM을 활용한 챗봇 구현 및 성능 개선 관련 내용입니다) 쓰고 졸업했지만 직장 생활 병행하면서 쓴다고 많이 힘들었습니다. TT 부족한 프로그래밍 실력이지만 공대형아님 강의 듣고 많은 도움 받았습니다. 그동안 졸업 준비 때문에 너무 바뻐서 강의 잘 못 듣고 있었는데 Level1 ~ 4 까지 다시 복습 할려고 합니다. ^^ (머리가 아니라 손이 저절로 움직일 때 까지 반복 하는 것이 목표입니다 ^^) 앞으로도 잘 부탁 드립니다. ^^

  • python
  • 인공지능(ai)
aerolbn 댓글 1 좋아요 0 조회수 271

이번에 출판될 책에 대하여 질문드립니다.

회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)

안녕하세요, 현업에서는 PHP, Java를 주로 다루고 있는 개발자입니다. 요 근래 LLM, RAG, LangChain 등 지능형 챗봇이라던지 AI Agent를 개발하기 위한 기술들에 대한 관심이 있었지만 이쪽 분야에 지식이 없다보니, 이것저것 알아보던 중 반가운 소식을 맞이하게 되었습니다. 아무래도 AI쪽과 관련된 개발은 Python을 주로 다루는 것 같더라구요. 그래서 현재 업무 외 시간에 Python을 학습중에 있는데, 어느정도 레벨이 되어야 이번에 출판될 책을 구매 후 읽었을 때 이해도 수월하고, 손 쉽게 따라서 코딩할 수 있을지 궁금합니다. (저의 목표 중 하나는 PHP, Java로 개발된 서비스에 Python으로 개발한 지능형 챗봇(Ex. 유저의 질문의 맥락을 파악하여 유사한 홈페이지 컨텐츠 찾아주는 봇 등...)을 연동시키는데 있습니다.) 그리고 이런 분야는 데이터분석, 빅데이터 영역과는 별개의 영역인지도 궁금합니다! 지식이 얕아 질문의 내용이 다소 미흡하더라도 너그러운 양해 부탁드립니다. [제이쓴님 출판 공지...] https://inf.run/E4Ea7

  • 인공지능(ai)
  • langchain
  • langgraph
  • llm
  • rag
Henu 댓글 1 좋아요 0 조회수 235

어떻게 공부하시나요?

딥러닝 CNN 완벽 가이드 - Pytorch 버전

안녕하세요. 권철민 강사님. 저는 최근에 과학기술원 AI대학원 석사 과정을 졸업하고, 현재는 박사과정을 준비 중인 학생입니다. 학부과정 때 머신러닝 완벽 가이드 책으로 강사님을 접하고, 이후 딥러닝 컴퓨터 비전 완벽 가이드 강의를 구매해서 공부했었는데, 그때 강사님의 강의력에 정말 감탄을 금치 못했던 기억이 나네요. 최근에 파이토치를 이용한 구현을 조금 더 제대로 배워보고 싶어서 딥러닝 CNN 완벽 가이드 , 구현하며 배우는 Transformer를 조금씩 듣고 있는데 웬만한 교수님들보다 전달력이 좋으신 것 같습니다. 서두가 조금 길었는데, 박사 과정 진학을 염두하고 있는 입장에서 '공부'를 어떻게 하면 좋을지 조언을 듣고 싶어 이렇게 글을 작성하게 되었습니다. 배워야 할 내용은 많고, 시간은 한정적이라서 어떻게 하면 좀 더 효율적으로 잘 공부할 수 있을지가 항상 고민인데요. 흔히들 공부에 왕도는 없다고 하지만 강사님께서는 어떻게 항상 새로운 것들을 습득하시고, 또 이렇게 수준높은 강의로 만드시는지 노하우가 궁금합니다. 특히 요새는 코드가 공개되지 않은 논문들도 많은데 어떻게 구현도 척척 구현할 수 있는지 궁금합니다.

  • 딥러닝
  • pytorch
  • 컴퓨터-비전
  • cnn
  • 인공지능(ai)
min4834 댓글 1 좋아요 0 조회수 303

if 문 들여쓰기 잘못하면 이런일이 생깁니다. TT

[PY 0204] 인공지능을 위한 파이썬 레벨3 - 함수

Lecture 17 문제 풀다가 아래 cal_max_min 함수에서 return문 탭 잘못 들여써서 계산이 이상하게 나왔습니다. (이렇게 되면 max 값이던 min 값이던 data의 맨 첫번째 값이 되죠 TT) 파이썬에서 디버깅 몰랐으면 한참 해맬뻔 했습니다. 이런거 보면 차라리 C 처럼 { } 로 둘러싸는 것도 괜찮을 듯 합니다. TT def cal_max_min(data, max=True): target_value = None for sample_idx, sample in enumerate(data): if max: if target_value == None or sample > target_value: target_value = sample else: if target_value == None or sample < target_value: target_value = sample return target_value if __name__ == '__main__': from exercise59 import get_random_scores scores = get_random_scores() score_max = cal_max_min(scores) score_min = cal_max_min(scores, max=False) print(f"{score_max = } / {score_min = }")

  • python
  • 인공지능(ai)
aerolbn 댓글 1 좋아요 0 조회수 332

디버깅시 커서 옮기면 디버깅 창이 사라질때

[PY 0204] 인공지능을 위한 파이썬 레벨3 - 함수

안녕하세요 디버깅때 커서나 마우스 클릭하면 디버깅창이 사라지는 경우가 있는데 혹시 그런경우 생기면 디버깅 창 옆에 세로로 점3개 있는 곳 클릭 뷰 모드 들어가서 Dock Pinned 클릭 하시면 커서를 옮겨도 그대로 있습니다. 혹시나 해서 정보 공유 드립니다. 즐거운 파이썬 생활, 인공지능 공부 하세요 ^^

  • python
  • 인공지능(ai)
aerolbn 댓글 0 좋아요 0 조회수 341

디버깅때 파이참 간헐적 인코딩 에러 발생 관련 해결방안

[PY 0203] 디버깅 기초

안녕하세요 디버깅 실습중에 2~3번은 utf-8 인코딩에러 뜨고 한번은 정상적으로 디버깅이 되서(디버깅 아닌 실행시에는 문제없음, 아직은 한글데이터 사용도 안하는데 TT 계속 쉬프트+F9 계속 치면 한번씩 정상적으로 진행됨 TT) 인코딩 세팅도 바꿔보고( utf-16 등 다른 인코딩도 설정 해봤음) 해도 안되다가 경로(폴더명 )에 한글을 영어로 바꾸니깐 이상이 없네요(이게 원인인지는 정확하게 모르겠습니다) 참조하세요 ~~

  • python
  • debugging
  • 인공지능(ai)
  • 파이참인코딩에러
aerolbn 댓글 1 좋아요 1 조회수 306

한줄 자동완성 해제 파이참 세팅 공유합니다.

[PY 0202] 인공지능을 위한 파이썬 레벨2

안녕하세요 고민글은 아니고 혹시나 해서 같이 강의 들으시는 분들하고 공유하고 싶어서 글 올립니다.(아마 많이 알고 있으시겠지만 혹시나 싶어서 공유합니다. 혹시 정보공유 게시판이 있으면 알려주세요, 혹시 강사님 이글이 부적정 하다고 생각하시면 통보없이 지우셔도 무방합니다. 옮기시는 것도 자유입니다. ^^) 파이참 쓰다 보면 한 줄 자동 완성 기능 때문에 많이 당황하셨을 껍니다. (편하긴 편한데 실력 완성에 도움이 전혀 안되는 .... ) 해제하고 싶어도 보통 인터넷에 올려진 방법은 File -> Settings -> Editor -> General -> Code Completion 체크 해제인데 안되더라고요 File -> Settings -> Editor -> Inline Completion -> Enable local Full Line Completion suggestions 체크 해제 해보세요 혹시나 같이 공부하시는 분들 도움이 되셨으면 합니다. ^^

  • python
  • 인공지능(ai)
aerolbn 댓글 1 좋아요 5 조회수 3908

✨스위그에서 쉽고 빠르게 유형 테스트, 미니게임, 온라인 방탈출 등과 같은 웹 콘텐츠를 배포해보세요✨

‘SWYG 부스트’ 란? 복잡한 배포 과정 때문에 배포를 미뤄온 콘텐츠 혹은 이용자 데이터를 바탕으로 지속적으로 디벨롭하고자 하는 콘텐츠를 복잡한 절차와 비용 없이 쉽고 빠르게 배포할 수 있는 프로그램입니다. * ‘부스트’는 ‘스위콘’의 새로운 프로그램명입니다. ✅ 출시 가능한 콘텐츠 - MBTI 테스트, 심리테스트, 온라인 방탈출, 인터랙티브 웹, 온라인 전시, 미니게임, 한 페이지 내외로 이루어진 유틸성 사이트 등 코딩을 기반으로 만들어진 웹 콘텐츠 이런 콘텐츠도 가능한지 고민이 되신다구여❓ - 한 페이지도 상관없을까? - 예전에 제작한 것도 괜찮을까? - 기능이 완벽하지 않았는데 괜찮을까? - 이 콘텐츠로 수익을 창출해보고 싶은데 가능할까? - 콘텐츠를 지속하지 않을 생각이었는데 괜찮을까? 위에 해당되는 콘텐츠들 모두 오케이 👌 ※ 선정적이거나 폭력성, 사행성 요소가 많이 포함된 콘텐츠는 출시가 불가능할 수 있습니다. 🤷왜 스위그에서 출시를 해야 하나요? 🔥콘텐츠 출시 Benefit🔥 - 웹 호스팅 및 도메인 제공 - 복잡한 심사 절차 없이 광고 부착 가능 - 트래픽이 많이 발생할 수 있도록 전담 마케팅 제공 - 사용자 유입 데이터 제공 - 스위그의 자동 SEO를 통한 검색엔진 최상단 노출 가능 - 콘텐츠의 고도화를 위한 인프라 지원 👉 혜택 자세히 알아보기[ https://swyg.link/h5j_0 📅 일정 - 지원 마감: ~ 3/20(월) - 결과 안내 : 3/22(수) 15:00 📌 지원 방법 구글폼 작성 https://swyg.link/gUjF9 ✨[SWYG 요약 소개]✨ SWYG에서 심리테스트, 미니게임, 인터랙티브 콘텐츠와 같은 특색 있는 메타 콘텐츠를 즐기고, 직접 만든 콘텐츠를 호스팅하여 많은 사용자들을 유입시킬 수 있습니다. 🔗SWYG 홈페이지 https://www.swygbro.com 🔗SWYG 인스타그램 https://www.instagram.com/swyg_official 🙋문의 Kakao: https://open.kakao.com/me/swyg_content Email: shlee@swygbro.com

  • 개발자
  • 디자이너
  • 기획자
  • 웹프로젝트
  • 사이드프로젝트
  • 메타콘텐츠
  • 유형테스트
  • 미니게임
  • 코딩
한재은 댓글 0 좋아요 0 조회수 788

1-D 팰린드롬인지 확인하기 in Swift

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요. C++ 언어가 아닌 Swift 언어로 문제를 풀고 있는 코린이 수강생입니다. 백준 10988번 - 팰린드롬인지 확인하기 를 Swift로 풀 경우 채점 100% 구간에서 계속 "틀렸습니다" 문구가 나오고 있습니다. (반례 없이 잘 작동하고 있습니다... 아마도….) 혹시 저와 같은 문제를 겪었던 학우분들 있을까요?? var str = readLine()!.map{String($0)} let tempStr = str str.reverse() let reverseStr = str if str.count == 1{ print(0) } else{ if tempStr == reverseStr{ print(1) } else{ print(0) } } 혹시 몰라 배열의 원소 하나하나 비교해 보았는데도 계속 틀렸다고 나오고 있네요ㅠ var str = readLine()!.map{String($0)} let tempStr = str str.reverse() let reverseStr = str var tf = false for i in 0..<(str.count/2)+1{ guard str.count != 1 else {print(0); tf = false; break} if tempStr[i] == reverseStr[i]{ tf = true } else{ tf = false print(0) break } } if tf == true{print(1)}

  • c++
  • 알고리즘
  • swift
  • 코테
  • 코딩
민섭 댓글 1 좋아요 0 조회수 827

[전액무료,온라인진행] 블록체인 고급 프로젝트 과정_지역ICT이노베이션스퀘어 확산사업

안녕하세요. 과학기술정보통신부 주관 지역ICT이노베이션스퀘어 확산사업 으로 블록체인 고급 프로젝트 과정 진행중입니다. 수강혜택으로 수료증발금, 블록체인 자격증 응시 기회까지 제공해드리고 온라인수강, 전액무료, 누구나 과정을 이수할 수 있으니 신청해보세요. 학생, 취업준비생, 재직자, 이직자 예정자분들 병행 추천드립니다! https://www.baeulang.kr/bbs/board.php?bo_table=BlockChain&wr_id=36

  • 블록체인
  • 스프링
  • 자바
  • 프론트엔드
  • 백엔드
  • 코딩
  • 국비교육
  • 교육
  • 부트갬프
한국취업센터 댓글 0 좋아요 0 조회수 578

[한국취업센터]서울시뉴딜일자리_IT인턴[월260제공] 지원사업안내_블록체인

서울시에서 뉴딜일자리사업 일환으로 IT 블록체인과정으로 3개월 인턴십 (급여 월 260) 보내주는 프로그램 진행중인데 신청해보세요! https://blog.naver.com/kjc_sh/222745988610 자세한 내용은참고해주세요 오픈카카오톡 문의 [ https://open.kakao.com/o/stkiOIhe ]

  • 취업
  • 인턴
  • 블록체인
  • 개발자
  • 인턴십
  • it
  • 백엔드
  • 프론트엔드
  • 풀스텍
  • 코딩
한국취업센터 댓글 0 좋아요 0 조회수 1081

파이썬 초보자도 쉽게 따라 할 수 있는 데이콘의 파이썬 교육 콘텐츠!

https://dacon.io/forum/404171 파이썬 초보자도 쉽게 따라 할 수 있는 데이콘의 파이썬 교육 콘텐츠! 파이썬 데이터 분석과 머신러닝을 기초부터 차근차근 학습하실 수 있습니다 이제 배우기 시작하시는 분들도 따라 하면서 실력을 키워 데이콘 교육대회뿐만 아니라 일반 대회에 참여하실 수 있도록 데이콘캠프가 응원합니다! #데이터사이언스 #인공지능 #파이썬 #AI #tensorflow #pytorch #r #데이터분석가 #데이터 #머신러닝 #딥러닝 #데이콘 #경진대회 #데이터분석 #ML #DL #Python #Dacon #Kaggle #해커톤 #Hackathon #코딩 #코딩교육 #코딩기초교육 #기초코딩교육 #코딩기초 #머신러닝교육 #머신러닝기초 #데이터분석기초 ​ 이용해주세요.

  • 데이콘
  • dacon
  • python
  • 머신러닝기초
  • 파이썬기초
  • 코딩
  • 코딩기초
  • 코딩교육
데이콘 댓글 0 좋아요 0 조회수 951

파이썬 강의를 들으며 독학으로 배운것들을 이용하여 작은 게임을 만들어보았습니다.

파이썬 강의를 들으며 독학으로 배운것들을 이용하여 작은 게임을 만들어보았습니다 총 길이는 845줄 입니다 다만 주로 Random 문으로 이루어져 있어 특성을 보고 원하는 클래스를 선택하고 랜덤으로 진행되는 상황을 보는 것 뿐입니다 공격을 하고 스킬을 선택해 공격하고 물약을 먹고, 플레이어가 선택할 수 있는건 처음에 클래스 선택 외에는 없습니다 게임의 진행이 모두 알아서 진행이 되기 때문에 그저 랜덤으로 나오는 진행값을 바라보는 것 뿐이지만 스스로 혼자 무언가 만들었다는 것에 대하여 만족하고 있습니다 혹시 궁금해서 돌려보실 분들이 계실지 모르니 간단하게 설명을 드리자면 참고로 비주얼 스튜디오로 작업했기 때문에 비주얼 스튜디오 기준 으로 말씀드리겠습니다 코드를 복붙하여 넣으시고 바로 실행하시면 진행상황과 게임의 진행 결과가 바로 출력이 됩니다 그렇게 되면 살았는지 죽었는지 바로 보이겠지만 중간의 과정을 보려면 위로 다시 쭉 올려야 하기 때문에 번거롭습니다 저는 개인적으로 print ( "서버에 접속 중입니다... \n " ) 이 부분에 Break Point 를 두어 실행 을 시켜 진행합니다 이렇게 진행을 하면 로그인 입력창 에서 멈춰있습니다 로그인 후 각 클래스의 특성을 확인 후 진행할 클래스를 입력한 후 부터는 F10 키를 누르시면서 진행하시면 됩니다 꾹 누르면서 진행하셔도 되고 한 번씩 누르시면서 코드가 진행되는 상황이나 게임의 진행상황을 보시면서 하셔도 됩니다 저는 개인적으로 이렇게 천천히 진행 하면서 다음에 결과가 어떻게 될지 예상하면서 하는걸 좋아합니다 혹시나 이 글을 봐주신 분들이 계신다면 긴글 봐주셔서 감사합니다 # RPG 2.0 수정 및 변경사항 # 1차 완성 및 1차 수정_0618 # 1차 밸런스 조정 및 레벨업 구현 # '가드' 클래스 추가 # 각 클래스 별 마지막 스테이지 입장 시 '보스몬스터' 추가예정 # 2차 수정_0621 # 각 클래스 별 마지막 스테이지 입장 시 '보스몬스터' 추가 # 가드 클래스 'shild' 스킬 추가 # 몬스터 데미지 조정 2 => 3 # 가드 클래스 HP 조정 45 => 40 # 클래스별 HP 및 데미지가 모두 전사 설정값 으로 지정된 문제 확인, 각 클래스에 맞게 수정 # 보스전 전투시 치명타 데미지 추가 # '헌터' 클래스 추가 # 저주의 높은 확률로 다수 출현으로 인한 데미지 조정 3 => 2 # 포션의 높은 확률로 다수 출현으로 인한 회복량 조정 3 => 2 # 전사 클래스 DMG 상향 7 => 8 # 헌터 테스트 결과 사망의 다수 출현으로 인하여 HP 상향 15 => 20 # 3차 수정_0622 # 가드 클래스와 보스간의 HP 차이가 작기 때문에 보스 HP 상향조정 50 => 60 # 프로그램 실행시 로그인 기능 추가 # '갬블러' 클래스 추가 # level 시스템 수정 #------------------------------------------------------------------------------------------------------------------------------------------ # 기본적인 Info # 전사 HP : 20 / DMG : 7 / 포션효과 +2, 저주 데미지 +2 # 도적 HP : 10 / DMG : 15 / 크리티컬 데미지 25, 포션효과 -1, 몬스터에게 받는 추가데미지 +1 # 매지션 HP : 15 / DMG : 10 / 힐링 +2, 몬스터에게 받는 추가데미지 +1 # 가드 HP : 45 / DMG : 5 / 다른 클래스보다 2구역 추가 클리어 조건 # 헌터 HP : 20 / DMG : 10 / 보스와 전투시 추가 데미지 +5, Hide 스킬 (은신시 공격회피) # 몬스터 HP : 25 # 몬스터 DMG : 3 # 보스 HP : 60 # 보스 DMG : 10 # 보스 스킬 DMG : 15 # 포션효과 : 2 # 저주 데미지 : 2 # 몬스터와 3의 배수로 전투시 레벨업, 레벨업 시 HP +5 / DMG +3 # 던전 탈출 전 사망시 게임종료 # 각 클래스 마지막 구역 보스 돌파시 생존, 게임종료 # '갬블러' 클래스 추가 from random import * #----------------------------------------------- 변수 survive = 0 # 구역이동횟수 damage = 0 # 받은 데미지 monfight = 0 # 만난 몬스터 수 life = 20 # 전사 HP power = 8 # 전사 데미지 life2 = 10 # 도적 HP power2 = 15 # 도적 데미지 life3 = 15 # 매지션 HP power3 = 10 # 매지션 데미지 life4 = 40 # 가드 HP power4 = 5 # 가드 데미지 life5 = 20 # 헌터 HP power5 = 10 # 헌터 데미지 life6 = 20 # 갬블러 HP power6 = 10 # 갬블러 데미지 level = 1 # 전사 레벨 level2 = 1 # 도적 레벨 level3 = 1 # 매지션 레벨 level4 = 1 # 가드 레벨 level5 = 1 # 헌터 레벨 level6 = 1 # 갬블러 레벨 #----------------------------------------------- # ----------------------------------------------------------- 로그인 while True : id = input ( "아이디를 입력해주세요 : " ) if id == "qwerty" : password = input ( "비밀번호를 입력해주세요 : " ) if password == 'asdf1234' : print ( "로그인에 성공하였습니다 \n " ) print ( "서버에 접속 중입니다... \n " ) break else : print ( "! 비밀번호를 다시 확인해주세요" ) else : print ( "! 아이디를 다시 확인해주세요" ) # ----------------------------------------------------------- 로그인 print ( "@----- PRG 2.0 에 오신걸 환영합니다 -----@" ) print ( "----- warrior / rogue / magician / guard / hunter / gamler 총 6가지 클래스가 존재합니다 -----" ) print ( "생존 조건은 각 클래스별 마지막 구역에서 출현하는 보스 몬스터 처치이며, 던전 탈출 전 사망시 게임이 종료됩니다. \n " ) dungeon = ( "move" , "monster" ) # ------------------------------- 이동과 몬스터 출현 play = ( "Attack" , "Hit" , "life up" , "curse" ) # ----------------------- 전사, 가드 확률표 guardplay = ( "Hit" , "shild" , "Miss" , "skill" ) # ------------------------------------- 가드 피격 확률표 guardshild = ( "skill" , "shild" ) hunterplay = ( "Hit" , "Miss" , "skill" , "hide" ) # --------------------------------------- 헌터 클래스 보스 피격 확률표 hunterhide = ( "skill" , "hide" ) # --------------------------------------- 헌터 클래스 보스 스킬 회피 확률표 rougeplay = ( "Attack" , "Critical Attack" , "Hit" , "life up" , "curse" ) # --------------------- 도적 확률표 magicianplay = ( "Attack" , "Hit" , "life up" , "Healing" , "curse" ) # ------------------ 매지션 확률표 bosshit = ( "Hit" , "Miss" , "skill" ) # -------------------- 보스 확률표 def job1 ( life , power ): # 전사 클래스 설명 print ( "warrior 는 {0} 의 준수한 HP를 가지며 {1} 의 비교적 낮은 공격력을 가지고있지만 패시프 효과로 포션의 효과가 +2 됩니다." . format ( life , power )) print ( "높은 체력을 가지며 포션의 효과가 증대된 대신, 저주의 데미지 -2 를 추가로 받습니다." ) return life , power warrior = job1 ( 20 , 8 ) def job2 ( life2 , power2 ): # 도적 클래스 설명 print ( " \n rogue 는 {0} 의 비교적 낮은 HP를 가지며, {1} 의 높은 공격력을 가지고있으며 크리티컬 히트로 2배의 데미지를 줄 수 있습니다." . format ( life2 , power2 )) print ( "높은 딜링을 가지며 크리티컬 히트로 2배의 딜을 가진 대신, 포션의 효과가 -1 감소하며 보스와 몬스터에게 +1 추가데미지를 입습니다." ) return life2 , power2 rouge = job2 ( 10 , 15 ) def job3 ( life3 , power3 ): # 매지션 클래스 설명 print ( " \n magician 은 {0} 의 적당한 HP를 가지며, {1} 의 준수한의 공격력을 가지고있으며 유일한 힐 스킬로 체력을 +2 회복합니다." . format ( life3 , power3 )) print ( "유일하게 힐 효과를 가지고 있는대신, 보스와 몬스터에게 받는 추가데미지 -1 이 적용됩니다. \n " ) return life3 , power3 magician = job3 ( 15 , 10 ) def job4 ( life4 , power4 ): # 가드 클래스 설명 print ( " \n guard 는 {0} 의 높은 HP를 가졌지만 {1} 의 상당히 낮은 공격력을 가지고있습니다." . format ( life4 , power4 )) print ( "높은 HP를 가져 잘 죽지 않으며 쉴드 스킬로 데미지를 반으로 줄 가드는 다른 클래스와 달리 2구역을 추가로 돌파, 즉 7구역을 돌파해야 생존합니다. \n " ) return life4 , power4 guard = job4 ( 40 , 5 ) def job5 ( life5 , power5 ): # 헌터 클래스 설명 print ( " \n hunter 는 {0} 의 준수한 HP와 {1} 의 공격력을 가지고있으며 보스에게 +5 추가 피해를 주며 보스전에서 Hide 스킬 발동시 공격을 회피합니다." . format ( life5 , power5 )) print ( "보스에게 추가 +5 데미지를 주며 Hide 스킬 발동시 공격을 회피하지만 헌터의 모든 능력은 보스전에서만 효과를 발휘합니다. \n " ) return life5 , power5 hunter = job5 ( 20 , 10 ) def job6 ( life6 , power6 ): # 갬블러 클래스 설명 print ( " \n gambler 는 기본적으로 HP 와 DMG 를 알 수 없습니다 이 클래스는 HP 와 DMG가 시작시 랜덤으로 부여됩니다" ) print ( "랜덤 스텟부여 범위는 최소 5부터 최대 30까지, 이는 랜덤으로 부여됩니다 운이 좋다면 30, 30 도 가능합니다 \n " ) return life6 , power6 gambler = job6 ( "?" , "?" ) player = input ( "----- 사용하실 클래스를 입력해 주십시요 ----- : " ) job = ( "warrior" , "rouge" , "magician" , "guard" , "hunter" , "gambler" ) # ----------------------------------------------------------------------------------------------------------------------------------------- # 전사 if player == 'warrior' : print ( "전사 클래스로 시작합니다" ) print ( "@--- 던전에 입장 합니다 ---@" ) while 'warrior' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level = level + 1 life = life + 5 power = power + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level = level + 1 life = life + 5 power = power + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level = level + 1 life = life + 5 power = power + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck2 = sample ( play , 1 ) if luck2 == [ 'Attack' ]: # --------------공격 monster = monster - power print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck2 == [ 'Hit' ]: # -------------------------------데미지 life = life - 3 damage = damage + 3 print ( "공격을 받았습니다 / 현재 생명력 : {0} " . format ( life )) if luck2 == [ 'life up' ]: # -----------------------------회복 life = life + 4 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 패시브로 인하여 +2 를 추가 회복합니다 / 현재 생명력 : {0} " . format ( life )) if luck2 == [ 'curse' ]: # -------------------------저주 life = life - 4 damage = damage + 4 print ( "저주를 받아 -2 라이프가 감소합니다 패시브로 인해 저주 데미지 -2 를 추가로 받습니다 / 현재 생명력 : {0} " . format ( life )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life + damage , damage )) quit () if survive == 5 : #--------------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck2 = sample ( play , 1 ) if luck2 == [ 'Attack' ]: # --------------공격 Boss = Boss - power print ( "보스 몬스터를 공격하였습니다 / 보스 HP : {0} " . format ( Boss )) if luck2 == [ 'Hit' ]: # -------------------------------보스 데미지 bosshit = sample ( bosshit , 1 ) if bosshit == [ 'Hit' ]: life = life - 10 damage = damage + 10 print ( "보스 몬스터의 공격을 받았습니다 / 현재 생명력 : {0} " . format ( life )) if bosshit == [ 'skill' ]: # ------------------보스 치명타 데미지 life = life - 15 damage = damage + 15 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 / 현재 생명력 : {0} " . format ( life )) if bosshit == [ 'Miss' ]: # -------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life )) if luck2 == [ 'life up' ]: # -----------------------------회복 life = life + 4 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 패시브로 인하여 +2 추가로 회복합니다 / 현재 생명력 : {0} " . format ( life )) if luck2 == [ 'curse' ]: # -------------------------저주 life = life - 4 damage = damage + 4 print ( "저주를 받아 -4 라이프가 감소합니다 패시브로 인해 저주 -2 데미지를 추가로 받습니다 / 현재 생명력 : {0} " . format ( life )) if Boss <= 0 : # -----------------------------------------------보스 처치 print ( "보스 몬스터를 처치했습니다 계속 진행합니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level , life + damage , damage , life )) quit () if life <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life + damage , damage )) quit () # ----------------------------------------------------------------------------------------------------------------------------------------- # 도적 if player == 'rouge' : # ------------------------------------도적 클래스 print ( "도적 클래스로 시작합니다" ) print ( "@--- 던전에 입장 합니다 ---@" ) while 'warrior' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level2 = level2 + 1 life2 = life2 + 5 power2 = power2 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level2 = level2 + 1 life2 = life2 + 5 power2 = power2 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level2 = level2 + 1 life2 = life2 + 5 power2 = power2 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck3 = sample ( rougeplay , 1 ) if luck3 == [ 'Attack' ]: # ---------------------------------------------공격 monster = monster - power2 print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck3 == [ 'Critical Attack' ]: # ---------------------------------------치명타 공격 monster = monster - ( power2 * 2 ) print ( "치명타 공격이 발생하였습니다! / 몬스터HP : {0} " . format ( monster )) if luck3 == [ 'Hit' ]: # -------------------------------데미지 life2 = life2 - 4 damage = damage + 4 print ( "공격을 받았습니다 패시브로 인하여 -1 데미지를 추가로 받습니다 / 현재 생명력 : {0} " . format ( life2 )) if luck3 == [ 'life up' ]: # -----------------------------회복 life2 = life2 + 1 print ( "포션을 사용하여 생명력을 +1 회복하였습니다 / 현재 생명력 : {0} " . format ( life2 )) if luck3 == [ 'curse' ]: # -------------------------저주 life2 = life2 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life2 )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life2 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life2 + damage , damage )) quit () if survive == 5 : #----------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck3 = sample ( rougeplay , 1 ) if luck3 == [ 'Attack' ]: # --------------공격 Boss = Boss - power2 print ( "보스 몬스터를 공격하였습니다 / 보스 HP : {0} " . format ( Boss )) if luck3 == [ 'Critical Attack' ]: # --------------치명타 공격 Boss = Boss - ( power2 * 2 ) print ( "치명타 공격이 발생하였습니다! / 보스 HP : {0} " . format ( Boss )) if luck3 == [ 'Hit' ]: # -------------------------------보스 데미지 bosshit = sample ( bosshit , 1 ) if bosshit == [ 'Hit' ]: life2 = life2 - 11 damage = damage + 11 print ( "보스 몬스터의 공격을 받았습니다 패시브로 인하여 -1 추가 데미지를 받습니다 / 현재 생명력 : {0} " . format ( life2 )) if bosshit == [ 'skill' ]: # -------------------보스 치명타 데미지 life2 = life2 - 16 damage = damage + 16 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 패시브로 인하여 -1 추가 데미지를 받습니다 / 현재 생명력 : {0} " . format ( life2 )) if bosshit == [ 'Miss' ]: # ------------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life2 )) if luck3 == [ 'life up' ]: # -----------------------------회복 life2 = life2 + 1 print ( "포션을 사용하여 생명력을 +1 회복하였습니다 / 현재 생명력 : {0} " . format ( life2 )) if luck3 == [ 'curse' ]: # -------------------------저주 life2 = life2 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life2 )) if Boss <= 0 : # --------------------------------------------보스 처치 print ( "보스 몬스터를 처치했습니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level2 , life2 + damage , damage , life2 )) quit () if life2 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life2 + damage , damage )) quit () # ----------------------------------------------------------------------------------------------------------------------------------------- # 매지션 if player == 'magician' : print ( "매지션 클래스로 시작합니다" ) print ( "@--- 던전에 입장 합니다 ---@" ) while 'warrior' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level3 = level3 + 1 life3 = life3 + 5 power3 = power3 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level3 = level3 + 1 life3 = life3 + 5 power3 = power3 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level3 = level3 + 1 life3 = life3 + 5 power3 = power3 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck4 = sample ( magicianplay , 1 ) if luck4 == [ 'Attack' ]: # --------------공격 monster = monster - power3 print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck4 == [ 'Hit' ]: # -------------------------------데미지 life3 = life3 - 4 damage = damage + 4 print ( "공격을 받았습니다 패시브로 인해 -1 데미지를 추가로 받습니다. / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'life up' ]: # -----------------------------회복 life3 = life3 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'Healing' ]: # -----------------------------힐링스킬 life3 = life3 + 2 print ( "힐링스킬을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'curse' ]: # -------------------------저주 life3 = life3 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life3 )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life3 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life3 + damage , damage )) quit () if survive == 5 : #---------------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck4 = sample ( magicianplay , 1 ) if luck4 == [ 'Attack' ]: # --------------공격 Boss = Boss - power3 print ( "보스 몬스터를 공격하였습니다 / 보스 HP : {0} " . format ( Boss )) if luck4 == [ 'Hit' ]: # -------------------------------보스 데미지 bosshit = sample ( bosshit , 1 ) if bosshit == [ 'Hit' ]: life3 = life3 - 11 damage = damage + 11 print ( "보스 몬스터의 공격을 받았습니다 패시브로 인하여 -1 추가 데미지를 받습니다 / 현재 생명력 : {0} " . format ( life3 )) if bosshit == [ 'skill' ]: # ----------------------보스 치명타 데미지 life3 = life3 - 16 damage = damage + 16 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 패시브로 인하여 -1 추가 데미지를 받습니다 / 현재 생명력 : {0} " . format ( life3 )) if bosshit == [ 'Miss' ]: # ------------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'life up' ]: # -----------------------------회복 life3 = life3 + 2 print ( "포션을 사용하여 생명력을 +3 회복하였습니다 / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'Healing' ]: # -----------------------------힐링스킬 life3 = life3 + 2 print ( "힐링스킬을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'curse' ]: # -------------------------저주 life3 = life3 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life3 )) if Boss <= 0 : # ---------------------------------------------보스 처치 print ( "보스 몬스터를 처치했습니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level3 , life3 + damage , damage , life3 )) quit () if life3 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life3 + damage , damage )) quit () # ----------------------------------------------------------------------------------------------------------------------------------------- # 가드 if player == 'guard' : print ( "가드 클래스로 시작합니다" ) print ( "@--- 던전에 입장 합니다 ---@" ) while 'warrior' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level4 = level4 + 1 life4 = life4 + 5 power4 = power4 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level4 = level4 + 1 life4 = life4 + 5 power4 = power4 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level4 = level4 + 1 life4 = life4 + 5 power4 = power4 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck5 = sample ( play , 1 ) if luck5 == [ 'Attack' ]: # --------------공격 monster = monster - power4 print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck5 == [ 'Hit' ]: # -------------------------------데미지 hitluck = sample ( guardplay , 1 ) if hitluck == [ 'Hit' ]: life4 = life4 - 3 damage = damage + 3 print ( "공격을 받았습니다 / 현재 생명력 : {0} " . format ( life4 )) if hitluck == [ 'shild' ]: # -----------------------데미지 방어 life4 = life4 - 1.5 damage = damage + 1.5 print ( "몬스터의 공격을 방어하여 절반의 데미지만 받습니다 / 현재 생명력 : {0} " . format ( life4 )) if luck5 == [ 'life up' ]: # -----------------------------회복 life4 = life4 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life4 )) if luck5 == [ 'curse' ]: # -------------------------저주 life4 = life4 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life4 )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life4 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life4 + damage , damage )) quit () if survive == 7 : #---------------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck5 = sample ( play , 1 ) if luck5 == [ 'Attack' ]: # --------------공격 Boss = Boss - power4 print ( "보스 몬스터를 공격하였습니다 / 보스 HP : {0} " . format ( Boss )) if luck5 == [ 'Hit' ]: # -------------------------------보스 데미지 hitluck = sample ( guardplay , 1 ) if hitluck == [ 'Hit' ]: life4 = life4 - 10 damage = damage + 10 print ( "보스 몬스터의 공격을 받았습니다 / 현재 생명력 : {0} " . format ( life4 )) if bosshit == [ 'skill' ]: # ----------------- 보스 치명타데미지 hitluck2 = ( sample ( guardshild , 1 )) if hitluck2 == [ 'skill' ]: life4 = life4 - 15 damage = damage + 15 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 / 현재 생명력 : {0} " . format ( life4 )) if hitluck2 == [ 'shild' ]: # -------------------------보스 치명타 데미지 방어 life4 = life4 - 7.5 damage = damage + 7.5 print ( "보스 몬스터의 치명타 공격을 방어하여 절반의 데미지만 받습니다 / 현재 생명력 : {0} " . format ( life4 )) if hitluck == [ 'shild' ]: # -------------------데미지 방어 life4 = life4 - 5 damage = damage + 5 print ( "보스의 공격을 방어하여 절반의 데미지만 받습니다 / 현재 생명력 : {0} " . format ( life4 )) if hitluck == [ 'Miss' ]: # -------------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life4 )) if luck5 == [ 'life up' ]: # -----------------------------회복 life4 = life4 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life4 )) if luck5 == [ 'curse' ]: # -------------------------저주 life4 = life4 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life4 )) if Boss <= 0 : # ------------------------------보스 처치 print ( "보스 몬스터를 처치했습니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level4 , life4 + damage , damage , life4 )) quit () if life4 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life4 + damage , damage )) quit () # ----------------------------------------------------------------------------------------------------------------------------------------- # 헌터 if player == 'hunter' : print ( "헌터 클래스로 시작합니다" ) print ( "@--- 던전에 입장 합니다 ---@" ) while 'hunter' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level5 = level5 + 1 life5 = life5 + 5 power5 = power5 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level5 = level5 + 1 life5 = life5 + 5 power5 = power5 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level5 = level5 + 1 life5 = life5 + 5 power5 = power5 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck6 = sample ( play , 1 ) if luck6 == [ 'Attack' ]: # --------------공격 monster = monster - power5 print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck6 == [ 'Hit' ]: # -------------------------------데미지 life5 = life5 - 3 damage = damage + 3 print ( "공격을 받았습니다 / 현재 생명력 : {0} " . format ( life5 )) if luck6 == [ 'life up' ]: # -----------------------------회복 life5 = life5 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life5 )) if luck6 == [ 'curse' ]: # -------------------------저주 life5 = life5 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life5 )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life5 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life5 + damage , damage )) quit () if survive == 5 : #--------------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck6 = sample ( play , 1 ) if luck6 == [ 'Attack' ]: # --------------공격 Boss = Boss - ( power5 + 5 ) print ( "보스 몬스터를 공격하였습니다 패시브로 인하여 추가 +5 데미지를 줍니다 / 보스 HP : {0} " . format ( Boss )) if luck6 == [ 'Hit' ]: # -------------------------------보스 데미지 hitluck3 = sample ( hunterplay , 1 ) if hitluck3 == [ 'Hit' ]: life5 = life5 - 10 damage = damage + 10 print ( "보스 몬스터의 공격을 받았습니다 / 현재 생명력 : {0} " . format ( life5 )) if hitluck3 == [ 'skill' ]: # ----------------- 보스 치명타데미지 hitluck4 = ( sample ( hunterhide , 1 )) if hitluck4 == [ 'skill' ]: life5 = life5 - 15 damage = damage + 15 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 / 현재 생명력 : {0} " . format ( life5 )) if hitluck4 == [ 'hide' ]: # -------------------------------------------------------------보스 치명타 데미지 회피 print ( "은신을 사용하여 치명타 공격에서 벗어났습니다 / 현재 생명력 : {0} " . format ( life5 )) if hitluck3 == [ 'hide' ]: # -----------------------------------------------------------보스 데미지 회피 print ( "은신을 사용하여 공격에서 벗어났습니다 / 현재 생명력 : {0} " . format ( life5 )) if bosshit == [ 'Miss' ]: # -----------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life5 )) if luck6 == [ 'life up' ]: # -----------------------------회복 life5 = life5 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life5 )) if luck6 == [ 'curse' ]: # -------------------------저주 life5 = life5 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life5 )) if Boss <= 0 : # --------------------------보스 처치 print ( "보스 몬스터를 처치했습니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level5 , life5 + damage , damage , life5 )) quit () if life5 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life5 + damage , damage )) quit () # ----------------------------------------------------------------------------------------------------------------------------------------- # 갬블러 if player == 'gambler' : state = range ( 5 , 31 ) roll = sample ( state , 2 ) life6 = roll [ 0 ] power6 = roll [ 1 ] print ( "갬블러 클래스로 시작합니다" ) print ( "당신의 운을 시험해보세요 \n " ) print ( "시작 전 갬블러는 HP 와 DMG 를 랜덤으로 부여받습니다" ) print ( "랜덤부여 결과 이번 갬블러의 HP는 {0} , DMG는 {1} 로 결정됐습니다 행운을 빕니다 \n " . format ( life6 , power6 )) print ( "@--- 던전에 입장 합니다 ---@" ) while 'gambler' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level6 = level6 + 1 life6 = life6 + 5 power6 = power6 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level6 = level6 + 1 life6 = life6 + 5 power6 = power6 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level6 = level6 + 1 life6 = life6 + 5 power6 = power6 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck7 = sample ( play , 1 ) if luck7 == [ 'Attack' ]: # --------------공격 monster = monster - power6 print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck7 == [ 'Hit' ]: # -------------------------------데미지 life6 = life6 - 3 damage = damage + 3 print ( "공격을 받았습니다 / 현재 생명력 : {0} " . format ( life6 )) if luck7 == [ 'life up' ]: # -----------------------------회복 life6 = life6 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life6 )) if luck7 == [ 'curse' ]: # -------------------------저주 life6 = life6 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life6 )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life6 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life6 + damage , damage )) quit () if survive == 5 : #--------------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck7 = sample ( play , 1 ) if luck7 == [ 'Attack' ]: # --------------공격 Boss = Boss - power6 print ( "보스 몬스터를 공격하였습니다 / 보스 HP : {0} " . format ( Boss )) if luck7 == [ 'Hit' ]: # -------------------------------보스 데미지 bosshit = sample ( bosshit , 1 ) if bosshit == [ 'Hit' ]: life6 = life6 - 10 damage = damage + 10 print ( "보스 몬스터의 공격을 받았습니다 / 현재 생명력 : {0} " . format ( life6 )) if bosshit == [ 'skill' ]: # ------------------보스 치명타 데미지 life6 = life6 - 15 damage = damage + 15 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 / 현재 생명력 : {0} " . format ( life6 )) if bosshit == [ 'Miss' ]: # -------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life6 )) if luck7 == [ 'life up' ]: # -----------------------------회복 life6 = life6 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life6 )) if luck7 == [ 'curse' ]: # -------------------------저주 life6 = life6 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life6 )) if Boss <= 0 : # -----------------------------------------------보스 처치 print ( "보스 몬스터를 처치했습니다 계속 진행합니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level , life6 + damage , damage , life6 )) quit () if life6 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life6 + damage , damage )) quit ()

  • 파이썬
  • 코딩
  • rpg
  • 게임
  • 독학
  • 확률
jangms96 댓글 0 좋아요 1 조회수 1166

좋은 강의 감사합니다 선생님

파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)

이 글을 읽으실지는 모르겠지만,, 정말 좋은 강의 감사합니다!!

  • 파이썬
  • 나도코딩
  • 파이썬강의
  • 코딩
  • 입문
  • 웹스크래핑
Kim js 댓글 0 좋아요 1 조회수 398

인기 태그

인프런 TOP Writers

주간 인기글