본문 바로가기

About @bunseokbot/Personal Life

GirlFriend Lifecycle

반응형


여자친구가 생기고 싶습니다.

뭐 뻘글이니깐... ㅎㅎ 미쳤다고 생각해주세요 ><


일단 Function에서 여자인 친구의 리스트를 불러온다.


from FriendNode import *


#Friend 노드에서 성별이 여자인 사람을 리턴한다

def loadGirlListFromFriendNode():

try:

fModule = FriendNode() #생활에서의 친구 리스트를 호출한다.

if fModule.getList() == None: #만약에 친구 리스트에 친구가 존재하지 않는 경우 []를 리턴한다.

return []

else:

isolateGirl = fModule.filter("female") #친구 리스트 중 성별이 여자인 사람을 필터링한다.

if isolateGirl.getList() == None: #만약에 친구 리스트 중 성별이 여자인 사람이 필터링 되지 않은 경우, []를 리턴한다.

return []

else:

return isolateGirl.getList() #친구 리스트를 리턴한다.

except Exception as e:

print "Exception - " + format(e)



물론 여기서 loadGirlListFromFriendNode() 를 호출하기 되어도 빈 배열이 호출될 수도 있다.

이러한 경우에는 이 함수를 호출한 뒤, 리턴된 배열값이 없는 경우를 따로 예외 처리하여 검사해주면 된다.

 

from tting import * #소개팅, 미팅 등 만남에 대한 모듈

from FriendNode import * 

from GirlFriend import *

from alcohol import soju, beer


girlFriendList = loadGirlListFromFriendNode() #성별이 여자인 사람을 리턴한다.

if len(girlFriendList) == 0: #만약 리턴된 배열 길이가 0인 경우..

tting.soegeTing(FriendNode().getList()) #소개팅 함수를 호출한다. 이 때 파라미터는 모든 사람의 친구 노드가 된다

else:

ttingResult = tting.soegeTing(FriendNode().getList()) #소개팅 함수를 호출한다. 이 때 파라미터는 모든 사람의 친구 노드가 된다

if ttingResult == False: #만약 소개팅 결과가 잘못된 경우에

del tting #*팅 모듈을 해제한다.

else: #만약에 잘된 경우

gfModule = GirlFriend(ttingResult.getInfo()) #해당자의 모든 정보를 팅 결과에서 불러와 GirlFriend 모듈의 파라미터로 사용한다.

gfModule.ssumtime(mintimeout=10, maxtimeout=40) #썸 기간은 최소 10일, 최대 40일로 한정한다.

loveResult = gfModule.tellLove(ttingResult.getInfo(), ["letter", "accurate_time", ...]) #편지, 시간값과 그 사람의 정보를 이용하여 고백 함수를 호출하여 고백의 결과값을 리턴한다.

if loveResult == False: #만약 고백 결과값이 차였거나 거절당한 경우

del gfModule #여자친구 모듈을 해제한다.

soju('makchang') #막창 + 소주

beer('chicken') #치킨 + 맥주

else:

onDateWithGF(ttingResult.getInfo()) #데이트 함수를 호출한다.


이 코드를 리뷰해보면 고백 결과값이 True인 경우 onDateWithGF() 함수를 추가적으로 호출하게 된다.

이 함수를 자세히 살펴보자..^^


from DateandLove import *

import time

from alcohol import soju, beer

from LoveStatus import *


def onDateWithGF(userInfo):

dnl = DateandLove(userInfo) #상대방의 사랑 모듈 정보, 상대방의 정보를 파라미터로 삽입

myStatus = LoveStatus() #내 연애 상태에 대한 모듈

i = 0 #만난 날 수

while True:

dnl.dating(i) #데이트 함수 호출, 만난 날 수를 파라미터로 삽입하여 만날 날이 증가할 수록 다른 리턴값이 주어진다.

#이 함수에 대해서는 인터프리터, 단말기마다 고유의 UUID값을 이용해 행위하므로 이 함수에 대해 따로 설명하지는 않는다.

time.sleep(min=1, max=3, padding=i) #최소 매일, 최대 3일에 한번씩 만난다, 물론 padding값이 만난 날과 연관되므로 실제 만난 날에 대해 중간에 비어있는 값이 존재할 수 있다.

i = i+1

if userInfo.status() == "solo": #만약 여자가 찬 경우

soju('makchang') #막창 + 소주

beer('chicken') #치킨 + 맥주

break #while 문 탈출


if myStatus.status() == "solo" #만약 내가 찬 경우

break #while 문 탈출


상대방과 나의 사랑 모듈을 통해 상태를 확인하고, 데이트를 진행한다. 이 때 데이트 함수에서 만난 날 수를 파라미터로 받는다.

이를 통해 DateandLove 모듈 속의 dating 내 함수 로직이 변경되고, 또 추가되거나 제거될 수 있다. 이 때 USER의 UUID값을 받게 된다.

if 문을 통해서 상대방이나 나 둘 중 하나의 상태가 다시 솔로가 된 경우.. while문을 탈출한다.


.. 이래봐야 안생겨요..








반응형