<View 헤더 파일>
<View 소스 파일 1,2>
<View 소스 파일 3>
'c++ > 플레이어 정보 관리시스템' 카테고리의 다른 글
플레이어 정보 헤더,CPP (0) | 2019.02.26 |
---|---|
DAO 헤더,CPP (0) | 2019.02.26 |
관리 헤더,CPP (0) | 2019.02.26 |
텍스트에서 플레이어 정보 읽어오기 (0) | 2019.02.26 |
<View 헤더 파일>
<View 소스 파일 1,2>
<View 소스 파일 3>
플레이어 정보 헤더,CPP (0) | 2019.02.26 |
---|---|
DAO 헤더,CPP (0) | 2019.02.26 |
관리 헤더,CPP (0) | 2019.02.26 |
텍스트에서 플레이어 정보 읽어오기 (0) | 2019.02.26 |
<Data 헤더 파일>
<Data 소스파일 1>
<Data 소스파일 2>
플레이어 정보 헤더,CPP (0) | 2019.02.26 |
---|---|
DAO 헤더,CPP (0) | 2019.02.26 |
관리 헤더,CPP (0) | 2019.02.26 |
사용자 뷰 (0) | 2019.02.26 |
- Server / Client 시스템 - Listen Server / Dedicated Server(전용서버: 클라이언트 포함 안함) - Listen Server 시스템을 통해 네트워크 개념 학습 - Server(Authority : 변경권한) : 서버가 클라이언트에게 변경권한을 준다. - Replication(복제) : 서버에서 클라이언트로 복제 - RPC(Remote Procedure Call, 원격함수 호출) |
Replication(복제)에는 3가지 복제가 있다. - Actor : 액터가 서버에서 스폰되면 클라이언트에도 복제된다. - Variable : 변수의 값이 서버에서 변경되면 클라이언트에도 복제된다.(Replicated, RepNotify) - Function : Run on Server, Multicast, Run on Owning Client - Run on Server : 호출된 함수가 서버에서 실행됨(클라이언트가 호출) - Multicast : 서버가 호출해야하고 서버와 모든 클라이언트에서 실행됨 - Run on Owning Client : 서버가 호출해야하고 특정 클라이언트에서만 실행됨(1개에서만!!) |
GameInstance : 게임 시작부터 종료할때까지 지속적으로 단 1개만 존재, 어디에서나 공유 가능하다. - 어떤 클라이언트나 접근이 가능 - 모든 클라이언트에게 필요한 정보를 저장 및 제공할 때 사용 GameMode : 레벨이 로드되면서부터 게임 종료시까지 단 1개만 존재 - 게임 룰 : 참여 인원수, 최고점수, 게임 시작 또는 종료 조건 - 서버측 코드에서만 접근가능하다. GameState : GameMode가 인스턴스 생성, 1개만 존재 - 서버, 클라이언트 측에서 접근가능 - 클라이언트에게 서버측 정보를 전달할 때 사용 - 전체 플레이어수, 전체 PlayerState 정보에 접근가능 |
PlayerController : 플레이어 입력을 통해 캐릭터을 조종할 수 있도록한다. - 서버측에서는 모든 PC에 접근 가능 - 클라이언트 측에서는 현재 캐릭턱의 PC만 접근가능 PlayerState : 한 플레이어의 게임 상태정보를 가지고 있다. - 모든 클라이언트가 다른 PlayerState에 접근할 때 사용 - 현재 PlayerState의 주인이 아니면 데이터 갱신 불가 - PlayerController의 단점을 극복할 수 있다. 어디서나 접근 가능하니까 Pawn : 플레이어를 대신할 액터(액터,폰,개릭터) - 서버측에서는 모든 Pawn에 접근할 수 있다. |
GameMode의 개념 및 한계 GameMode(서버로직)에서 클라이언트 로직 실행 -게임룰 위주의 서버로직 -OnPostLogin 이벤트(PlayerController 접근 가능) -GameModo(서버로직)에서 클라이언트 로직 실행 -맵이 로드될 때 맵에 등록된 GameMode 실행 게임 메뉴맵 - 로비 맵 - 게임맵 / 맵들이 로드될때마다 각각의 GameMode가 실행된다. 배포 : 1. 프로그램 작성 완료 2. 서버로 실행[프로그램 이름^맵이름?리슨 -게임], 클라이언트 실행(프로그램 이름^아이피주소 -게임) 3. 클라이언트가 자동으로 서버를 찾아서 연결(LAN, Internet) 4. 세션(Session) : 서버 등록, 게임 찾기, 게임 연결, 게임 해제 |
ServerTravel시 맵간 데이터 유지 SaveGame을 이용하여 다시 사용할 데이터를 파일에 저장 다음 레벨에서 사용할 데이터를 파일에서 읽어 온다. SaveGame 생성,변수선언 Create SaveGame Object, SaveGameToSlot, Does ExistSaveGame, Load SavaGameFromSlot |
Function 리플리케이션 시 발생하는 오작동 문제 (0) | 2019.02.25 |
---|
1. UE4.10 How To Make HTTP GET Request in C++ 구글에 친다.
<참고자료 1>
1. <참고자료 1>를 참고하여 <참고자료2>와 같이 세팅한다.
<참고자료 2>
<참고자료 3 - Get방식 & Post 방식>
게임 기능 요구사항 - 로그인(jQuery, CSS, Codeigniter, MVC) - 로그인에 성공하면 화면이 벽돌꺠기 게임화면으로 전환 - 로그인을 거치지 않은 이용자가 벽돌꺠기 게임 페이지에 접속하면 로그인 폼으로 강제로 이동 게임 규칙 - 벽돌을 제거할 때마다 1점씩 점수가 가산되어 화면에 표시 - 5초가 경과할 때까지 새로운 점수를 얻지 못하면 1점씩 감산 - 볼을 레벨 하단으로 놓치면 2점 감산 - 혐재 점수는 화면 좌상단 모서리에 표시 - 모든 벽돌이 제거 되면 다음과 같은 정보가 비동기 통신을 통해 서버측 DB에 저장 - 한 라운드가 종료하면 게임은 원래 상태로 리셋, 점수는 다시 0부터 시작 - 리셋된 게임은 동일한 방법으로 다시 실행 |
1. Controller
<Login Controller>
<Game Controller>
2. Model
<Login Model>
<Game Model>
3.View
<Game.html>
<login_form>
<game_list>
4. 데이터베이스
<game_history 테이블>
<user 테이블>
5. 실행화면 (로그인 실패)
<로그인 첫 화면 & 잘못된 아이디 및 암호 입력>
< 로그인 버튼 클릭 및 로그인 실패>
6. 실행 화면(로그인 성공)
<로그인 페이지 첫 화면 & 올바른 이용자 아이디 및 암호 입력>
<로그인 버튼 클릭시 확인 메세지 & 성공 메세지>
<로그인 성공시 게임페이지로 이동>
7. 실행화면 (게임 실행 후 데이터베이스 확인)
for문 안에 ajax 돌리는방법 (1) | 2019.08.30 |
---|