Tamagotchi와 Giga Pets는 작은 가상 애완 동물을 시뮬레이션 한 소형 전자 장치였습니다. 이 애완 동물에는 건강, 굶주림 등과 같은 몇 가지 통계가있었습니다.
최근에이 예제를 썼습니다.
import msvcrt,os,sys;d=m=100;h=s=t=p=0;f=10
while 1:
os.system('cls'if os.name=='nt'else'clear');print("health:",d,"\nhunger:",h,"\nsleep:",s,"\nfood:",f,"\npotions:",p,"\nmoney:",m);t+=1
if msvcrt.kbhit():
k=ord(msvcrt.getch())
if k==102 and h>8 and f:f-=1;h-=9
if k==115:s=0
if k==112 and p:p-=1;d+=9
if k==98 and m>8:m-=9;p+=1
if k==116 and m>8:m-=9;f+=1
if t>99:
t=0;h+=1;s+=1
if s>80:s=0;h+=9
if h>80:d-=1
if d<1:sys.exit(0)
if d>79:m+=1
이것은 467 바이트의 베어 본 가상 애완 동물입니다! 그런 다음 코드 골프 전문가 가 얼마나 잘 할 수 있을지 궁금해 졌으므로 지금 당면 과제입니다.
도전
가상 애완 동물의 6 통계를 추적하고 시간이 지남에 따라 사용자 입력에 따라 업데이트하는 프로그램을 만듭니다. 통계는 건강과 돈 (100에서 시작), 음식 (10에서 시작), 기아, 수면 및 물약 (0에서 시작)입니다.
프로그램은 다음 이벤트에 응답하여 값을 업데이트해야합니다.
프로그램이 입력을받지 않는 동안 정기적으로 업데이트를 수행해야합니다 (업데이트 간격은 0.5 초보다 짧거나 1 초보다 길지 않아야 함). 각 업데이트는 다음을 수행합니다.
- 기아와 수면은 각각 1 씩 증가합니다.
- 기아가 80 이상이면 체력이 1만큼 감소합니다.
- 수면이 80 이상이면 0으로 재설정되고 기아가 추가로 9 증가합니다.
- 체력이 80 이상이면 화폐가 1 증가합니다.
- Health가 0이면 프로그램이 종료됩니다.
프로그램은 또한 사용자가 다음과 같은 키를 누를 때 즉시 응답해야합니다 (즉, 표준 입력에서 읽지 않고 키를 눌렀 음을 감지하고 즉시 응답 할 수있는 언어 기능 또는 라이브러리를 사용해야 함). 다음 조치
f: 기아가 8보다 크고 Food가 0이 아닌 경우 Food는 1 씩 감소하고 Hunger는 9만큼 감소합니다.s: 슬립이 0으로 재설정됩니다.p: 물약이 0보다 크면 물약이 1만큼 감소하고 체력이 9만큼 증가합니다.b돈이 8보다 크면 돈이 9만큼 감소하고 물약이 1 씩 증가합니다.t: 돈이 8보다 크면 돈은 9만큼 감소하고 음식은 1 씩 증가합니다.
통계 값이 변경 될 때마다 통계 형식으로 화면에 표시되어야합니다 . 6 개의 통계는 모두 변경 될 때마다 표시되어야합니다. 디스플레이 내 통계는 쉼표 또는 줄 바꿈으로 구분해야합니다.Stat: value
이 도전은 정상을 따릅니다 코드 골프규칙 : 위의 사양을 준수하는 가장 짧은 프로그램이 우선합니다. (언제와 같이 언어가 경쟁 언어보다 최신 인 경우 제출물을 경쟁이 아닌 것으로 표시해야합니다.)
