美文网首页c++/c项目程序员我爱编程
程序员大神,C语言编程制作不一样的五子棋小游戏

程序员大神,C语言编程制作不一样的五子棋小游戏

作者: 小辰带你看世界 | 来源:发表于2018-02-14 13:00 被阅读50次

    C语言是面向过程的,而C++是面向对象的。C和C++的区别:

    C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

    C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

    C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

    学习C语言的人很多,但是用C语言很少,而用来为自己所用,来做游戏的人就更少了,很多人都是跟着学校学习,学校讲到哪就坐到哪,但是以后却还是不会做项目。今天我就来写一段,如何用C语言来写一个五子棋游戏。(PS:代码有点长,所以前面的字体以及框架怎么写,我就不写下来了,主要是写游戏操作设置以及游戏界面。)

    小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    C语言制作简单的五子棋小游戏代码如下:

    #include //图形库

    #include //C语言std头文件

    #include //kbhit()//按键响应

    #include

    #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"此局白棋胜出");

    小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    }

    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++也可以,但是学习C语言把基础打好对以后学习其他编程语言都是会有帮助的)

    今天就先来讲讲从基础到进阶,C语言基础该怎么学习

    ——初级阶段,对于完全不懂的小白来说,首先需要了解计算机的组成原理(当然在如今这个时代,一般的都是知道的)然后开始学习理论,编程的启蒙思维(当然这前两个都是了解下就差不多了,不用太着重去学习)然后就需要开始学习内容了——首先先学习一些基本的数据类型,然后还有运算符,顺序结构,分支结构,循环结构,当你已经能运用这些基础的知识内容写一个小程序,恭喜你,你开始入门了,但是仅仅只是个开始。。。

    ——现在进入中级阶段,学习的内容会比较多,需要学习数组,函数,指针(指针方面包含很多内容,这方面需要着重的学习,对后续的学习方面帮助会很大),预处理指令,结构体与公用体,枚举,位运算,联合。。这些是中级阶段的学习内容,虽然打出来显得很少,但是接触的内容会很多,大家要多多着重学习

    ——最后就是进入高级学习阶段了,学习的分类比较少,但是每个分类里面包含的内容确实最难的,千万不要因为文字打出来这么简单就懈怠咯。。高级部分包含的内容主要就是数据结构,动态储存管理,高级图形编程,Socket通信编程,其中数据结构包含了数据结构--线性表,数据结构--栈和队列,数据结构--串,数据结构--常用算法,这些内容对你们以后往C++方面或者是嵌入式方面发展都有着不可小觑的作用

    相关文章

      网友评论

        本文标题:程序员大神,C语言编程制作不一样的五子棋小游戏

        本文链接:https://www.haomeiwen.com/subject/iyretftx.html