C語言三字棋遊戲先簡單介紹一下三子棋的規則,方便我們接下來的程式設計和理解。規則如下: 在九宮格棋盤上,只要將自己的三個棋子走成一條線(橫、豎、對角線),對方就算輸了。
由於可能出現棋盤下滿,卻沒人獲勝的情況,所以我們需要在其中判斷一下平局的情況,我們就寫個IsFull函式來判斷棋盤是否下滿。//判斷輸贏 char IsWin(char arr[ROW][COL], int row, int col) { int i; for (i = 0; i < row; i++) { if (arr[i][0] == arr[i][1] && arr[i][1] == arr[i][2] )//判斷列是否相同 { if (arr[i][1] == 'X') { printf("你連電腦都打不過好菜!!!\n"); return 1; } if (arr[i][1] == 'O') { printf("恭喜你你贏了!!!\n"); return 1; } } } for (i = 0; i < col; i++) { if (arr[0][i] == arr[1][i] && arr[1][i] ==arr[2][i] )//判斷行是否相同 { if (arr[1][i] == 'X') { printf("你連電腦都打不過好菜!!!\n"); return 1; } if (arr[1][i] == 'O') { printf("恭喜你你贏了!!!\n"); return 1; } } } if (arr[0][0] == arr[1][1] && arr[1][1] == arr[2][2] && arr[1][1])//判斷左斜線是否相同 { if (arr[1][1] == 'X') { printf("你連電腦都打不過好菜!!!\n"); return 1; } if (arr[1][1] == 'O') { printf("恭喜你你贏了!!!\n"); return 1; } } if (arr[2][0] == arr[1][1] && arr[1][1] == arr[0][2] && arr[1][1])//判斷右斜線是否相同 { if (arr[1][1] == 'X') { printf("你連電腦都打不過好菜!!!\n"); return 1; } if (arr[1][1] == 'O') { printf("恭喜你你贏了!!!\n"); return 1; } } else if (IsFull(arr, row, col)) return 0; }
相關推薦
C語言三字棋遊戲先簡單介紹一下三子棋的規則,方便我們接下來的程式設計和理解。規則如下: 在九宮格棋盤上,只要將自己的三個棋子走成一條線(橫、豎、對角線),對方就算輸了。
//判斷輸贏 char IsWin(char arr[ROW][COL], int row, int col) { int i; for (i = 0; i < row; i++) { if (arr[i][0] == arr[i][1] && arr[i][1] == arr
利用SHAPEIT將vcf文件進行基因型(genotype)定相(phasing):查看兩個突變是否來源於同一條鏈(染色體或父本或母本)
soft jar GC maps tst PE mes center mat 首先,下載SHAPEIT. 按照裏面的步驟安裝完後,將vcf文件進行基因型定相,分四步走。 第一步,將vcf文件轉化為plink二進制文件(.bed, .bim, .fam)。 這一步
MySQL語句:獲取最後一條記錄(ID數值最大的) - - Java EE
使用升序排序,將ID數值最大的放到最頂部。並顯示出來。 order by % desc 表示按降序排序 在sql語句的最後加上 limit 0,1 只取第一條記錄 select * from 表名 order by 表中ID欄位名稱 desc limit 0,1;
《c語言從入門到精通》看書筆記——第16章 網路套接字程式設計(上)——網路
(1)TCP協議:傳輸協議(TCP)是一種提供克勞資料傳送的通用協議,他是TCP/IP體系結構中傳輸層上的協議。在傳送資料時,應用層的資料傳輸到傳輸層,傢伙是哪個TCP首部,資料就構成了報文。報文就是網路層IP的資料,如果再加上IP首部,就構成了IP資料報。TCP協議的C語言資料描述如下:
【loj-1055-Going Together-三個棋子推箱子走到目的地--講預判的bfs】
題目 step 是否 3.x 單個 size inf AI fin light oj 1055-Going Together 題目大致意思: 簡單的三個棋子,每次可以下達一個命令,robots全部按照指令進行前進;若下一步不為空地則停留在原地。 特殊考慮:
三字棋遊戲的簡單實現
三字棋遊戲:玩家與電腦對抗,棋盤是3*3的小方格,當任一行或任一列,或者正對角線,或者副對角線棋子個數為三或棋子型別完全一致,則該把棋局就贏了,但是如果棋盤滿了有沒有贏,則為平局。下面我們就開始我們的程式設計: chess.h 標頭檔案(用於函式的宣告) chess.c 原始檔(用於函式的定
C語言實現掃雷遊戲要求第一次不踩雷,能展開一片雷區(望各位大佬斧正)
對於實現掃雷遊戲思路如下: 首先佈置一定大小的掃雷區如9*9 隨機(rand())佈置一定數量的雷 實現掃雷(其中要求第一次踩不到雷,能展開一片無雷區) 其具體操作如下: 建立game.h, game.c, test.c檔案以便整理 在test.c檔案中:
ACMNO.38 C語言-報數 有n人圍成一圈,順序排號。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來的第幾號的那位。
題目描述 有n人圍成一圈,順序排號。 從第1個人開始報數(從1到3報數),凡報到3的人退出圈子。`在這裡插入程式碼片` 問最後留下的是原來的第幾號的那位。 輸入 初始人數n 輸出 最後一人的初始編號 樣例輸入 3 樣例輸出 2 來源/分類
簡單的C語言猜數遊戲
#include<time.h> #include<stdlib.h> void meau() {printf("**************************\n");printf("***1.start 2.end ***\n");printf("*******
1098: C語言程式設計教程(第三版)課後習題10.5---有n人圍成一圈,順序排號。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來的第幾號的那位。
題目描述 有n人圍成一圈,順序排號。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來的第幾號的那位。 輸入 初始人數n 輸出 最後一人的初始編號 樣例輸入 3 樣例輸出 2 提示 來源 思路點撥:定義一個數組,陣列下標表示人的編號,若數組裡面的
C語言一條語句完成結構體定義、變數建立、成員初始化
struct { struct nlmsghdr nlh; struct netlink_diag_req ndr; } req = { .nlh = { .nlmsg_len = sizeof(req), .nlm
實現0.5px的一條線
red -s content absolut width tom -o 前綴 ont .box{ position: relative; } .box::after{ content: ‘‘; position: absolute; width: 200%
鼠標移到某個地方時,從左向右劃出一條線的動畫
spl near webkit forward line for solid linear clas .line { border-bottom: 2px solid #E40012; width:0px; display: inline-bloc
C++入門經典-例6.10-將多維數組轉換成一維數組
ima clas ++ c++ pla stream include ace .com 1:代碼如下: // 6.10.cpp : 定義控制臺應用程序的入口點。 // #include "stdafx.h" #include <iostream> usin
C語言 黃金點遊戲
eof i++ 重復 size strcpy_s ++ == math 打印 今天用C語言把這個寫出來了,雖然c不是很熟,寫的還是蠻簡單,目前還想寫一個判斷輸入數字是否重復,重復就需要重新輸入,由於時間原因,還沒有寫。 代碼: #include<stdio.
如何在Mac上的NTFS格式化驅動器 - 三個簡單的步驟
是什麽 win splay 我們 情況 goods eight tiger 許可 在運行macOS或OS X的Mac和運行Windows的PC之間共享數據可能並不那麽簡單。默認情況下,Mac只能從Windows格式的外部硬盤讀取文件,而不能寫入文件。這可以防止您使用Mac
Qt的paint函數重寫,以及QPaint給一條線繪制箭頭
ons eal mark .net urn div stat class sdn 直接代碼: QPainter *painter; static const double Pi = 3.1415926535897932384626433832795
Kafka:ZK+Kafka+Spark Streaming集群環境搭建(二十五)Structured Streaming:同一個topic中包含一組數據的多個部分,按照key它們拼接為一條記錄(以及遇到的問題)。
eas array 記錄 splay span ack timestamp b- each 需求: 目前kafka的topic上有一批數據,這些數據被分配到9個不同的partition中(就是發布時key:{m1,m2,m3,m4...m9},value:{records
ECharts 多條座標軸軸線,合併為一條線
一、問題 2條y軸,y軸的座標軸軸線axisLine太多,擾人視線,如圖 二、經過 剛開始用分割線(yAxis.splitLine)做出來的這個效果。 後期,改為兩條線合併為一條。 網上找一個沒有關於splitLine的設定,查詢ECharts,發現一
C++從零開始區塊鏈:P2P模組之簡單介紹一下原理
想徹底說明P2P的原理太麻煩了,而且這種東西網上一搜就是一大堆(雖然好多連結其實都是同一篇文章),這裡就不贅述了,只簡單說一下本例所用到的一些東西。 如果所有節點都在公網上,p2p通訊就非常容易,找臺搭橋伺服器,每個節點啟動的時候都向搭橋伺服器註冊自己,並獲取其他節點資訊,然後就可以節點間