精华内容
下载资源
问答
  • 因为有了图形化的基础,接触代码变得难度了很多,所有的概念逻辑都已经在图形化编程工具中使用过,现在只是学习编程语言的语法,并将原来的积木块替换成真正的编程语言。尤其在孩子的数学与英语知识有了一定累积后...

    当孩子们图形化的编程工具使用熟练以后,编程中的概念也逐步理解消化,那么可以尝试慢慢脱离图形化工具,接触真正的编程语言,也就是常说的代码。因为有了图形化的基础,接触代码变得难度小了很多,所有的概念逻辑都已经在图形化编程工具中使用过,现在只是学习编程语言的语法,并将原来的积木块替换成真正的编程语言。

    5e688c4af0959437afcbd9ef8e324351.png

    尤其在孩子的数学与英语知识有了一定累积后,逻辑思维开始慢慢体现,这个时候引入代码编程课程可以很好地锻炼孩子的逻辑思维能力。对于青少年编程学习来讲,结合扎实的算法实践和简单的游戏演练,能够更好地开发孩子们的抽象逻辑思维和创造能力,提升数学、逻辑和创新的综合能力。

    C语言

    C语言是一门面向过程的计算机编程语言,设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    e25d2e227635741a1096570fe0f13a43.png

    C++

    目前我们所接触到的网络游戏大部分都是以C++为基础开发出来的,并且在计算机中较为常见的操作系统内核都是使用C语言进行编写的,如Windows/Linux等,以C语言为基础进行持续优化的C++语言,相比于C语言,其在应用期间具有明显的优势,它能够对程序语言的运行状态进行有效的优化,而且C++使得C语言的完善性得到了进一步的提升,特别是它的稳健性以及简洁性,受到了程序员的青睐,所以其在程序编写方面的应用较为广泛。除此之外,C++具有较强的绘图能力和数据处理能力,移植的灵活性也相对较强,所以被普遍应用于图形处理﹑系统软件﹑游戏以及手机等方面,而人们熟知的俄罗斯方块就是C++语言的典型应用。

    2d6ac981258fad555ea15dfec43f9b55.png

    Python

    近几年来,Python语言上升势头比较迅速,其主要原因在于大数据和人工智能领域的发展,随着产业互联网的推进,Python语言未来的发展空间将进一步得到扩大。Python是一种高层次的脚本语言,目前应用于Web和Internet开发、科学计算和统计、教育、软件开发和后端开发等领域,且有着简单易学、运行速度快、可移植、可扩展、可嵌入等优点。

    5249be96960c6fd9192f0406992209f7.png

    编程语言其实都是相通的,掌握了一种语言以后,学习其它的编程语言也会轻松很多。

    展开全文
  • 很多初学的萌新,第一反应很有可能是:直接调用就完事了!这样说也没错,因为C++本来就包含了C。比如在C文件中存在一个函数func_c(), 该文件与C++的工程混编在一起时,可以直接在C++中调用C文件中的func_c();不...

    很多初学的小萌新,第一反应很有可能是:直接调用就完事了!这样说也没错,因为C++本来就包含了C。比如在C文件中存在一个函数func_c(), 该文件与C++的工程混编在一起时,可以直接在C++中调用C文件中的func_c();不需要做任何额外处理。

    745ea14f4c65d013289ca58c147ec645.png

    不过在C中,不可以调用C++的接口,也不能直接调用C语言的一些API,否则编译会出错。这个时候呢,就需要我们今天的主角:extern "C"了!

    为什么要是用 extern "C"

    在进行C++开发的时候,由于C、C++编译规则是不同的。C++编译函数方法是使用mangle的技术

    88c875d0123e3f673ab1719591b5ed27.png

    而在C语言中是没有这个技术的,所以如果我们想要调用C语言开发的一些API,就需要使用 extern "C"修饰C语言的函数声明。

    extern "C"用法

    (1)直接在函数前面加上 extern "C" 关键字

    extern "C" void fun() {

    printf("test");

    }

    (2)如果有函数声明与函数实现,要让函数声明被 extern "C" 修饰,函数实现可以不修饰

    extern "C" void func();

    void func() {

    cout << "func()" << endl;

    }

    (3)如果有多个函数要被extern "C" 修饰,可以直接用{}包裹

    extern "C" {

    void func();

    void func1();

    }

    void func() {

    cout << "func()" << endl;

    }

    void func1() {

    cout << "func1()" << endl;

    }

    自定义C语言函数库

    但是我们每次使用C语言的API都用这个extern "C"修饰那是不是太麻烦了,那我们学会了怎么去使用extern "C",我们可以在编写C语言API库的时候,直接使用这个来修饰,那么C++再去调用的时候就不用这么麻烦了,直接使用这个函数就可以了。

    2215035c669419096112eec860db65cc.png

    但是这么定义的话就会产生另一个问题,那么就是无法在C语言文件中调用这个库

    因为在C语言中是没有extern "C"这个关键字的。调用这个库,就是直接把这个库的文件代码拷贝过来。例如:

    03edd2581626f5ce4694632092fc3aac.png

    那么我们就需要在定义这个sum库的时候加上一些约束规则,让他在被C++调用的时候加上 extern "C" 关键字,在被C语言调用的时候去掉这个关键字。

    c7c60f4b631657205bfb1a4c4ceef266.png

    __cplusplus这个宏是C++中特有的。它在加载C++文件的时候会提前定义这个宏,所以我们只要判断文件中是否有这个宏,有的话就是C++在调用,没有的话就是C语言,这样就可以很好地解决了这个混合调用的问题。

    希望对你有帮助!


    自学C/C++编程难度很大,不妨和一些志同道合的小伙伴一起学习成长!

    C语言C++编程学习交流QQ群,【1121833361】有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!

    展开全文
  • Easy X是很多和我一样的新手在学习的时候用到的一个绘图工具,毕竟都不想天天对着一个黑漆漆的控制台,有需要的小伙伴可以关注笔者,进群领取哦~同样这个扫雷的小游戏是很多和我一样新手学习中所制作的一个小项目,...

    咱们先和大家说好,本次C语言开发的扫雷游戏是通过Easy X实现的,但是很多和我一样的新手,一开始不知道Easy X是什么,到时源码拿过去写之后,运行报错。Easy X是很多和我一样的新手在学习的时候用到的一个绘图工具,毕竟都不想天天对着一个黑漆漆的控制台,有需要的小伙伴可以关注笔者,进群领取哦~

    同样这个扫雷的小游戏是很多和我一样新手学习中所制作的一个小项目,仅当练手。厉害的大佬肯定有用win32或者QT实现的,但是小萌新现在还不会这么高端,仅限新手!

    在分享源码之前,我先来给大家展示一下咱们这个项目完成之后是什么样的一个效果:

    ec9fd1f0bbb78e633592cfba02f4acc0.png

    扫雷游戏效果图

    接下来,就正式给大家分享这个项目的源码,每一处都会有较为详细的注释,就不给大家一一说明了,直接上源码了!

    项目头文件以及参数设置:

    844edef6640660f02c16f6ce1e25e829.png


    编写函数初始化游戏:①随机生成的个数:

    e5bf064e656d7d257ad96bf0e38724b1.png

    ②遍历数组,进行判断:

    898f264ee4e7ddce5948999201b59f85.png

    ③加密格子,设置图片:

    4fc74cd0d55f61fa06c9471b911c2d15.png

    二、绘制游戏界面

    fd22407bc61c336fa9c8052bf2ae8625.png

    三、处理鼠标消息

    9865184ec312a562d649b666a46a1002.png

    四、遍历打开空白格:

    2ec0a416eec8b4727578aad6de33508e.png

    五、游戏判定:

    42daf72dd5a32581cc0e94d72adb5c64.png

    六、主函数:

    bb673a283dc9497e73c8afda52ffd910.png

    希望本篇源码文章对你有帮助,另外本项目需要图形库插件和图片素材哦!大家做之前可以先去准备好这些东西,图片可以百度,当然可以找笔者直接领取的!

    学习C/C++编程知识,想要成为一个更加优秀的程序员,或者你学习C/C++的时候有难度,可以关注+私信小编【C/C++编程】笔者的C语言C++零基础编程学习圈,里面不仅有学习视频和文件源码,还有更多志同道合的朋友,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!

    cfb0c2a67168aa046799c8f1eaefc647.png
    展开全文
  • 接上文《C/C++编程笔记:C语言贪吃蛇源代码控制台(一),会动的那种哦!》如果你在学习C语言开发贪吃蛇的话,零基础建议从上一篇开始哦!接下来正式开始吧!三、蛇的运动上次我已经教大家画出蛇了,现在我就教大家...

    bb8b3d0e31c86b0cf9aaad61e93bdc7d.png

    接上文《C/C++编程笔记:C语言贪吃蛇源代码控制台(一),会动的那种哦!》如果你在学习C语言开发贪吃蛇的话,零基础建议从上一篇开始哦!接下来正式开始吧!

    三、蛇的运动

    上次我已经教大家画出蛇了,现在我就教大家让蛇动起来。为了让大家更好理解,蛇的移动就用最简单的办法,这里就不用链表,顺序队列什么的了。蛇的移动就是头往前移动,然后后面的身体移动到前一节身体原来的位置上。就像这样:

    a39c27c13ec16cfad56b925fd6f7164d.png


    那蛇头怎么办呢?

    为了确定蛇头的位置,我们定义一个变量原来存储蛇现在的方向。

    intdirection; //蛇的方向

    我们可以通过direction的值来标记现在蛇的方向。比如0代表上,1代表下。。。

    为了方便,我们定义一些常量

    //定义direction的每个值代表的方向

    #defineUP 0

    #defineDOWN 1

    #defineLEFT 2

    #defineRIGHT 3

    这样,我们就可以这样写:

    6e0699d0ece1936d843d3bd91d85e0a6.png


    写好的move函数如下

    8a0381d350c05fb1d46efa5e5f4fbdbd.png


    然后move写好了,我们还要写个循环,这样就可以让蛇一直动了。地图画完一次并且画了蛇之后,我们要把光标移动到起始位置。最简单的办法是每一次画地图的时候都把关标移动到(0,0)。

    修改drawMap函数为下面这样。在开头加一个设置位置的语句。

    594b80df3146cc4c61027c0bcf794f31.png


    然后建立一个循环,不断地画蛇,移动。

    988fb5f04c7c165dc4b5d9574439ad86.png


    然后观察一下,蛇确实走了,但是蛇的痕迹还在。

    bda67f0fb3a104ca9d9c30b564747f5b.png


    这样我们可以在蛇移动函数里面,擦去上一次的尾巴。

    修改过后的move函数如下

    583ca74fe60068cadb917e715bdc338d.png


    运行一下,蛇动起来了。

    e3629b3579c7c7097b120da53045dee7.png


    然后试试修改下方向。在init函数最后写一个

    43342741f942cba7b5da88fab62d94de.png


    好,感觉很正常。

    现在我们可以通过给direction变量赋值来改变蛇的前进方向了。

    接下来,我们试试用键盘控制它。

    写一个新函数key,用来处理键盘输入。

    我们的输入不能在屏幕上有痕迹,并且不能输入一个按键就回车一下。。。所以我们用getch函数。

    加conio.h头文件。然后getch会暂停程序等待输入,而蛇只在转弯的时候需要输入。所以我们就需要一个判断有没有输入的函数

    21ee752576619f864184b5912ad0ba8d.png


    然后通过输入的字符是w还是a还是s或者d来控制蛇的方向。

    da28ea83a5f2c2d4c1318b3e790fc33e.png


    好了,现在我们就能通过wasd这四个按键控制蛇到处走了。(进入游戏先切换为英文输入法

    a64a4119a6f09d5c220c0e60017406a9.png


    下面附这一步的完整代码。

    13da5dbedc671efa775c092ff3484758.png

    96c22db5becf7f654e6ccf41d1f1c9a9.png

    54b3fbccb074c8129e424f7ae28fcee0.png

    6bd702213a451e9342ea50c7dc8b8182.png

    好了,现在食物能正常投放了

    接下来我们就来实现一下蛇吃到食物的变长功能吧。

    首先设置一个变量标记蛇是否吃到食物

    bool eated=false; //标记是否吃到食物

    然后在main里面的判断吃到食物时,使eated变为true

    3aadbd90341516adcea420a1fffb2045.png

    然后在move函数里面加下面的代码

    4046425a4f6257254bb45709529725c7.png


    这样在下面的坐标移动环节,就不会舍弃掉上一次的尾巴节点。蛇就变长了。

    来看看效果:

    9f317b44edc40e303a0f65540b1ddc92.png


    蛇可以变长了。不过有时候玩着玩着有事,又舍不得玩了这么长的蛇,要是有个暂停功能就好了。接下来我们就来顺便实现下。

    在key函数里面的switch里面加一个case

    954936b8a1b50199fbb5209312d1d467.png

    这样就可以实现按p键暂停了。(记得玩的时候切换为英文输入法呀)

    d66f3c442cbb4de81f6a84c9faf3d9cc.png


    来看看到现在为止的代码:

    a7db86a4c09611b92b915a7ac72a0b1b.png

    530a6d33b90275c5a26cb56c9b7f9744.png

    49a4a6b0f3933d5b9a375ac4bab72845.png

    eb5139327a8240d2dfb288efc31ddedb.png

    f9df6bc296a03f9bc81e55d8eed40e86.png

    6f45421ecc4d349040724525696a84c2.png

    2ec3c53e02fd8987a05113f06050ea41.png

    后续更新:

    现在就来实现一下game over的功能吧。

    写个函数判断蛇是否撞到自己或者撞到墙:

    c8dcc71baafb7410a2097f1d161c137c.png


    然后在main里面加这个实现gameOver

    dcb2243342b9b80618fc3c3dc67e7166.png

    da1bd0bfb60807caa07a96195d8d4842.png


    主函数

    接下来,我们来显示一下成绩。

    声明一个变量来记录分数

    intscore=0;//得分

    然后当吃到食物时分数增加(main里面)

    0490b42769c2877175c90303de735a4f.png

    然后写一个printScore函数来写分数

    3ccff0f52979566b8399523d623ad19c.png

    记得在main里面调用啊。看看效果:

    74e45176ab19a43c2dce9447ecce43a6.png

    以上就是本期分享的全部内容,希望对大家有帮助哦!

    学习C/C++编程知识,或者你学习C/C++的时候有难度,可以来笔者的C语言C++零基础编程学习圈。里面不仅有学习视频和文件源码,还有更多志同道合的朋友,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!

    微信公众号:C语言编程学习基地,欢迎关注~

    另外,学习C/C++编程知识,提升自己C/C++编程能力,欢迎关注笔者学习专栏:

    C/C++学习笔记zhuanlan.zhihu.com
    5b8c40cfc0042ab0e0181a3ae78e8977.png
    展开全文
  • 大二上学期学习C++基础知识和MFC开发;大二下学期学习JAVA;大三上学期学习80x86汇编。这就是大学四年所学的编程课程,按部就班地跟着课程学习,我不是一个天分很高的人,但却是一个很努力的人。如果遇到不懂的知识...
  • c++小游戏编程代码

    2009-12-06 10:06:02
    代码设计了关于3个小游戏的程序,是用c++作的。
  • 本人是刚进入大1新生,读的专业用到MFC,现在想利用MFC做一些简单的游戏,问题是网上找的很多游戏编程都没详细的流程和代码,现想找个简单游戏代码来练练手。小白一个求指导,这是我的邮箱1198903926@qq.com
  • 大家中午好呀~这里是DMU课堂之外下面是一篇编程教程“2048小游戏C++篇!《编程篇》第一期——“2048小游戏C++篇不知道大家有没有玩过2048这类的小游戏不过小编觉得这简直是童年呀~那么今天我们就来学习一下如何...
  • C++游戏编程代码

    2012-04-03 15:42:16
    有关很多小游戏代码,比如飞机游戏,俄罗斯方块,五子棋等的编码
  • 如何编程游戏(游戏编程入门)游戏代码已经写了好几年了,有时候我想如果我现在给自己一些建议可能会有帮助。因此,这篇日志主要是分享一些关于如何开始游戏编程的想法。这篇文章得到了爱力发电的支持。如果你喜欢我的...
  • 大家中午好呀~这里是DMU课堂之外下面是一篇编程教程“2048小游戏C++篇!《编程篇》第一期——“2048小游戏C++篇不知道大家有没有玩过2048这类的小游戏不过小编觉得这简直是童年呀~那么今天我们就来学习一下如何...
  • 基于Windows编程的打飞机小游戏代码 c++ 学习游戏的最好的起步程序
  • C语言是面向过程的,而C++是面向对象的C和C++的区别:C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)...
  • Python 的功能强大应用广泛,从爬虫到 Web 开发,从科学计算到人工智能,都能见到它的身影。...今天我们就来分享一个非常简单的弹球小游戏。如果你初学 Python 不久,正在为整天对着命令行的白底黑...
  • visual c++专业游戏编程(前三份源代码),上传文件大小有限,先传上前散份
  • 这篇文章主要为大家详细介绍了C语言实现俄罗斯方块小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。1.要先下载一个 graphics.h 的头文件来绘图。2.初始化窗口:initgraph(x, y);这是先创建一个窗口的...
  • 在这里我们要写出一个井子棋的小游戏,能够实现所需要的三字连珠的功能,并且可以使得游戏让玩家进行选择是否继续的功能。本项目为C语言零基础小项目,可供C语言入门者学习。效果图:代码:#define _CRT_SECURE_NO_...
  • 【Visual C++游戏编程学习笔记之八:2D游戏demo 的配套代码,欢迎下载使用。
  • Visual C++精典游戏编程

    2007-12-16 13:37:24
    Visual C++精典游戏编程, 常见的小游戏代码
  • c++ 游戏编程实例

    2019-02-27 08:06:25
    各种小游戏编程代码实例集锦 其中包括:五子棋 拼图,飞机等各种小游戏的代码还有可运行的编译程序.
  • C++6游戏编程入门.rar

    2011-03-05 23:06:26
    C++6游戏编程入门中包含各种小游戏c++程序代码,是个很好的资源,不容错过。
  • C++对抗游戏编程实现

    2018-07-19 00:16:23
    完成的一个小游戏,可以作为西加加的入门,可以实现两个对象的对抗,电脑上运行,很有趣味性,代码亲测可用。
  • 在这里我们要写出一个井子棋的小游戏,能够实现所需要的三字连珠的功能,并且可以使得游戏让玩家进行选择是否继续的功能。本项目为C语言零基础小项目,可供C语言入门者学习。效果图:代码:#define _CRT_SECURE_NO_...
  • C++编程贪吃蛇小游戏

    2020-10-16 09:56:23
    自学C++过程中随便写了下这个贪吃蛇游戏,基于C++类方面的知识,在visual studio平台上稳定运行。因为后续学习任务所以没有时间去完善了,代码本身也有很多可拓展的地方或者需要修改的地方。大家有问题和建议可以...
  • C++游戏编程

    2014-04-18 23:13:20
    windows下经典小游戏代码。扫雷,贪吃蛇,推箱子,俄罗斯方块,连连看

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 576
精华内容 230
关键字:

c++小游戏编程代码

c++ 订阅