C 언어 로 오목 미니 게임 을 하 겠 습 니 다.

3731 단어 C 언어오목
간단 한 소개
이번 오목 은 커서 를 사용 하여 이동 을 제어 하고 스페이스 바(키 32)를 누 르 면 게임 을 할 수 있 습 니 다.
우리 가 추가 로 사용 하 는 헤더 파일 은:
#include
『8195』는 getch()함 수 를 호출 하여 상하 좌우 와 빈 칸 의 조작 을 식별 합 니 다.
#include
『8195』는 system("clear")을 사용 합 니 다.화면 을 정리 하여 시각 적 인 움직임 효 과 를 실현 하 다.
include
stdbool.h 헤더 파일 이 불 형식 을 시 뮬 레이 션 했 습 니 다.
true false 로 돌아 가기
대체적인 사고 방식.
필요 한 데이터:(전역)
1.바둑판 2 차원 배열 15*15 빈 위치 정의'*'
2.바둑돌 캐릭터 변 수 를 정의 합 니 다.백 기 는'$'검 은 바둑 은'@'입 니 다.
3.변 수 를 정의 하여 바둑 의 위 치 를 기록 하 는 데 사용 합 니 다.
비 즈 니스 논리:(하나의 함수 로 구현)
초기 화 할 지 여부
for( ; ; )
{
화면 정리,바둑판 인쇄
낙자
*8195°8195°좌표 가 합 법 적 이 고 이 위치 에 바둑 알 이 있 으 면 안 됩 니 다.그렇지 않 으 면 계속 떨 어 집 니 다.
5 자 연주 여 부 를 판단 하 다
캐릭터 교환
}
코드

#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#include<getch.h>

//    
char board[15][15];
//  
char role='@';
//    
char key_x=7,key_y=7;
//     
void init_board(void)
{
 for(int i=0;i<15;i++)
 {
  for(int j=0;j<15;j++)
  {
   board[i][j]='*'; 
  }
 }
}
//    
void show_board(void)
{
 system("clear");
 for(int i=0;i<15;i++)
 {
  for(int j=0;j<15;j++)
  {
   printf(" %c",board[i][j]); 
  }
  printf("
"); } } // void get_key(void) { for(;;) { printf("\33[%d;%dH",key_x+1,2*key_y+2);// ,(key_y+1)*2 switch(getch()) { case 183:key_x>0 && key_x--;break; // , case 184:key_x<14 && key_x++;break; // case 185:key_y<14 && key_y++;break; // case 186:key_y>0 && key_y--;break;// case 32: // if('*'==board[key_x][key_y]) // , { board[key_x][key_y]=role; return; } } } } // , int count_board(int go_x,int go_y) { int count=0; for(int x=key_x+go_x,y=key_y+go_y; x>=0 && y>=0 && x<15 && y<15; x+=go_x,y+=go_y) { if(board[x][y]==board[key_x][key_y]) { count++; } else { break; } } return count; } // , bool is_win(void) { if(count_board(0,-1)+count_board(0,1)>=4) { return true; } if(count_board(-1,-0)+count_board(1,0)>=4) { return true; } if(count_board(-1,-1)+count_board(1,1)>=4) { return true; } if(count_board(1,-1)+count_board(-1,1)>=4) { return true; } return false; } int main(int argc,const char* argv[]) { // init_board(); for(int i=0;i<255;i++) { // , show_board(); // get_key(); // if(is_win()) { system("clear"); show_board(); printf(" ,%c
",role); return 0; } // role=role=='@'?'$':'@'; } }
효과 도


이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기