[C언어] 구조체를 이용한 세븐포커 프로그램 소스
본 자료는 미만의 자료로 미리보기를 제공하지 않습니다.
닫기
  • 1
해당 자료는 0페이지 까지만 미리보기를 제공합니다.
0페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[C언어] 구조체를 이용한 세븐포커 프로그램 소스에 대한 보고서 자료입니다.

본문내용

//7poker.h파일
#include
#include
#include
#include
#include
#define START_MONEY 1000000 //초기자금 백만
#define UP -1
#define DOWN 15
#define NOT_ORDERED 0
#define CHECK 10
#define HIDDEN 15
#define SELECT_CARD 0
#define BETTING 1
#define P1_FIRST 1
#define P1_TURN 2
#define COM_FIRST 3

struct card{
struct card *next_c; //넥스트 카드
char num; //숫자
char shape; //무늬
char order; //순서
};

struct player{
struct card *next_c; //넥스트 카드
struct player *next_p; //넥스트 플레이어
int money; //플레이어 머니
int bet_money; //베팅한 머니
int score; //플레이어 점수(족보 관련.)
char have; //가진 카드의 숫자.
char player_num; //플레이어 숫자(덱 : 0, A : 1, B : 2, ...)
};
/*플레이어와 카드의 링크드리스트 구축 */
/*플레이어는 넥스트플레이어와 넥스트 카드를 가리키는 포인터를 가진다.*/
/*카드는 다음 카드를 가리키는 포인터를 가진다.*/

char P_N; //플레이어 숫자
char time_point; //시점(게임 함수에서의)
char load_command; //커맨드 로드 시점 알려줌
char selected; //보여줄 카드를 선택했는지 아닌지 명시
struct player *players; //링크드 리스트의 시점

//// 주 함수
void game(void);// 메인 함수

//// 오프닝 함수
void opening(void);
void paint_title(int, int);
void paint_wall(int, int);
void paint_2(int, int);
void paint_3(int, int);
void paint_4(int, int);
void paint_5(int, int);
void paint_6(int, int);
void paint_7(int, int);


//// 플레이어 관련 함수
void setting_players(void);// 플레이어 링크드리스트 구축 및 초기자금 세팅
void cut_player(void);//올인당한 플레이어를 커트.
void all_free(void);//전역변수 players에 연결된 노드들을 free시켜주는 card_free와 player_free 함수 호출
void player_free(struct player *);//players에 연결된 플레이어 노드들을 free시켜줌
void card_free(struct card *);//각 플레이에 연결된 카드의 노드들을 free 시켜줌

//// 카드 관련 함수
void link_card(void);// 카드의 링크드리스트 구축
void change(char, char, char, char);// 카드의 위치를 바꿈
void shuffle(void);// 카드의 위치를 랜덤하게 여러번 바꿈
void draw(char);// 플레이어들에게 카드를 나누어 준다
void paint_card(char, char, char, char, char);// 카드를 그린다
void show(char, char, char, char);// 카드를 그리는 함수 호출
void refresh_card(char);// 카드 순서가 변경될 시 화면에 재 출력
void reset_order(struct card *, char);// 카드의 소팅 번호를 초기화
char order_card(struct player *, char, char, char);// 카드의 소팅 번호를 부여
void sorting(char);// 소팅하는 함수
void paint_star(void);// 메이드 카드에는 ★ 노메이드 카드에는 ☆ 출력
void recall_card(void);//돌린 패들을 덱으로 회수


//// 그래픽 관련 함수
char player_y(char);
char player_x(char);
void paint_player(void);
void paint_money(struct player *);


//// 족보 함수
void check(void);
void rank(char);
char is_stifle(struct player *); // 1. (로얄)스트레이트 플러시
char is_four_card(struct player *); // 2. 포카드
char is_full_house(struct player *);// 3. 풀하우스
char is_flush(struct player *); // 4. 플러시
char is_straight(struct player *); // 5. 스트레이트
char is_triple(struct player *); // 6. 트리플
char is_two_pair(struct player *); // 7. 투페어
char is_one_pair(struct player *); // 8. 원페어
char is_nothing(struct player *); // 9. 노페어


//// 명령어 입력 함수
void input(char);//플레이어의 배팅순으로 커맨드에 입력되는 명령어를 받는다
char command(char, char [], char); //받은 명령어를 구분하여 실행
void minus_money(char, int);//배팅금액을 플레이어에서 판돈으로 넘긴다
void bet_money_setting(void);//그전턴의 배팅액을 0으로 초기화 시킨다
struct player * point(char);//원하는 플레이어의 숫자를 인자값으로 주어서 플레이어주소를 리턴한다
void find_change(char, char, char);//want 명령어에서 입력된 패를 바꿔준다
void clear_command(void);//커맨드 입력시 남는 흔적들을 지운다
char find_one(void);//스코어가 1등인 플레이어의 연결된 링크상의 순서를 리턴
void help(void);//도움말 출력
void load_paint(char);//파일 로드후
  • 가격3,000
  • 페이지수1페이지
  • 등록일2009.09.04
  • 저작시기2008.8
  • 파일형식압축파일(zip)
  • 자료번호#551303
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니