본문 바로가기

[ CODING STUDY ]/》파이썬 공부28

파이썬 28장(pygame_03, 이미지불러오기, 키 연속으로 입력pygame.image.load, scale, pygame.event.get()) ▣ 안녕하세요 ^^ 오늘도 pygame을 공부해보겠습니다. ▣ 우선 이미지를 불러오겠습니다. 우선 player_img라는 변수 이름으로 pygame.image.load() 함수로 이미지를 불러오겠습니다. load() 함수에 매개변수 값에 우리가 사용할 이미지에 경로를 넣어줍니다. tkinter처럼 이미지 확장자가 png인 파일을 선택해주세요. 그럼 player_img에 이미지를 불러왔고 이제 크기를 조절하겠습니다. pygame.transfrom.scale()을 통해 먼저 어떤 이미지를 조절할지 매개변수를 놓고 , 콤마를 한 후에 () 튜플 형식으로 x, y 크기를 지정해줍니다. ▣ 그리고 이미지를 위치를 변수로 선언해주세요. player_posX, player_posY 제가 0으로 했지만 여러분들은 플레.. 2021. 5. 6.
파이썬 27장(pygame_02, event, get(), KEYDOWN, K_, 키보드 입력) ▣ 안녕하세요 ^^ 오늘도 저번장에 이어서 게임을 만들어보겠습니다. 다시 말씀드리지만 코딩은 정답이 없다고 생각합니다. 코딩은 결국 컴퓨터한테 명령을 하는 것이고 자신에 생각을 컴퓨터한테 전달해서 그걸 표현하는 작업이 코딩이기 때문에 제가 하는 예제는 참고만 해주시고, 여러 블로그들에 글을 보시면서 자신만에 코드를 완성해가셔야 진짜 실무에서 코딩을 하실 수 있습니다.~~ ▣ 먼저 키보드를 입력받는 코드를 진행해보겠습니다. while True: 안에 코드를 입력하겠습니다. 그건 계속해서 키보드에 값을 입력받아야 하기 때문에 계속 반복되는 메인코드에 넣었습니다. 그리고 for event in pygame.event.get() 이라고 되어있죠? for문을 우리가 배워서 알고 있습니다. event라는 값 안에 .. 2021. 4. 29.
파이썬 26장(pygame_01, import, display, set_caption, time, update) ▣ 안녕하세요 ^^ 저번장에 이어서 이번에도 파이썬으로 게임을 만들어보도록 하겠습니다. 아무래도 좀 더 심화적으로 게임을 만들려면 pygame을 사용하는 게 좋을 거 같아 tkinter이 아닌 pygame으로 만들어보도록 하겠습니다. www.pygame.org/docs/ref/display.html pygame.display — pygame v2.0.1.dev1 documentation Change whether screensavers should be allowed whilst the app is running. The default is False. By default pygame does not allow the screensaver during game play. It is possible to .. 2021. 3. 25.
파이썬 25장(tkinter_09, 미로게임_04, 초기화, 사운드, 아이템, winsound, create_rectangle, delete) ▣ 안녕하세요 ^^ 오늘은 저번장에 이어서 미로게임을 좀 더 업그레이드를 진행하도록 하겠습니다. ▣ 우선 먼저 플레이어가 미로 밖을 통과하지 못하게 코드를 진행하겠습니다. 여러 가지 방법이 있겠지만, 저는 키를 입력했을 때에 조건문에서 and 논리 연산자를 추가하여 진행했습니다. 예를 들어 UP일 경우 posY - 1 을 했을 때 리스트에 값이 0이면 포지션을 움직이게 만들었습니다. 그리고 테스르를 하면 리스트에 요소 값이 1인 경우에는 움직이지 않는 걸 확인할 수 있습니다. 두 가지에 연산 조건이 참일 경우 움직이기 때문입니다. 그럼 이제 아이템을 추가해보겠습니다. ▣ 아이템 png를 추가해주시고요. 아이템을 위치는 저는 리스트에서 2로 지정하였습니다. 그리고 요소 값이 2인 경우 캔버스에서 그려주게 .. 2021. 3. 2.
파이썬 24장(tkinter_08, 미로게임_03, 사운드, 아이템, winsound, create_rectangle, delete) ▣ 안녕하세요. 오늘은 저번장에 있는 내용과 이어지지만 새로운 프로젝트를 만들어서 연결해보는 공부를 해보도록 하겠습니다. ▣ 먼저 import winsound를 불러오겠습니다. 이건 아이템을 먹었을 때, wav파일을 재생하기 위한 모듈입니다. 그리고 아이템에 대한 X, Y 좌표 변수도 선언 및 정의를 해주도록 하겠습니다. ▣ 그리고 간단하게 Player를 컨버스에 배치해주시고, 아이템까지 item좌표로 배치해주도록 하겠습니다. 이때 tag 지정하는거 잊지 마세요. ▣ 움직이는 코드는 저희가 저번장에서 공부했으니 넘어가고 main함수에 대한 부분을 수정해보도록 하겠습니다. 우선 아이템에 닿였을 때 조건문을 만들어보겠습니다. 많은 방법들이 있겠지만, 저는 pos - item에 위치를 뺀 값으로 지정했습니다... 2021. 2. 2.
파이썬 23장(tkinter_07, 미로게임_02, 플레이어 이동, keysym, after, coords) ▣ 안녕하세요 오늘은 저번 시간에 이어서 미로게임을 만들어보겠습니다. 간단하게 플레이어를 넣고 방향키를 누르면 이동하는 걸 공부해보겠습니다. ▣ 먼저 저번장까지 완성한 내용을 열어서 keyinput 전역변수를 선언해주겠습니다. 여기에는 키를 입력한 값을 저장하는 변수라고 생각하시면 됩니다. 그리고 키에 값을 입력 받는 함수 key_Down을 만들어보겠습니다. 전역 변수를 사용해야 하기 때문에 gloabal키워드로 keyinput을 선언했고, 매개변수로 받은 i에 값에 i.keysym 키워드를 사용합니다. 저번장에서도 했지만, 이 키워드는 입력받은 키에 이름값을 가져옵니다. 만약에 방향키"Up"을 누르면 이렇게 "Up"에 이름값이 keyinput에 대입됩니다. ▣ 그리고 밑에 보시면 key_Up함수를 정의.. 2021. 1. 5.
파이썬 22장(tkinter_06, 미로게임_01, 도형그리기, 게임맵만들기, canvas.create_rectangle, 2차원 리스트, 리스트) ▣ 안녕하세요^^ 오늘은 간단하게 캔버스를 활용하여 도형을 그려보고 도형을 이용해서 미로게임 맵을 만들어보는 과정까지 함께 공부해도록하겠습니다. ▣ 먼저 동일하게 선언을 TK()를 선언해주시고, 타이틀을 지정한 후에 cavas를 선언해주세요. 그리고 cavas.create_rectangle를 선언해줍니다. 제가 밑에 주석을 넣은 것처럼 create_rectangle(x1, y1, x2, y2, fill=채우기 색, outline=선색, width=선두께) 이렇게 지정을 해줘야 하는데 x1, y1, x2, y 2가 먼지 구분이 잘 안되실 거라 생각합니다. 이건 쉽게 이야기하면 ▣ 그림에서처럼 x1, y1은 좌측 상단 좌표를 이야기합니다. x2, y2는 우측 하단 좌표를 이야기합니다. 한마디로 좌측과 우측에.. 2020. 12. 31.
파이썬 21장(tkinter_05, 키 입력, bind(), 키 입력함수, key, 마우스 클릭) ▣ 안녕하세요^^ 오늘은 키를 입력받고 이미지를 움직여보는 걸 해보도록 하겠습니다. ▣ 먼저 키를 입력받으려면 bind() 함수를 사용해야 합니다. bind 함수에 첫번째 매개변수 값은 이벤트 값을 넣어주고 두 번째에는 키를 입력하면 호출하고 값을 전달해줄 함수를 지정해줍니다. ▣ 이벤트에 종류로는 주석에 나와있는것 처럼 "" , ""는 키를 입력할 때 함수에 매개변수 값이 전달이 되고 "" 키 입력 후 땐 후에 값을 전달 "" 마우스 포인터를 움직일 때 전달 "", "" 각각 마우스를 클릭하면 전달이 됩니다. ▣ 저희는 ""키를 입력하면 전달하게 하게 지정하고 KeyClick함수를 호출하게 합니다. 입력하면 KeyClick(e) - e에 값이 전달되고 전역 변수에 접근하여 e.keycode에 접근하여 .. 2020. 12. 14.
파이썬 20장(tkinter_04, 메시지박스 , after(), 시간, GUI, import, 타이머) ▣ 안녕하세요^^ 오늘은 저번장에 이어서 tkinter모듈을 사용해서 GUI를 구현 보도록 하겠습니다. 먼저 메시지박수를 출력하는걸 간단하게 구현해보겠습니다. ▣ 우선 메시지 박스를 사용하려면 import.tkinter.messagebox 모듈을 추가해주시고, 우리가 저번에 했던것처럼 버튼을 먼저 생성해주겠습니다. 그리고 버튼을 클릭할 때, 메시지를 출력하게 할 텐데 tkinter.messagebox.showinfo("타이틀 제목", "내용")을 함수에 넣습니다. 그리고 버튼에 command를 함수로 지정해줍니다. ▣ 실행을 해보면 버튼을 클릭할 때 이렇게 메시지가 나오게 됩니다. ▣ 여기서 중요한 건 tkinter.messagebox.showinfo() == 정보 표시 tkinter.messagebox.. 2020. 12. 7.
파이썬 19장(tkinter_03, import, GUI, checkbutton, 체크버튼, boolean) ▣ 안녕하세요~~^^ 오늘은 저번장에 이어서 tkinter을 이어서 공부해보도록 하겠습니다. 먼저 체크박스부터 생성하는 걸 공부해보도록 하겠습니다. ▣ 캔버스와 거의 비슷합니다. 먼저 체크버튼을 선언을 하고 pack() 함수로 배치하면 됩니다. 그럼 이렇게 우리가 지정한 text로 체크버튼이 생성되는 걸 확인할 수 있습니다. 안에 네모 체크버튼을 누르면 체크가 되는 것도 확인할 수 있습니다. ▣ 그리고 체크버튼 처음에 상태를 지정하기 위해서는 tkinter.BooleanVar()를 선언해주고 그 값을 set()함수로 지정해주면 처음 상태를 지정할 수 있습니다. boolean 타입은 우리가 공부했었죠? 참이면 True == 1, false == 0 으로 공부했습니다. ▣ 그리고 이렇게 현재에 상태를 get.. 2020. 11. 30.
파이썬 18장(tkinter_02, import, GUI, 텍스트필드, 버튼, get()) ▣ 안녕하세요 ^^~~ 저번장에 이어서 tkinter을 활용하여 GUI를 구현해보겠습니다. 우선 저번장에 복습을 할 겸 한 가지를 만들어보겠습니다. ▣ 이건 저번장에 내용을 모두 합쳐서 치킨 메뉴를 고르는 프로그램을만들어보았습니다. 직접 코드를 작성해보시고 여러분들만에 메뉴를 고르는 프로그램을 만들어보세요. ▣ 이건 텍스트를 입력할 수 있는 필드를 만드는 코드를 작성해보았습니다. 레이블과 동일하게 Entry함수로 변수에 선언을 하고 place로 위치를 지정하고 실행을 하면 이렇게 입력텍스트필드가 생성되는 걸 볼 수 있습니다. 그럼 텍스트필드에 입력한 값을 가져오는걸 간단하게 구현해보겠습니다. ▣ 버튼을 누르면 텍스트 필드에 있는 값을 버튼에 txt로 지정하게 해 보겠습니다. 버튼을 생성하고 함수를 하나 .. 2020. 11. 17.
파이썬 17장(tkinter_01, import, GUI, random, calendar, 버튼) ▣ 안녕하세요. 오늘은 import 모률 간단하게 몇 개와 tkinter를 활용해서 파이썬으로 GUI를 공부해보겠습니다. ▣ 먼저 calendar를 공부해겠습니다. import는 우리가 중간중간 사용해봤습니다. 이건 외부라이브러르 모듈을 가지고 와서 사용하는 키워드입니다. 더 쉽게 이야기하면 다른 사람이 만들어둔 코드를 가지고 와서 사용한다라고 생각해주시면 됩니다. calendar말 그래도 날짜에 관한 모듈을 가져왔습니다. 그리고 print를 해서 calendar.month 한 달에 정보를 가져오게 하고 함수에 값을 2020, 11로 지정합니다. 그럼 2020년 11월에 날짜 값이 한꺼번에 출력되는 걸 확인할 수 있습니다. ▣ 그런데 여기서 의문이 생깁니다. calendar를 사용할때마다 calendar.. 2020. 11. 9.
파이썬 16장(함수_2, 전역변수, 지역변수, global, 재귀함수, 함수호출) ▣ 안녕하세요 ^^ 이번장에서는 저번장에 이어서 함 수두 번째 시간으로 공부해보겠습니다. ▣ 먼저 재귀함수에 대해 공부해보겠습니다. 재귀 함수란 쉽게 이야기하면 함수가 자기 자신을 불러오는 호출 하는 걸 재귀 함수라고 합니다. 간단한 코드를 실습하면서 공부해보겠습니다. ▣ 이번장부터는 비주얼 스튜디오 코드로 코딩을 작성했습니다. 이점 참고해주세요. 그럼 코드를 작성했다면 이제 하나하나 해석해보겠습니다. 먼저 def으로 sum이라는 함수에 이름을 정의하고 매개변수로 숫자를 받아오겠습니다. 그리고 그 숫자에 1을 더하겠습니다. 그런 다음에 if 조건문으로 만약 num에 변수에 값이 10보다 크면 return 해서 함수를 끝내도록 코드를 작성해주시고요. 그리고 아니면 그 밑에 sum(num) 자기 자신을 호출.. 2020. 11. 3.
파이썬 15장(10진수, 2진수, reverse, 함수, 반복문, 리스트, input) ▣ 안녕하세요^^ 이번장은 간단하게 10진수를 입력받아. 2진수를 바꿔 리스트에 저장해서 출력하는 코드를 공부해보겠습니다. ▣ 매번 말씀드리지만, 코딩은 정답이 없다고 생각합니다. 제 코드가 정답이라고 생각하지 마시고, 제 코드는 참고만 하시고 여러분에 방법으로 10진수를 2진수로 바꿔보세요. ▣ 먼저 10진수를 2진수로 바꾸는 방법을 공부해보겠습니다. ▣ 그림판으로 그려서 글씨가 이상한 점 이해해주세요 ^^;; 10진수를 2진수로 바꾸려면 나누기를 진행하면 됩니다. 나누기를 진행할때마다 나머지를 이렇게 옆에 표시해주세요. 나누어지지 않을때까지 진행해주시고, 나머지를 적은 부분은 화살표 방향으로 작성하면 이게 2진수입니다. ▣ 그럼 2진수를 10진수를 바꾸려면 2에 1승 2에 2승 2에 3승 이런 식으로.. 2020. 10. 29.
파이썬 14장(함수_1, 매개변수, 가변매개변수, return, 리턴) ▣ 안녕하세요 ^^ 오늘은 함수에 대해 공부해보겠습니다. 함수가 무엇일까요? ▣ 이렇게 우리가 수학 시간에서 배웠던 그림과 동일하게 input x 라는 값을 함수에 넣어주고 함수안에서함수 안에서 x라는 값을 통해서 함수 안에서 바꾼 다음 바뀐 f에 값을 반환하는 구조라고 생각하시면 됩니다. ▣ 그럼 함수를 어떻게 만드는지 먼저 알아보도록 하겠습니다. ▣ 먼저 함수를 만들려면 def라는 키워드를 먼저 붙여주셔야 합니다. define에 약자인 거 같습니다. 그런 다음에 함수 이름을 넣고 () 괄호를 붙어주고 : 콜론을 넣고 함수에 조건을 마무리합니다. 그리고 밑에 함수에 기능들을 넣어줍니다. 꼭 들여 쓰기가 되어있어야 합니다. 파이썬에 들여 쓰기는 C언어에서 { } 스코프(범위)라고 생각하시면 됩니다. ▣ .. 2020. 10. 22.
파이썬 13장(딕셔너리, 튜플) ▣ 안녕하세요 ^^ 저번장까지 파이썬 공부 열심히 해보셨나요? 오늘은 파이썬에서 리스트 다음으로 많이 활용하게 되는 딕셔너리와 튜플을 공부해보겠습니다. 먼저 딕셔너리부터 진행해보겠습니다. ▣ 딕셔너리를 만들려면 리스트와 다르게 { } 괄호를 사용해야 합니다. 그리고 키값으로 지정할 값을 입력해주시고 : 콜론으로 구분한 다음에 값을 입력해주시면 됩니다. 그리고 여러 값을 생성하려면 , 콤마로 구분하시면 됩니다. print로 출력을 해보면 이렇게 키와 값이 나오는 걸 확인할 수 있습니다. ▣ 다시 말해 리스트와 다른 점은 요소로 값을 관리하는 게 아닌 키값으로 값을 관리한다고 생각해주시면 됩니다. 사전이라고 생각하시면 더 편할꺼 같네요. 그럼 여기서 이런 질문이 있을수 있습니다. 키와 값을 꼭 문자열로만 해.. 2020. 10. 6.
파이썬 12장(try, except, finally, else, 예외처리) ▣ 안녕하세요 ^^ 저번장까지 과제 열심히 해보셨나요? 지금까지도 포기하지 않고 해오셨다면 벌써 큰 성장이 있을 거라 생각합니다. 코드를 짜시다가 왜 안되지? 왜 아직도 못하지라는 생각을 하실 수 있겠지만, 저는 그렇게 생각합니다. 어떤 공부든 인내하고 버티는 것도 공부에 한 부분이고 실력이라고 생각합니다. 왜 안늘지라고 생각하지 마시고 천천히 하나하나 포기하지 마시고 읽으면서 사고하고 코딩을 공부하시면 저는 된다고 생각합니다. 저도 그랬으니깐요. ▣ 그럼 오늘은 예외처리를 하는 try, except, finally에 대해 알아보겠습니다. 예외처리가 먼가라는 의구심이 들 수도 있습니다. 이건 우리가 코딩을하면서 모든 상황을 생각하고 코딩을 할 수는 없습니다. 완벽한 코딩은 없기 때문에 오류 가능성과 버그.. 2020. 9. 28.
파이썬 11장(time, random, import, 조건문, 반복문) ▣ 안녕하세요 ^^ 저번장 공부는 열심히 해보셨나요? 오늘은 간단하게 time함수와 random함수를 공부해보도록 하겠습니다. time함수와 random함수에 모든 기능을 다 설명하는 건 아니고 기본적인 부분을 공부해보고 간단하게 심플 프로젝트를 진행하여 이해하는 방식으로 진행하겠습니다. 이점 참고해주시면 감사하겠습니다. ▣ 먼저 시간을 구하는 함수를 사용하려면 import로 time 모듈을 가지고 와야 합니다. 쉽게 이야기해서 C언어에서 #include를 해서 현재 내 코드에 time함수를 사용하는 코드를 포함시킨다라고 생각해주시면 좀 더 이해가 쉬우실 거 같습니다. 그런 다음에 바로 print함수를 이용하여 time.time() time모듈 안에 있는 time() 함수를 넣어서 출력하면 이렇게 큰 숫.. 2020. 9. 21.
파이썬 10장(리스트_2) ▣ 안녕하세요 ^^ 저번장 과제는 해보셨나요? 조금씩 조금씩 파이썬에 대해 이해해가고 계신 모습이 보이는 거 같아 아주 뿌듯하네요. 그럼 오늘은 저번장에 이어서 리스트 2번째로 공부해보겠습니다. 오늘도 저번장처럼 간단한 실습으로 공부해보도록 하겠습니다. ▣ 이렇게 리스트를 두개를 만들어 + 연산자를 활용하여 두 리스트에 값을 한꺼번에 더해서 출력할 수도 있습니다. 하지만 정말 두 리스트에 값이 더해진걸까요? ▣ 바로 밑에 이렇게 aList1과 aList2에 값을 출력해보면 합쳐지지 않고 그대로 값이 있는 걸 확인할 수 있습니다. 다시 말해 print화면에 + 리스트가 더한 값을 보여주기만 했고 해당 리스트에 변화는 주지 안 다라라는 결론이 나오게 됩니다. 그럼 어떻게 하면 둘에 리스트를 합친 값을 출력할.. 2020. 9. 16.
파이썬 9장(리스트_1) ▣ 안녕하세요 ^^ 저번장 과제는 해보셨나요? 제가 정말 오랜만에 글을 남기죠?? ^^ 요즘 게임 제작이랑 여러 강의 준비 그리고 닌텐도 스위치를 사서 그 재미에...^^;; 죄송합니다. 그래도 최대한 아무리 바쁘더라도 일주일에 한개씩은 함께 글을 써서 공부하는 시간을 가지도록 하겠습니다. ▣ 우리가 변수를 사용하다보면 이런 생각을 하실 거라 생각합니다. 같은 자료형에 변수를 여러개 만들어서 관리할 수는 없을까라는 생각 말이죠. 네 가능합니다. 몇 가지 방법이 있지만 이번장에서는 리스트를 함께 공부해보도록 하겠습니다. 리스트 내용이 좀 많아서 챕터를 나눠서 진행하겠습니다. ▣ 우리가 변수를 공부할 때 변수는 무엇이라고 이야기했을까요? 네... 맞습니다. 데이터를 담는 상자, 그릇, 메모리라고 비유를 했습.. 2020. 7. 21.
파이썬 8장(input, 여러 개 입력, 입력, 출력) ▣ 안녕하세요 ^^ 저번장 과제는 다 해보셨나요? 다 하셨죠?? 잘하고 계십니다. 코딩을 사고해서 작성하시고 읽고 해석하고 고치시는 훈련을 계속하신다면 더 깊이 있는 코딩을 하실 수 있을 거라 생각합니다. 그러니 포기하지 마세요~~ ▣ 그럼 오늘은 입력 함수 input을 공부해보겠습니다. ▣ 먼저 입력을 받아오려면 input() 함수를 사용해야 합니다. 첫 번째 변수를 먼저 선언하고 input() 함수를 사용해줍니다. 입력을 받을 값을 num1에 넣기 위해 = 대입 연산자를 넣었습니다. 그리고 print() 함수로 입력한 값을 바로 출력하기 위해서 num1를 넣었습니다. 그리고 Run을 해서 확인해보면, 250이라고 입력을 하면 바로 250이 출력되는 걸 확인할 수 있습니다. ▣ 그리고 input함수 괄.. 2020. 7. 13.