Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hangman #7

Open
wants to merge 54 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
301fec5
사운드 추가
GaYeongYoon Jan 18, 2021
bcbbc41
DB , words.txt 임시로 변경
dltjddms Jan 18, 2021
8a61ddc
DB 내용 수정 1
dltjddms Jan 19, 2021
46d2327
일단 한것만...
tjgus1200 Jan 19, 2021
29b7c99
이게더낫것다
tjgus1200 Jan 19, 2021
f479da0
난이도 & 버전 설정
minheemin Jan 19, 2021
e28ca4b
background추가, 코드 설명 추가
dltjddms Jan 19, 2021
da0b8b7
Merge branch 'gayeong' of https://github.com/dltjddms/Hangman into se…
dltjddms Jan 19, 2021
645039c
Merge branch 'origin/minhee' of https://github.com/dltjddms/Hangman i…
dltjddms Jan 19, 2021
13fcd06
Merge branch 'seohyun' of https://github.com/dltjddms/Hangman into se…
dltjddms Jan 19, 2021
d8ed597
타임어택 수정본
tjgus1200 Jan 19, 2021
e4a1bce
Merge branch 'seohyun' of https://github.com/dltjddms/Hangman into se…
dltjddms Jan 19, 2021
50a09e3
타임어택 오류수정1
tjgus1200 Jan 19, 2021
a0c0e99
정리
dltjddms Jan 19, 2021
47d8ed5
Merge branch 'seohyun' of https://github.com/dltjddms/Hangman into se…
dltjddms Jan 19, 2021
42daf1a
버튼 클릭시 소리
dltjddms Jan 19, 2021
294fd87
데이터베이스 커밋
minheemin Jan 19, 2021
291ebc6
Merge branch 'seongeun' of https://github.com/dltjddms/Hangman into o…
minheemin Jan 19, 2021
181e737
타임어택 깜빡임, 시작 시간 수정
dltjddms Jan 20, 2021
fafaa60
10초타이머미완성
tjgus1200 Jan 20, 2021
71af984
100초 리셋인데 엄청 깜빡거림 고전버전
tjgus1200 Jan 20, 2021
21c4388
깜빡거림 수정
dltjddms Jan 21, 2021
7f3e641
이거아님푸시x
tjgus1200 Jan 21, 2021
e55655c
Merge branch 'seohyun' into seongeun
dltjddms Jan 21, 2021
b915365
리플레이 인자 수정
minheemin Jan 21, 2021
b72db57
터미널창에 실행 시간 띄우기
tjgus1200 Jan 21, 2021
4057789
게임 흐른 시간 확인 및 저장
tjgus1200 Jan 21, 2021
e6c0927
코드 수정 - display.update() 한줄 지움
dltjddms Jan 21, 2021
7e98f95
힌트버튼 클릭시 소리 및 힌트출력
GaYeongYoon Jan 21, 2021
f1b8d78
Merge branch 'origin/minhee' of https://github.com/dltjddms/Hangman i…
GaYeongYoon Jan 21, 2021
2cc15fe
명령문 실행순서 오류안나게 수정
GaYeongYoon Jan 21, 2021
bdd1d66
의미없는파일 안건들어도됨
tjgus1200 Jan 21, 2021
8abfd7e
민희&서현 코드 합치기 전으로 돌리고 민희거랑 안겹치게 변수이름만 변경한거
GaYeongYoon Jan 21, 2021
7ba2a99
의미x
tjgus1200 Jan 21, 2021
597e84c
Merge branch 'gayeong' of https://github.com/dltjddms/Hangman into ga…
GaYeongYoon Jan 21, 2021
04e5639
의미x
tjgus1200 Jan 21, 2021
26f214a
다 지워버린거
GaYeongYoon Jan 21, 2021
a31c0a6
아직 수정중..
GaYeongYoon Jan 21, 2021
bb184dc
힌트버튼 코드 추가
GaYeongYoon Jan 21, 2021
bebc4f7
의미없는코드!
tjgus1200 Jan 21, 2021
40ab883
힌트 코드 추가 & 약간의 오류 수정
GaYeongYoon Jan 21, 2021
6bfa10a
아까 올린거 xxx 지금올린거
tjgus1200 Jan 21, 2021
25a6005
자잘한거 수정
GaYeongYoon Jan 21, 2021
5b65ca0
Merge branch 'seohyun' of https://github.com/dltjddms/Hangman into se…
dltjddms Jan 21, 2021
f148e19
깜빡거림&엔드화면 등 수정해야함!
GaYeongYoon Jan 21, 2021
3b05277
리플레이 수정
GaYeongYoon Jan 21, 2021
afdfea1
등수 & 깜빡거림 수정하기!
GaYeongYoon Jan 21, 2021
61fae6d
깜빡거림 수정!! 성은 최고
GaYeongYoon Jan 21, 2021
cce4cfb
DB, 색상, end 배경 수정
dltjddms Jan 21, 2021
f19897d
변경사항 없음
GaYeongYoon Jan 21, 2021
97b933d
주석 부분 삭제
dltjddms Jan 21, 2021
d3aa774
합치기 전
GaYeongYoon Jan 21, 2021
6408f7b
최종
GaYeongYoon Jan 22, 2021
230fc5b
최종!!!
GaYeongYoon Jan 22, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions .gitpod.yml

This file was deleted.

74 changes: 65 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,70 @@
# Hangman-Python
A simple hangman game made with python and pygame. This was made as a beginner pygame project in grade 11 (2017).
<프로젝트 설명서>

# Requirements
- Python 3.x
- pygame

# Run in GitPod
2조

You can also run Hnagman in Gitpod, a free online dev environment for GitHub:
윤가영 이성은 홍민희 김서현

If you're intersted in a paid subscription with GitPod use the coupon code: **TECHWITHTIM19**

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/techwithtim/Hangman/blob/master/hangman.py)

1. 개요

2. 초기 오픈소스

3. 개발 과정

4. 구현 상태

5. 마무리







1. 개요


소스 트리, 깃 배시 등 생소한 프로그램들을 사용해 구현을 하는 만큼, 우리가 결과물의 질 만큼 중요시 했던 것이 이러한 프로그램을 빠지는 팀원 없이 익히는 것과 모두가 적극적으로 아이디어를 내고 구현할 수 있게끔 하는 것이었다. 난이도가 높은 구상물을 제출한다 한들 특정 팀원의 역할 분담이 지나치게 치우친다거나 빠지는 이가 생기는 불상사가 생긴다면 이는 이번 프로젝트의 의의에 벗어나는 일이라고 생각했기 때문이다. 오픈 소스를 통한 팀별 개발인 만큼, 깃허브에 이미 구현이 되어있는 것들 중 누구에게나 생소하지 않고, 기본적인 틀은 완성되어있되 설정과 구성, 이벤트 등 팀별 구상을 통해 여러가지 기능을 추가할 수 있는 코드를 살펴보았다. 그중 가장 기본적이고 친숙한 형태의 행맨 게임을 찾을 수 있었다.




2. 초기 오픈소스


초기 상태에서의 행맨 게임은 익히 알던 개념과 같이, 개발자가 미리 입력해둔 텍스트 프로그램이 실행되며 그 속의 단어나 문장이 추출되고 이를 실행자가 알파벳 버튼을 눌러 문제를 맞추는 식이었다. 알파벳을 누를 때마다 사용된 알파벳은 gui에서 지워지며 정답일 시 행맨 아래의 비어진 문제칸에 알파벳이 추가가 된다. 오답을 누를 시 머리와 몸통 팔다리 그래픽이 차례로 실행이 되며, 게임이 끝이 나는 경우에 불특정 자판을 누르면 다시 게임이 재실행 되는 식이었다. 게임이 틀렸을 때와 맞았을 때의 배경은 같으나 실행되는 문장이 달라 이를 판별했다. 우리는 이러한 부분에서 게임의 재실행 되는 부분이 의미 없이 버려진다는 점과, 게임의 실행자가 난이도를 구분해 사용할 수 없다는 점, 게임의 실행 과정이 밋밋하다는 점 등을 문제점으로 보았다.





3. 개발 과정


위의 문제점을 중심으로 토론한 결과, 초기에 구현하고자 했던 기능은 다음과 같다. [테마와 난이도를 나눠 실행자를 위한 선택지를 주는 것]. [gui창에 띄워진 알파벳을 누를 시 특정 소리를 내는 것]. [힌트 칸을 추가해 어려움을 겪는 실행자들에게 도움을 줄 수 있는 방안]과, [제한 시간을 설정하고 db를 이용해 시간 내에 문제를 가장 많이 푼 이에게 등수를 내어주는 식]이었다. 하지만 마지막 부분의 경우 제한 시간을 설정할 경우 실행자들이 중도에 게임을 그만 둘 경우 취소를 할 수 없다는 오류를 지적해 [게임의 플레이 시간 경과를 실행자에게 보이고, 정답자에 한해 가장 빨리 푼 이의 플레이 시간을 창에 갱신] 할 수 있게끔 하였다. 이후 개발 과정 중 추가한 사항으로는 게임에 성공하거나 실패하였을 경우 [특정한 효과음]을 내며 게임을 리플레이 할 수 있게끔 하였다. 분배는 다음과 같다


[윤가영] 효과음 및, 힌트란 추가
[이성은] db를 이용한 사용자 최단 플레이 시간 갱신 및 게임 배경
[홍민희] 테마선택 및 난이도 구성
[김서현] 시간 경과 설정 및 최종 설명보고서 작성


구현할 부분들을 분배한 후 초반에는 본인들의 맡은 역할에 맞춰 코드를 생성하고 이를 융합하는 방식으로 개발이 진행되었다. 병합을 하는 과정에서 일어나는 오류를 서로 주고 받으며 해결하는 식이었다. 초반 소스트리를 사용하였을 때 생소한 개발 환경 탓에 헤매는 경우가 많았다. 팀원들 내부적으로 갈등이 일어나는 대신, 서로 개발 환경에 익숙해질 때까지 배려하고 도왔다. 이 때문에 최종 구현이 될 때 까지 낙오되는 팀원들 없이 모두 맡은 바를 해결할 수 있었다.



4. 최종 구현


즉시 게임이 실행되는 기존의 행맨 게임과 달리 우선 [동물, 음식, 장소] 3가지의 테마와 [easy, hard] 2가지의 난이도로 총 6가지 선택지가 주어진다. 이를 선택하고 나면 게임 창이 뜨는데 앞서 게임 실행 시 기존의 것과 달라진 점은 총 세 가지이다. [플레이 시간 출력], [효과음], [힌트창 출력]. jpg사진을 삽입하여 버튼을 만들고 이를 누를 때마다 실행자가 풀어야 할 문제의 알파벳 하나를 보이는 식이다. 마우스가 잘 먹지 않아 여러 번 클릭하면 보기 좋다. 사용자가 원하는 알파벳을 누를 때마다 특정 소리가 난다. 좌측 하단에는 플레이 시간을 업로드했다. 배경은 기존의 초록과 달리 흰색으로, 사용자가 보기에 훨씬 깔끔하다. [게임이 종료될 시]에 일어나는 효과음은 총 두개인데, 실패시에 나는 소리와 게임을 모두 해결하고 난 이후의 소리가 다르다. 이후 게임이 끝나면 db를 이용해 [최단 플레이 시간]을 띄워주는데 이는 게임을 완전히 해결하였을 때만 업로드 되는 식이고, 행맨이 모두 달려 게임에 실패했을 시에는 갱신되지 않는다. 게임은 특정 키보드를 눌렀을 때 다시 리플레이 된다. 리플레이 될 시, 출력되는 플레이 시간 역시 리셋된다.




5. 마무리


개발이 개인의 능력보다 소통과 협력이 중요한 분야인 만큼, 이번 프로젝트를 통해 이러한 부분이 크게 발전할 수 있었던 것 같다. 새로운 프로그램을 익히고 개발하는 부분 역시 중요하지만 소통과 협력, 니즈를 온전히 이해한 후 개발을 시작하는 부분이 크게 중요하다는 것을 느꼈고, 이후 실제 개발 환경을 구축해 나갈 때 이번 경험이 많은 토대가 될 것 같다는 생각이 공통적인 입장이다. 시작은 개개인의 개발이었지만 이를 합치고 에러를 구축해나가는 경험 역시 값졌다. 이후 초기에 구현 했던 대로 탈없이 완성도 있는 개발품을 만들어 낸 것 역시도 큰 성취감을 느낄 수 있었다. 이러한 경험들이 모임으로써 종내에 큰 물로 이어질 수 있다고 믿는다.
Binary file added background/background_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added background/background_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
7 changes: 7 additions & 0 deletions hang_picture/stage/animal_easy.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
dog
cat
mouse
lion
tiger
elephant
whale
7 changes: 7 additions & 0 deletions hang_picture/stage/animal_hard.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
golden retriever
dalmatians
emperor penguin
frilled lizard
flying squirrel
jellyfish
hedgehog
7 changes: 7 additions & 0 deletions hang_picture/stage/food_easy.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
pasta
soup
apple
banana
orange
melon
carrot
7 changes: 7 additions & 0 deletions hang_picture/stage/food_hard.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
hamburger
kimchi stew
rice cake
chicken salad
lobster
king crab

8 changes: 8 additions & 0 deletions hang_picture/stage/location_easy.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
paris
london
seoul
busan
gwangju
washington
newyork
tokyo
7 changes: 7 additions & 0 deletions hang_picture/stage/location_hard.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
los angeles
vancouver
the united kigdom
the united states
louvre museum
washington dc
gyeongbokgung
Loading