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

게임회사 취업 조언 부탁드립니다.

안녕하세요. 국비교육으로 유니티를 학습한 후 스타트업에서 중견회사(게임분야) 이상으로 이직(신입)을 준비하고 있는 중생입니다.. 지금은 전공자들에 비해 부족한 CS지식과 C++, 자료구조, 알고리즘 공부에 주력하고 있습니다. 고민이 되는 부분은 중견회사 이상(컴투스, 데브캣, 넷마블, 넥슨, 펄어비스, 스마일게이트 등등)에 어필하기 위해 뭐가 필요할까 라는 부분입니다. 일단 제가 생각하는 부분으로는 학습한 내용을 블로그에 정리 학습한 내용을 응용한 미니프로젝트 포트폴리오 1개(아직 방향성 못 잡음..) 입니다. 고민사항은 이렇습니다. 위에 1번, 2번 같은 부분은 제가 공부한 내용들을 토대로 고민한 흔적들을 기록할 예정인데 이 부분이 어필이 될까요? (참고할 만한 블로그를 개인적으로 즐찾해놓긴 했는데 추가로 추천해주면 감사하겠습니다..) 포트폴리오는 MMORPG나 FPS게임 같이 시중 게임을 모작해봐야 어중간할 것 같은데 어떤 방향성을 잡고 가야할 지 감이 오지 않습니다. 게임을 즐겨하지는 않지만 게임의 요소들을 엔진으로 구현해 보는 걸 좋아하는데요. 굳이 전체 게임을 구현하지 않더라도 제가 관심있는 부분(예를 들어 이펙트, 쉐이더)에 집중해서 만들어도 어필이 될까요..? 추가로 제가 놓치고 있는 중요한 부분을 말씀해 주시면 경청하겠습니다. 주변에 게임업계 종사자가 없어서 질문드립니다. 감사합니다.

  • 게임
  • c++
  • 언리얼
  • 유니티
  • C#
  • 중견기업
활성산소 댓글 0 좋아요 0 조회수 615

안녕하세요 비전공자 출신, 백엔드 vs 게임 프로그래머 고민중입니다.

저는 비전공자 출신입니다. 인서울이긴 하지만, 비전공자라 의미없을 거 같구요. 백엔드 vs 게임 프로그래머 중에 고민하고있습니다. 웹 관련해서는 node.js 기반으로 프로젝트를 3번정도 해본 경험이 있지만, 요새 트렌드가 java, spring이라 웹 백엔드 쪽으로 간다면, java, spring을 공부할 생각입니다. 반면, 게임 프로그래밍은 유니티를 기반으로 소규모 게임 1번 만들어본게 전부입니다. 이런 상황에서 질문드립니다. 제가 가장 발목을 잡는다 느낀 것은 CS 지식입니다. 이것으로부터 덜 자유로운 것이 백엔드 개발자일지 게임 프로그래머 일지 고민입니다. 어느 방향이 더 맞을까요? 알고리즘 자료구조 지식은 백준 골드 3 정도 입니다. 잘 부탁드리겠습니다.

  • 게임
  • 백엔드
ss 댓글 1 좋아요 0 조회수 1025

스팀(STEAM) 사용자 경험 개선 설문조사에 참여하시고, 스타벅스 기프티콘 받아가세요.

[스팀(STEAM) 사용자 경험 개선을 위한 설문조사] 안녕하세요☺️ 저희는 유데미 X 웅진 UI/UX 부트캠프에서 스팀(Steam) 리디자인 프로젝트 를 진행하고 있는 팀입니다. 현재 스팀의 사용자 경험 개선을 위해 설문조사를 실시하고 있습니다.응답 내용은 참고 자료 이외의 용도로는 사용되지 않으며 익명성이 철저히 보장됩니다. 또한, 프로젝트 종료 시 즉시 파기되며, 전화번호 등 개인정보는 리워드 증정을 위한 용도로만 활용된 후 즉시 폐기됩니다. 추첨을 통해 총 5분 께 스타벅스 아메리카노 기프티콘 을 드립니다. 설문에 참여해주셔서 감사합니다 :-) 설문 대상: 스팀 계정이 있는 사용자 설문 기간 : 8/5 (토) - 8/11 (토) 소요 시간: 10분 내외 https:// forms.gle/L6X18NyBXEx7LEy77

  • 설문조사
  • 스팀
  • ui/ux
  • 게임
  • 기프티콘
dede 댓글 0 좋아요 0 조회수 1042

게임 클라이언트쪽인데 리눅스를 배우면 도움이 있을까요?

게임 클라이언트 개발자를 희망하는 sw학과 대학생입니다. 단순히 전공 수업 선택때문에 고민인데요. 이번에 통신(tcp/ip 이론) 수업이랑 리눅스 수업이 개설되었더라고요. 통신은 소켓 프로그래밍 없이 이론만 배워서 아쉽긴 하지만 그래도 cs과목이기도 하고 게임 클라 개발할 때 도움이 있을거라고 들었거든요. 근데 리눅스는 서버쪽이라 수강할지말지 고민되더라고요.. (학기말에 팀플때문이기도 하고 이 수업 안 들으면 고학년이라 다른 전공 프로젝트에 몰입할 수 있어서요.. 선택과집중) 운영체제 수업때나 군대 전산병, 정처기 준비하면서 명령어까지는 써봤었는데 그 이상으로 전공수업으로 좀 더 체계적으로 배우면 게임 클라쪽에 도움이 될지 잘 모르겠네요 학부때 다양하게 듣는게 좋다지만 상황이 여의치 않아서.. 듣고는 싶은데 크게 진로에 도움이 되지 않는다면 선택과 집중으로 과감히 포기할지 아니면 그래도 배울 수 있을 때 배우는게 좋을지 고민입니다.

  • 게임
  • 클라이언트
  • 리눅스
이동민 댓글 1 좋아요 0 조회수 1177

[프로젝트] 웹 게임 디자이너, 기획자 구합니다.

현재 멤버 5년차 개발자 2년차 개발자 1년차 개발자 1년차 디자이너 맨날 같은 포트폴리오와 프로젝트로 차별 점이 없던 분들에게 아주 좋은 기회라고 생각합니다. 웹 게임 만들 생각이고 중간에 터질 일 없습니다. 카톡으로 자세히 설명 드리겠습니다. @gureuso 카톡 친구 부탁드립니다. https://www.rocketpunch.com/@gureuso

  • 프로젝트
  • 게임
  • 웹게임
  • 디자이너
  • 기획자
윤정현 댓글 0 좋아요 0 조회수 475

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

파이썬 강의를 들으며 독학으로 배운것들을 이용하여 작은 게임을 만들어보았습니다 총 길이는 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

인기 태그

인프런 TOP Writers

주간 인기글