C言語は簡単な三目並べを実現します。
本論文の例では、C言語で簡単な三目並べゲームを実現するための具体的なコードを共有しています。
一、主要思想
1、3*3のボードを作成します。(文字配列を使用します。)
2、ボードを初期化する(スペースで塗りつぶす)
3、ボードを印刷します。表示される枠があるようにします。
4、プレイヤーは落子して、xで表します。(境界を越えて、もう落子したかどうかを確認して、勝ちますか?)
5、パソコンが落ちたら、oで表示する(もう子供が落ちたかどうかを確認して、勝ちますか?) 注:コンピュータは有効範囲内でランダムに落下し、現在のタイムスタンプを使ってランダムなシードであるsrand(time(0)を設定します。
6、3つの状況:プレイヤーが勝ち、コンピュータが勝ち、将棋が引き分けとなります。
二、コード実現
大体のフレームはこのようにして、systemクリーンスクリーンなどの最適化もできます。
もっと面白い経典ミニゲームはテーマを実現して、みんなに共有します。
C++クラシックミニゲームまとめ
pythonクラシックミニゲームまとめ
pythonテトリスゲーム集合
JavaScript経典ゲームは遊んで止まらないです。
java経典の小さいゲームのまとめ
javascript経典ミニゲームのまとめ
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
一、主要思想
1、3*3のボードを作成します。(文字配列を使用します。)
2、ボードを初期化する(スペースで塗りつぶす)
3、ボードを印刷します。表示される枠があるようにします。
4、プレイヤーは落子して、xで表します。(境界を越えて、もう落子したかどうかを確認して、勝ちますか?)
5、パソコンが落ちたら、oで表示する(もう子供が落ちたかどうかを確認して、勝ちますか?) 注:コンピュータは有効範囲内でランダムに落下し、現在のタイムスタンプを使ってランダムなシードであるsrand(time(0)を設定します。
6、3つの状況:プレイヤーが勝ち、コンピュータが勝ち、将棋が引き分けとなります。
二、コード実現
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// , 3
#define MAX_ROW 3
#define MAX_COL 3
// , ,
//
// , ,
// , 'x',
char playermove(char chessboard[MAX_ROW][MAX_COL])
{
int row = 0;
int col = 0;
while (1){
printf(" :(row col)");
scanf("%d %d", &row, &col);
//
//
if (row < 0 || row >= MAX_ROW || col<0 || col>=MAX_COL){
printf(" !!
");
continue;
}else if (chessboard[row][col]!=' '){
printf(" !!
");
continue;
}else{
chessboard[row][col] = 'x';
return chessboard[row][col];
}
}
}
//
// ( , )
// , 'o', ,
void computermove(char chessboard[MAX_ROW][MAX_COL])
{
while (1){
int row = rand() % MAX_ROW; // 0~2
int col = rand() % MAX_COL; // 0~2
//
if (chessboard[row][col] != ' '){
continue;
}
chessboard[row][col] = 'o';
break;
}
}
// ,
// , , ( ' ')
// 1, 0
char isFull(char chessboard[MAX_ROW][MAX_COL])
{
for (int row = 0; row < MAX_ROW; row++){
for (int col = 0; col < MAX_COL; col++){
//
if (chessboard[row][col] == ' '){
return 0;
}
}
}
// ,
return 1;
}
//
//'x'
//'o'
//' '
//'h'
char isWin(char chessboard[MAX_ROW][MAX_COL])
{
//
// : ,
for (int row = 0; row < MAX_ROW; row++){
if (chessboard[row][0]!=' '
&&(chessboard[row][0] ==chessboard[row][1])
&&(chessboard[row][0]== chessboard[row][2])){
return chessboard[row][0];
}
}
//
for (int col = 0; col < MAX_COL; col++){
if (chessboard[0][col]!=' '
&&(chessboard[0][col] == chessboard[1][col])
&&(chessboard[0][col] == chessboard[2][col])){
return chessboard[0][col];
}
}
//
if (chessboard[0][0] != ' '
&& (chessboard[0][0] == chessboard[1][1])
&& (chessboard[0][0] == chessboard[2][2])){
return chessboard[0][0];
}
if (chessboard[0][2] != ' '
&&(chessboard[0][2] == chessboard[1][1])
&&(chessboard[0][2] == chessboard[2][0])){
return chessboard[0][2];
}
//
if (isFull(chessboard)){
return 'h';
}
return ' ';
}
// , ' '
void init(char chessboard[MAX_ROW][MAX_COL])
{
for (int row = 0; row < MAX_ROW; row++){
for (int col = 0; col < MAX_COL; col++){
chessboard[row][col] = ' ';
}
}
}
//
void printchessboard(char chessboard[MAX_ROW][MAX_COL])
{
printf("+---+---+---+
");
for (int row = 0; row < MAX_ROW; row++){
printf("| %c | %c | %c |
", chessboard[row][0], chessboard[row][1], chessboard[row][2]);
printf("+---+---+---+
");
}
}
//
void game()
{
char chessboard[MAX_ROW][MAX_COL] = {0};
init(chessboard);//
char winner = ' ';
while (1){
printchessboard(chessboard);//
playermove(chessboard);//
// ,
winner = isWin(chessboard);
if (winner != ' '){
break;
}
computermove(chessboard);//
winner = isWin(chessboard);
if (winner != ' '){
break;
}
}
if (winner == 'x'){
printchessboard(chessboard);
printf(" !
");
}else if (winner == 'o'){
printchessboard(chessboard);
printf(" !
");
}else if (winner == 'h'){
printchessboard(chessboard);
printf(" ! ~
");
}
}
//
int menue(int choice)
{
printf("************************
");
printf("1.
");
printf("0.
");
printf("************************
");
printf(" :");
scanf("%d", &choice);
return choice;
}
//
int main()
{
srand(time(0));
int choice = 0;
while (1){
choice=menue(choice);
if (choice == 1){
game();
}else if (choice == 0){
break;
}else{
printf(" ,
");
continue;
}
}
system("pause");
return 0;
}
三、運転結果大体のフレームはこのようにして、systemクリーンスクリーンなどの最適化もできます。
もっと面白い経典ミニゲームはテーマを実現して、みんなに共有します。
C++クラシックミニゲームまとめ
pythonクラシックミニゲームまとめ
pythonテトリスゲーム集合
JavaScript経典ゲームは遊んで止まらないです。
java経典の小さいゲームのまとめ
javascript経典ミニゲームのまとめ
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。