inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

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

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

백엔드 개발자의 방향성에 대해 조언을 얻고자 합니다

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

현재 국비 학원을 수료하며 프로젝트를 마친 뒤에 김영한님 강의를 듣고 있으며 spring에 대해 이제서야 이해하려 하는 취준생입니다. 문득 제가 어떤 개발을 하고 싶은지 방향성에 대해 생각해보게 되었습니다. ->어떤 개발을 하고 싶은지 방향성에 대해 되짚어 보고 있었다 ->SQL문을 짜면서 효율적인 방법은 무엇이 있을까 고민하는 과정이 스스로 가치 있는 고민을 하고 있다는 생각이 들었다. ->데이터 처리 속도 개선에 관하여 고민하는 개발자가 되고 싶다. ->대용량 트래픽을 다루는 서비스 회사에서 성장하고 싶다. 질문 ==> 위의 4문장을 설득력 있게 말하기 위해서 취준에 뛰어드는 예비 백엔드 개발자 수준에서 할 수 있는 "공부 방향"은 무엇이 있을지 조언 해주실 수 있을까요? (특정 개념이나 강의를 추천해주셔도 감사할 것 같습니다. )

  • springboot
  • java
  • spring
  • 백엔드
  • 신입
sky66951 댓글 1 좋아요 3 조회수 5676

QueryDsl SpringBoot 2.7의 gradle 설정을 공유합니다.

실전! Querydsl

plugins { id 'org.springframework.boot' version '2.7.4' id 'io.spring.dependency-management' version '1.0.14.RELEASE' id 'java' } group = 'study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' // queryDSL 설정 implementation "com.querydsl:querydsl-jpa" implementation "com.querydsl:querydsl-core" implementation "com.querydsl:querydsl-collections" annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" // querydsl JPAAnnotationProcessor 사용 지정 annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드 annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드 } tasks.named('test') { useJUnitPlatform() } // Querydsl 설정부 def generated = 'src/main/generated' // querydsl QClass 파일 생성 위치를 지정 tasks.withType(JavaCompile) { options.getGeneratedSourceOutputDirectory().set(file(generated)) } // java source set 에 querydsl QClass 위치 추가 sourceSets { main.java.srcDirs += [ generated ] } // gradle clean 시에 QClass 디렉토리 삭제 clean { delete file(generated) } 해당 소스는 타사 강의 보다가 본 설정에서 가져왔습니다. 기존 영한님 강의와 다른 점이 3가지 있으니 주의하시기 바랍니다. Querydsl Q파일 생성 위치가 다릅니다. 기존 영한님 강의대로 $build 로 시작하는 설정을 사용하면 테스트 실행 시 Q파일의 위치를 찾지 못해서 테스트가 실패합니다. Gradle -> Tasks -> build -> clean Gradle -> Tasks -> build -> build 혹은 classes 기존 영한님 교안에는 빌드 시 Gradle -> Tasks -> other -> compileQuerydsl 로 Q파일을 생성하지만, 이 방법의 경우 other에 해당 메뉴가 없습니다. 그래서 빌드 시에는 그냥 build 메뉴의 build 혹은 classes 로 빌드하시면 Q파일이 생깁니다. 영한님 강의에서는 gradle build 폴더가 대부분 git 버전관리에 포함되지 않으므로 따로 설정할 필요가 없지만, 이 경우 Q파일이 소스폴더에 들어가므로 .gitignore 에 아래와 같이 별도로 경로를 설정해 주어야 합니다. ### Querydsl /src/main/generated 혹시 저같이 청개구리마냥 강의에 나온 버전 사용 안 하고 최신 버전 사용하시는 분들께 도움이 되었으면 좋겠습니다. 저도 타사 강의에서 가져온 것이고 기초 테스트만 통과한 것이라서 혹시 강의에 맞지 않는 경우 영한님이나 다른 분들이 추가 정보를 주시면 좋을 것 같습니다. 여담인데 QueryDSL은 쿼리 짜긴 확실히 편한데 설정이 버전마다 중구난방이라 불편합니다. 똑똑한 개발자분들이 이런 설정도 그냥 @Configuration 으로 빼버리는 거 만들어주지 않을까 하는 기대가 있긴 합니다.

  • java
  • spring
  • jpa
  • querydsl
박민호 댓글 5 좋아요 20 조회수 11527

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

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

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

소프트웨어 진로 결정 관련 질문

저는 일단 정보통신공학 2학년인데 소프트 커리를 타려고 생각중이에요 2학기에 C++ 자료구조론을 배우는데 여론으로는 C++은 게임 개발이나 인공지능? 쪽에서 많이 쓰인다고 하고 제가 생각하는 프론트/백엔드의 웹 개발자는 java나 python이 주 프로그래밍 언어이고 IT기업 쪽에서도 java를 활용한 툴(Spring 등)을 선호하고 있다고 들어서 C++은 학점 챙기는 용으로 공부하고 진로를 위해서는 java를 중점적으로 공부하려고 하는데 1. 지금 java와 C++ 자료구조를 병행해서 공부를 하는 것이 나은지(공부 비중은 C++을 더 높게) 2. 일단은 C++ 자료구조를 중점적으로 공부할지 고민되어 질문글 올립니다 ㅠㅠ - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • java
  • c++
초롱초롱한 랫서팬더 댓글 0 좋아요 0 조회수 320

서울시뉴딜일자리_IT인턴 3개월 [급여월260만]지원사업안내_빅데이터 기반 서비스플랫폼 과정 [스터디,프로젝트,프론트엔드,백엔드,자바,코딩]

서울시에서 뉴딜일자리사업 일환으로 2차 서비스플랫폼개발자 양성과정으로 3개월 인턴십 (급여 월 260) 보내주는 프로그램 진행중인데 신청해보세요! 자세한 내용은 https://blog.naver.com/kjc_sh/222775806456 참고해주세요

  • 깃허브
  • 프로젝트
  • 인턴
  • 백엔드
  • 프론트엔드
  • java
  • spring
  • 자바
  • 스프링
한국취업센터 댓글 0 좋아요 0 조회수 488

서울시 뉴딜일자리사업으로 블록체인분야 월260만 3개월 인턴시켜주는 프로그램 추천합니다.

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

  • java
  • spring
  • c##
  • 자바
  • 프론트엔드
  • 백엔드
  • 웹개발
  • api
한국취업센터 댓글 0 좋아요 0 조회수 452

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

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

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

자바 강의 난이도

더 자바, Java 8

안녕하세요. 강의를 막 수강하게 된 수강생입니다. 이제 막 자바를 배우고 있는데 듣다보니 어느정도 지식을 요하는 것 같아 질문드립니다. 혹 이 강의를 수강하기 전에 선수로 수강해야 하는 강의가 있나요?

  • java
이왕로 댓글 1 좋아요 0 조회수 608

반려동물 시장 진출 웹&앱 스프링 개발자 모집

안녕하세요 현재 서로 믿을 수 있는 스타트업 멤버 구축 되었고 추가로 능력있고 참하신 스프링 개발자 팀원 찾습니다. 현재 모두 메인 잡은 있는 상황이고 사이드 프로젝트로 운영중입니다. 관심있으신분 연락 부탁드립니다 1. 주제소개: 반려동물 서비스 중 현재 시장에 없는 서비스 2. 현재 진행 단계: 시장분석 및 명확한 주제와 컨텐츠 방향성까지 잡은 상태 3. 모집분야 및 주요업무: 앱 개발자-하이브리드 앱 (웹앱을 네이티브 형태로 감싼 형태) 유사사이트: https://www.pet-friends.co.kr/main/tab/2 4. 모집경력 및 필요스킬: 앱개발 관련하여 경력이 있거나, 최소 스프링을 자유롭게 다룰 수 있는 스킬 필요 vue.js 옵션,java 등 5. 참고기타사항: 기획/디자인/개발/마케팅 포지션 다 구성되어 있으나, 추가 개발자 필요한 상황 6. 문의/연락: 010-4590-4917 카카오: antoniobae1 7. 모임명: IT 웹 앱 마케팅 개발 창업모임 파랑새(Since 2021.10.02 : 네이버 카페 https://cafe.naver.com/lastpick1004 https://lastpick.modoo.at/ https://www.youtube.com/channel/UCpLCToWUvdjsPqkLRZ-wpZA 이 외 기획, 개발, 퍼블, 마케터 등 같이 큰 돈 벌고 싶으신 분 연락주세요:)

  • spring
  • vue
  • java
  • js
Market+IT 댓글 0 좋아요 0 조회수 472

반려동물 시장 진출 앱 기획 관련 스프링 개발자분 모집

안녕하세요 현재 서로 믿을 수 있는 스타트업 멤버 구축 되었고 추가로 능력있고 참하신 개발자 팀원 두분 더 찾습니다. 관심있으신분 연락 부탁드립니다 1. 주제소개: 반려동물 서비스 중 현재 시장에 없는 서비스 2. 현재 진행 단계: 시장분석 및 주제와 명확한 방향성까지 잡은 상태 3. 모집분야 및 주요업무: 앱 개발자-하이브리드 앱 (웹앱을 네이티브 형태로 감싼 형태) 유사사이트: https://www.pet-friends.co.kr/main/tab/2 4. 모집경력 및 필요스킬: 앱개발 관련하여 경력이 있거나, 최소 스프링을 자유롭게 다룰 수 있는 스킬 필요 vue.js 옵션,java 등 5. 참고기타사항: 기획/디자인/개발/마케팅 포지션 다 구성되어 있으나, 추가 개발자가 두분 정도 더 필요한 상황 6. 문의/연락: 010-4590-4917 배대근 카카오:antoniobae1 참고url:IT 웹 앱 마케팅 개발 창업모임 파랑새(Since 2021.10.02 : 네이버 카페 - http://naver.me/FIgA4x8x

  • js
  • vue
  • java
  • spring
Market+IT 댓글 0 좋아요 0 조회수 446

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

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

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

그냥 spring boot쓰는게 나을 듯.

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

nestjs가 java spring을 javascript 진영에 가져올려고 노력한 흔적이 많이 보이긴 한데요, 아직 프레임워크 자체의 안정성도 어떤 부분에서는 아직 부족해 보이고, 이렇게 만들거면 그냥 java랑 spring 쓰지, 뭐하러 javascript이랑 nestjs 쓰나 싶네요. 솔직한 마음으로 꼭 javascript랑 nestjs를 백엔드에서 써야하는 상황이 아니라면 그냥 믿고 쓸 수 있는 java spring boot + jpa 혹은 좀 더 나가면 spring boot + r2dbc 조합으로 쓰는게 실무에서는 좀 더 현실적으로 보입니다.

  • java
  • spring
  • springboot
Luke Lee 댓글 1 좋아요 0 조회수 794

뭘 해야할지 1도 모르겠는 개린이입니다. 도와주세요 ㅠㅠ

막연히 웹쪽 개발자(프론트든 백엔드든...)가 되고 싶다고 생각하는 개린이입니다. 대체 뭘 어떻게 어떤 순서대로 공부해야할지 진짜 모르겠습니다... ㅠㅠ 마치 수능 공부를 하는데 공부할 과목만 정해져 있고 무슨 문제집, 어떤 인강이 좋은지, 어떤 순서대로 진도를 나가야 할지 모르는 느낌입니다. 그냥 마구잡이로 공부하면 되나요? 현재 C언어 다룰 줄 알고, C#도 배우긴 했는데 디자인 패턴? 그런 건 1도 이해가 안됩니다 ㅠㅠㅠ 구글링도 열심히 해봤는데 전혀 모르겠어요 ㅠㅠㅠㅠ. 일단 이번 방학 때 java공부하려고 하는데 이것도 객체지향이고 디자인 패턴(옵저버 패턴 등...?) 이해가 필요할 것 같은데 도움 받을 수 있는 강의가 있을 까요? -캡슐화, 다양성, 상속은 대충 압니다. 아 그리고 백엔드 개발 하려면 java, spring 두 개를 다 사용해서 만드는 건가요?(프론트에서 HTML, CSS, Javascript 같이 사용하는 것 처럼요.)아님 한 언어 가지고 만드는 건가요? 제가 뭐라고 말하는지 제 말이 이해나 가실련지 모르겠네요. 애초에 뭘 어떻게 검색해야 할지도 모르겠고, 검색해도 뭔 말인지 잘 모르겠네요. 세상 멍청이가 된 기분입니다. 아는 거라곤 1도 없어서 한 발자국도 못 떼고 있는 상황입니다. 한심하고 답답하셔도 불쌍한 중생 구원해 준다는 마음으로 온정의 손길을 내밀어주시길 바랍니다.

  • 개린이
  • 삐약삐약
  • 도와주세요
  • 커리큘럼
  • 공부
  • java
박혜원 댓글 3 좋아요 1 조회수 824

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

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

주간 인기글