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=='@'?'$':'@';
}
}
효과 도이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.