프로그래밍

오늘은 퐁게임이라 불리는 게임을 만들어 보았다. 이것 또한 클래스를 이용해서 만들어보았다. 클래스 패들 적 컴퓨터 패들 내가 조종할 수 있는 패들 스코어 보드 움직이는 공 대각선 일정 각도로 움직인다. 허나, 스크린 가로선에 부딪히면 진행 방향의 Y축 반대로 튕겨져 나간다. 패들에 공이 부딪히면 공이 튕겨져 나간다 패들에 부딪히지 않고 세로선으로 들어갈 시 들어간 방향의 반대 방향의 상대가 스코어를 얻는다. 로직 패들은 방향키 위/아래, w/s로 움직일 수 있다. 스코어는 들어간 방향의 반대 방향 상대가 스코어를 얻는다. 코드 ## 퐁 게임 만들기 ## 로직 # 각각의 클래스로 분리 # 1. 적 컴퓨터 패들 # 1.1 패들은 일정 속도로 위아래로 움직인다. # 2. 내가 조종할 수 있는 패들 # 2.1 ..
로직 거북이는 총 6마리로 ["red", "orange", "yellow", "green", "blue", "purple"] 각각의 색깔을 갖는다 screen 의 사이즈는 500 x 400 이고 거북이가 x 축 왼쪽 끝에서 y 축 오른쪽 끝에 닿을 때 경기는 종료된다 경주 시작 전 input 으로 한 색깔을 고른다. 객체를 이용해 6마리의 거북이를 생성하고 경주 시키기 코드 # 거북이 경주 만들기 # def create_turtle(name, x, y): # color = colors.pop(0) # name = Turtle(shape="turtle") # name.penup() # name.goto(x, y) # name.color(color) # create_turtle("timmy", -230, 9..
터틀 모듈을 이용한 그래픽 소과제를 진행 해보았다. 코드는 import 나 객체 선언 외 로직적인 부분만 작성했다. (전체 코드는 Git에 있음) 문서는 https://docs.python.org/3/library/turtle.html 참조 로직 turtle 이용해서 정사각형 그리기 한 변의 길이가 100이고, 화면 어느 지점에 그리던 상관 없다. 점선 그리기 선 그리기 , 안 그리고 걸어가기를 15회 반복하기 turtle의 걸어가는 길이는 10으로 고정 정삼각형, 정사각형, 정오각형, 정육각형, 정칠각형, 정팔각형, 정구각형, 정십각형 그리기 한 변의 길이는 100으로 고정 한 도형을 그리고 색상을 바꿔준다. 무작위로 가는 길을 그리기 동쪽, 서쪽, 남쪽, 북쪽을 무작위로 움직이기 펜 사이즈는 15로 ..
이번엔 OOP를 이용해 퀴즈 생성기를 만들어 보았다. OOP 들어오고 나서부터 조금씩 어려워지고 있는 것 같다. 그래도 얼추 이해가 돼서 다행이다. 로직 dir 구성은 data.py, main.py, question_model.py, quiz_brain.py 로 구성 되어있다. data.py : 실제 문제 값이 dict 형태로 되어 있으며 키는 text 와 answer 로 되어 있다. main.py : 문제를 반복하는 로직과 그 외 question_model 과 quiz_brain 의 객체를 활용하는 코드를 작성 했다. question_model.py : 문제를 던져줄 수 있는 객체 틀을 만들어 놓았다. quiz_brain.py : 데이터를 받아서 여러 메소드를 통해 실질적으로 문제를 내주는 모듈이다. ..
이전에 작성했던 커피 머신을 OOP, 즉 Class // Attributes Methods를 이용하여 코드를 작성했다. 로직은 이전과 동일하다. 로직 마시고자하는 커피의 종류를 고른다 커피의 종류를 고를 때 'report'를 입력하면 현재 남아있는 재료를 출력해준다 남아있는 재료가 충분하지 않다면 충분하지 않음을 알려준다 커피를 고르고 동전을 넣는다. 동전을 제조 비용보다 많이 넣을 시 (총 동전 - 제조 비용) 을 반환 해준다 동전이 부족할 경우 만들어 주지 못한다고 출력한다. 재료와 동전이 충족될 시 커피를 만들어 주고 거스름 돈이 있을 시 거스름 돈을 거슬러준다 코드 from menu import Menu, MenuItem from coffee_maker import CoffeeMaker from ..
이번엔 커피 머신을 생성해 보았다. 개인적으로 아직 함수화 해서 return 받는 게 익숙 치 않아 코드가 굉장히 많이 더러운 것 같다. 그래도 로직을 완성하는 데 의의를 두고 있다. 로직 마시고자하는 커피의 종류를 고른다 커피의 종류를 고를 때 'report'를 입력하면 현재 남아있는 재료를 출력해준다 남아있는 재료가 충분하지 않다면 충분하지 않음을 알려준다 커피를 고르고 동전을 넣는다. 동전을 제조 비용보다 많이 넣을 시 (총 동전 - 제조 비용) 을 반환 해준다 동전이 부족할 경우 만들어 주지 못한다고 출력한다. 재료와 동전이 충족될 시 커피를 만들어 주고 거스름 돈이 있을 시 거스름 돈을 거슬러준다 로직은 이렇게 정리된다. 더보기 지금 정리하고 보니까 굉장히 간단한 듯 함... 코드 init 시에..
이번엔 계산기를 코딩 해봤다. 로직은 이렇다. 처음 input 값을 고르고 사칙연산 중에서 행위를 고르고 처음 input 값과 연산하기 위한 또 다른 숫자를 고른다 y 값을 받으면 연산된 값으로 다시 계산하고, n 값을 받으면 계산을 종료한다. 간단한 계산기 로직이다. # 처음 input 값으로 값 숫자를 고른다. # 행위를 고르고 (사칙연산) # 숫자와 연산하기위한 또 다른 숫자를 선택함 # 수식과 답을 표현 하고 # y를 타이핑 하면 계산된 답으로 다시 계산할지 n을 타이핑하면 새로운 계산을 할지 선택 first_number = input("What's the first number?: ") value_operation = input("+\n-\n*\n/\nPick an operation: ") ne..
경메 게임을 만드는 로직을 구현해 보았다. 로직에 대한 설명은 이렇다 이름을 입력한다. 입찰가를 입력한다. 다른 입찰자가 있는지 물어본다 다른 입찰자가 있다면 다시 1번으로 돌아간다 다른 입찰자가 없다면 현재까지 입찰된 가격 중 가장 높은 가격과 그에 해당하는 입찰자의 이름을 print한다 이렇게 되어 있는 로직이다 처음 생각 했을 때 input을 입력하고 다른 입찰자가 없는 상황에서 모든 입찰자들을 한 딕셔너리에 넣고 -> key value 형태에서 value 값만 추출 -> value 값을 리스트안에 넣고 정렬 해 최고 입찰가 뽑아내기 -> 최고 입찰가를 기준으로 모든 입찰자를 넣은 딕셔너리에서 검색 굉장히 어렵게 생각했다 일단 1번 부터 3번까지의 로직을 순차적으로 구성 해 보았다. # 1. 로고 ..
강의 내에서 hangman이라는 게임을 제작 해보고 있다. hangman이라는 게임에 대한 설명은 아래 링크에 있다. https://namu.wiki/w/%ED%96%89%EB%A7%A8 #로직 생각해보기 # 단어를 무작위 추출 # 단어의 범위 만큼 배열에 담기 # 인풋 값을 받아서 알파벳 비교, 배열의 인덱스 값에 따라 알파벳 비교 # 알파벳이 있다면 프린트 없다면 목숨-1 # 목숨 안에 단어를 맞추면 성공 -> 모든 빈칸이 채워졌는가? # 목숨 안에 단어를 못 맞추면 실패 -> 목숨이 0일때 모든 빈칸이 채워지지 않았는가? import random # 단어 배열에서 아무거나 추출 words = ["book", "phone", "chair", "table", "cup", "pen", "pencil", ..
Nowon9159
'프로그래밍' 카테고리의 글 목록