bim中級結構工程師收入中級結構bim工程師理論答案
C語言制作簡單的五子棋游戲
學習C語言的人很多,但是用C語言很少,而用來為自己所用,來做游戲的人就更少了,很多人都是跟著學校學習,學校講到哪就坐到哪,但是以后卻還是不會做項目。今天我就來寫一段,如何用C語言來寫一個五子棋游戲。(PS:代碼有點長,所以前面的字體以及框架怎么寫,我就不寫下來了,主要是寫游戲操作設置以及游戲界面。)
代碼如下:
#include <graphics.h>//圖形庫
#include <stdio.h>//C語言std頭文件
#include <conio.h>//kbhit()//按鍵響應
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
//玩游戲
void PlayGame()
{
//鼠標操作
int chess[N][N] = { 0 };//標志沒有棋子的標志
while (true)
{
//矯正鼠標坐標
int x, y,i,j;
MOUSEMSG m;
m = GetMouseMsg();
switch (m.uMsg)
{
case WM_LBUTTONDOWN:
//鼠標左鍵按下畫器
if (m.x >= 10 && m.x <= 530 && m.y >= 10 && m.y <= 530)
{
x = m.x % 20;
if (x <= 10)
m.x = m.x - x;
else
m.x = m.x - x + 20;
y = m.y % 20;
if (y <= 10)
m.y = m.y - y;
else
m.y = m.y - y + 20;
i = m.x / 20;
j = m.y / 20;
if (chess[i][j] != 0)
continue;
setlinecolor(BLACK);
setfillcolor(BLACK);
fillcircle(m.x + 10, m.y - 10, 8);
chess[i][j] = 1; //有黑棋1
if (GameOver1(chess, 1) == 1)
{
settextcolor(RED);
settextstyle(50, 50, L"銳字云字庫行楷體1.0");
outtextxy(200, 200, L"此局黑棋勝出");
}
break;
}
case WM_RBUTTONDOWN:
if (m.x >= 10 && m.x <= 530 && m.y >= 10 && m.y <= 530)
{
x = m.x % 20;
if (x <= 10)
m.x = m.x - x;
else
m.x = m.x - x + 20;
y = m.y % 20;
if (y <= 10)
m.y = m.y - y;
else
m.y = m.y - y + 20;
i = m.x / 20;
j = m.y / 20;
if (chess[i][j] != 0)
continue;
setlinecolor(WHITE);
setfillcolor(WHITE);
fillcircle(m.x + 10, m.y - 10, 8);
chess[i][j] = 2;
if (GameOver1(chess, 2) == 1)
{
settextcolor(WHITE);
settextstyle(50, 50, L"銳字云字庫行楷體1.0");
outtextxy(200, 200, L"此局白棋勝出");
}
break;
}
}
}
}
//游戲界面
void GameBackground()
{
IMAGE GameBackgroundImage;
loadimage(&GameBackgroundImage, L"GameBackground.jpg");
int width = GameBackgroundImage.getwidth();
int height = GameBackgroundImage.getheight();
initgraph(width, height);
putimage(0, 0, &GameBackgroundImage);
//畫棋盤
setlinecolor(BLACK);
for (int i = 10; i <= 530; i += 20)
{
//x,y x1 ,y1
line(10, i, 530, i);
line(i, 10, i, 530);
}
//調整棋盤
//調整邊框---加粗
setlinestyle(PS_SOLID, 4);
line(10, 10, 10, 530); //上邊加粗
line(10, 530, 530, 530);//下邊加粗
line(10, 10, 530, 10);//左邊
line(530, 10, 530, 530);//右邊
//畫點 圓心坐標 +半徑
//中間
fillcircle(270, 270, 2);
//左上270-9*20
fillcircle(90, 270, 2);
fillcircle(270, 90, 2);
//右下角 270+9*20
fillcircle(450, 90, 2);
fillcircle(90, 450, 2);
fillcircle(450, 450, 2);
fillcircle(90, 90, 2);
fillcircle(450, 270, 2);
fillcircle(270, 450, 2);
//提示框
messageBox();
PlayGame();
}
int main()
{
GameBegin();
GameBackground();
closegraph();
return 0;
}
代碼就是這么多,但是不要直接就復制粘貼咯,因為這串代碼是沒有前面些窗口的代碼的,這個需要你們自己去寫,代碼只能給你們一些學習的思路,希望你們能學到些東西。
想成為一個合格的C/C++程序員,需要學習哪些內容
首先,學習C/C++肯定要學習C語言(當然,不學習C語言直接學習C++也可以,但是學習C語言把基礎打好對以后學習其他編程語言都是會有幫助的)
今天就先來講講從基礎到進階,C語言基礎該怎么學習
——初級階段,對于完全不懂的小白來說,首先需要了解計算機的組成原理(當然在如今這個時代,一般的都是知道的)然后開始學習理論,編程的啟蒙思維(當然這前兩個都是了解下就差不多了,不用太著重去學習)然后就需要開始學習內容了——首先先學習一些基本的數據類型,然后還有運算符,順序結構,分支結構,循環結構,當你已經能運用這些基礎的知識內容寫一個小程序,恭喜你,你開始入門了,但是僅僅只是個開始。。。
——現在進入中級階段,學習的內容會比較多,需要學習數組,函數,指針(指針方面包含很多內容,這方面需要著重的學習,對后續的學習方面幫助會很大),預處理指令,結構體與公用體,枚舉,位運算,聯合。。這些是中級階段的學習內容,雖然打出來顯得很少,但是接觸的內容會很多,大家要多多著重學習(加群:594089997,學習C/C++)
——最后就是進入高級學習階段了,學習的分類比較少,但是每個分類里面包含的內容確實最難的,千萬不要因為文字打出來這么簡單就懈怠咯。。高級部分包含的內容主要就是數據結構,動態儲存管理,高級圖形編程,Socket通信編程,其中數據結構包含了數據結構--線性表,數據結構--棧和隊列,數據結構--串,數據結構--常用算法,這些內容對你們以后往C++方面或者是嵌入式方面發展都有著不可小覷的作用
關注微信公眾號:編程語言
如果對這方面感興趣或者在學習C/C++的過程中有什么問題的話,可以加群:594089997,群內有大量C/C++資料,也會有人解答問題,大家一起學習,一起交流。希望每位學習C/C++的人都能學有所成。
有更多(C/C++語言,linux,JAVA語言)高手幫助你解決難題,一起互動,提高大家的編程水平
免責聲明: 本站提供的任何內容版權均屬于相關版權人和權利人,如有侵犯你的版權。 請來信指出,我們將于第一時間刪除! 所有資源均由免費公共網絡整理而來,僅供學習和研究使用。請勿公開發表或 用于商業用途和盈利用途。
本文鏈接:http://m.w-link.com.cn/bim/25235.html
發表評論