Git Product home page Git Product logo

liar-game-swift's Introduction

라이어게임

Project name: LiarGame
Description: 돌아온 라이어게임!

Environment

  • Minimum Target Version: Greater than or equal iOS 16.0
  • Xcode Version : 15.0.1

Package Dependencies

Skill Stack

  • SwiftUI

TODO

  • IP Seting ✅
  • Game Rule
  • IP Validation ✅
  • Iterative Server ✅
  • parsing logic ✅

liar-game-swift's People

Contributors

kdjun97 avatar

Watchers

 avatar

liar-game-swift's Issues

CreateRoomView Alert title, message 고민

  1. viewModel에서 각 케이스일 때, errorTitle, errorMessage를 set 해주는 법
  2. 지금처럼 state 넘겨서 View에서 깡스트링 처리

2번이 맞는것같긴한데, viewModel에서 UI의 string을 set해주는건??

공통으로 사용되는 getIP 를 Manager로 관리해야하나?

getIP를 ConnectRoom, CreateRoom 두 군데서 (뷰모델에서) 사용

동일한 코드 반복인데,
이걸

  1. Feat/Core/뭐 이렇게 넣을지,
  2. Core/이쪽에 넣을지

그게아니면, 동일한 코드라도
ConnectRoomViewModel, CreateRoomViewModel 이렇게 두 군데에 넣는게 좋은지? 고민중

socket read 반복문 문제

상대의 메시지를 읽기 위해서 read 명령어를 사용.
하지만, 어느 타이밍에 데이터를 보낼지 미지수.

따라서 listener를 달아줘야하는데,

  1. 일반적인 함수에 listener를 달아주는 방법을 찾거나
  2. 반복문을 무한으로 돌려야지 뭐...

일단 2번의 방법으로 구현은 했으나, 굉장히 비효율적이라는 생각이 들어서 다른 좋은 방안이 있나 고민중

message parsing logic

메시지를 파싱할 때 \로 split한다.
만약 message에 \가 포함된 채로 들어오면 메시지는 파싱중 nil로 리턴이 되어 전송이 되지 않을 것이다.
이 부분에 대해

  1. input에 \가 있을 때 파싱 로직에 예외 처리를 해주거나
  2. 텍스트에 validation을 넣어 \를 포함시키지 않도록 하거나
  3. 다른 파싱 로직을 쓰거나

하는 방법이 있을 것 같다.
하지만 지금 스터디용이기 때문에 파싱 로직을 바꾸거나 하지는 않는 걸로 하고,
추후에 생길 예외 가능성에 대해 이슈를 남김

Core에 Socket dependency 맞나?

Core에 UserModel이 있는데, 여기 Socket이 있는게 맞나??
아닐시, 방만들기, 접속하기 validation check만 하고난 뒤 채팅룸에서 모든 소켓관련 작업하기

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.