핵심 내용
- python text rpg 제작.
- 키 입력 감지 함수, keyboard
- 콘솔창 클리어 함수 os.system('cls')
- int(x/y) : 반올림 없이 정수형 변환
- round(x/y) : 반올림 하고, 정수형 변환
오늘 배운것
키 입력 감지 함수
while True:
if keyboard.read_key()=="p":
print("hello!")
break
else : continue
- 대문자의 경우의 수를 추가하기 위해서는 or 연산을 이용하면 된다.
- 입력과 동시에 여러번의 입력이 들어오기에 time.sleep 함수를 같이 채택하면 좋다.
콘솔 창 클리어 함수
import os
os.system('cls')
os.system('clear')
- 콘솔창 클리어 함수, text prg 제작에 적합한 유용한 함수다.
- pytcharm은, 안되는데 그 이유를 잘 모르겠다. 믿고 있던 외국 형아들의 게시글을 봐도 콘솔창에 직접 입력해서 콘솔 창을 클리어하는 방법밖에 보질 못했다.
비례 법칙을 응용한, 체력바 구현
def bar(max,now):
bar = 10
now = round(now/max*bar)
return "■" * now + "□"*(bar-now)
- max = 10 , now = 7
now = 0.7*10 >> 7
- max = 100 , now = 70
now = 0.7*10 >> 7
- bar // max 수식을 통해, 체력 바의 크기도 max 값에 따라 유동적으로 변경 할 수 있다.
다만, python 콘솔창이 작기때문에, 본인은 30칸으로 고정했다.
어떤 문제가 있었는지
- 키 입력감지 함수를 사용시, 감지하는것은 문제가 되지 않지만, 입력하던것이 콘솔창에 그대로 남아 불편함이 남아있었다.
- 데코레이션 함수에, 인자값을 넘겨주어도 컴파일 오류가 생겨서 도통 이유를 잘 알지를 못했다.
- 창작을해서 직접 만들려하니, 고민하는 시간이 많아져서 작업 속도가 느렸다.
내가 무엇을 시도했는지
- 키 입력 함수의 정보를 찾아봤지만, 내가 원하는 입력은 하지만, 콘솔창에 입력한 키값이 남아있는걸 제거해주는 정보를 찾지 못해서, 결국 input()값을 한번 받아, 쓰래기 값을 처리하는 식으로 처리했다. 모쪼록, 방법을 찾고 싶었지만 시간을 너무 잡아먹어서 임시방편으로 막아둔 터라,
새벽 두시의 나의 감성은, 우선 임시로 처리하고 내일의 나에게 부탁하기로 결정했다.
- 데코레이션 함수에, 매개값으로 매개 변수를 전달해주어도, 컴파일 오류가 발생해서
대체 이유를 알 수 없어서, 결국 패킹, 언패킹을 혹시나 하는 마음에 사용해봤는데
너무 잘 처리가 되서 속이 상쾌해졌다.
- 창작물을 만들어가며, 너무 많은 고민을 했던지, 눈 깜짝할새에 시간이 너무나 빨리 지나갔고,
팀원들과 서로의 창작물을 짧게 보여주고 방향성과 코드 소개를 받았는데,
거기서 많은 영감을 얻기도하고, 나눠 주기도 했다.
역시 다양한 시각에서 보는 관점은 굉장히 중요한 것 같다.