목록분류 전체보기 (427)
안 쓰던 블로그
체스에서 스테일메이트(stalemate)란 한 사람이 현재 체크 상태가 아닌데 어떠한 기물도 움직일 수가 없는 상태를 말한다 '교착 상태'를 뜻하는 관용어로 쓰기도 한다 체크메이트와 다른 점은, 스테일메이트는 당장 킹을 잡을 수 있는 상태가 아니다 하지만 지금 있는 칸 외에 움직일 수 있는 모든 칸은 다 체크메이트 되는 진퇴양난의 상황이지만.. 이런 경우 무승부로 처리되기 때문에 패배보다는 낫다 처음 사진에서는 흑색 킹이 위로 가면 퀸한테 잡히고 오른쪽으로 가면 퀸한테 잡히고 아래로 가면 킹과 폰한테 잡힌다 과거로 돌아가려고 해도 바로 앞 과거에서도 전부 체크메이트 상태 전전 과거에는 갈 수 있는 곳이 없다 참고로 바로 앞 과거의 자기 자신 자리는 왜 안 되냐면 그 분기에 있던 원래 킹이 잡히기 때문이다
체스의 백 랭크(Back Rank) 체크메이트 백 랭크 체크메이트란, 캐슬링 상태의 킹이 갇혀서 나오는 체크메이트를 말한다 먼저 캐슬링이란, 위에 사진에서 흑색처럼 되어 있는 상태+룩이 바로 캐슬링이라고 한다 (사진에서는 흑색 룩이 없지만) 폰이 킹을 막아서 지켜주고 있고, 룩이 지키는 상태를 말한다 캐슬링의 최대 장점은 적의 위협에서 안전할 수 있다지만, 오히려 자신을 지키던 아군 폰에 의해서 위험에 빠질 수 있다 가장 대표적인 백 랭크 상태 흑색은 지금 캐슬링 상태다 이 때 흰색 룩이 사이를 노리게 된다면 체크메이트가 뜨게 된다 여기까지는 일반 체스의 백 랭크였다 하지만 5d 체스에서는 킹이 과거로 도망갈 수 있기 때문에 상황이 달라질 수 있다 위의 상황을 보면 궁지에 몰린 킹이 과거로 도망가서 분기..
시작 전에 읽으면 좋은 이전 글: VA, RVA, RAW의 개념 foxtrotin.tistory.com/330 DLL(Dynamic Linked Library) 여러 프로세스에서 공유하면서 쓰는 동적 연결 라이브러리 예전 16비트 DOS시절에 DLL개념이 없고 Library만 존재했을 때는 함수 하나(예를 들어 printf)를 실행하고자 하면 라이브러리에서 binary코드를 그대로 가져와서 프로그램에 삽입시켜 버렸다. 즉, 실행 파일에 printf()함수의 바이너리 코드를 가지고 있는 식이었다 그런데 Windows OS로 넘어오면서 멀티태스킹 환경이 지원되었는데, 여러 프로그램들이 동시에 실행되어야 하는 상황에서 각 프로그램마다 기본 라이브러리들과 프로그램을 위한 라이브러리들을 포함시키려니 중복으로 인한..
파이썬 회원 명단 관리 프로그램 이름을 리스트에 입력 받는다 s: 리스트를 오름차순 정렬한다 a: 리스트 맨 뒤에 이름을 추가한다 i: 숫자와 이름을 입력받고 숫자 위치에 이름을 추가한다 r: 이름을 삭제한다 q: 최종 명단을 출력하고 종료한다 import sys name_list=[] for i in range(0, 3) : s=input("이름 입력: ").upper() name_list.append(s) print("초기 명단: ", end=" ") print(name_list) while True: print("\ni(insert), a(append), s(sort), r(remove), q(quit)\n희망하는 메뉴의 첫글자를 입력하세요.") menu=input("메뉴를 선택하세요: ").low..
문자열의 각 자리 숫자합 구하기 while True: sum = 0 str = "" s=input("숫자를 입력하시오:") if s == "": #아무것도 입력하지 않으면 끝 break for i in s: sum += int(i) str = str + '+' + i str=str.replace('+','',1) print("입력받은 숫자 : ", s) print("각자리 숫자의 합 :", end=" ") print(str,'=',sum) 각종 문자열 출력, 변환 s=input("영문 문자열 입력: ") print("문자열의 문자수(길이): ", len(s)) go="" for i in range(0, 10) : go+=s print("문자열을 10번 반복한 문자열: ", go) print("문자열의 첫..
학점 학년 구분 n = int(input("이수한 학점: ")) if n 0: print(str(2.54*n)+" 인치") 동전 게임 import random money = 50 while 1: n = int(input("앞(1)? 뒤(2)?: ")) if money = 100: print("종료합니다") break coin = random.randint(1,2) if n == coin: print("맞았습니다") ..
EAT(Export Address Table)는 라이브러리 파일에서 제공하는 함수를 다른 프로그램에서 가져다 사용할 수 있도록 해주는 핵심 메커니즘이다. ( 라이브러리가 가진 함수를 다른 프로그램에서 사용할 수 있도록 하는 것) IAT처럼 PE 파일 내의 특정 구조체인 IMAGE_EXPORT_DIRECTORY에 정보를 저장한다. 이 구조체는 PE 파일에 하나만 존재한다. 중요 멤버 NumberOfFunctions : 실제 Export 함수의 개수 NumberOfNames : Export 함수 중에서 이름을 가지는 함수 개수 (