目录游戏规则实现代码游戏规则这是一个单人钻石棋游戏,游戏中有两种颜色的棋子:红色和绿色。每个玩家在游戏进行中轮流选择一个空格,并在该空格上放置自己的棋子。游戏的目的是尽可能地连成一条长的直线,使该直线的颜色与你的棋子颜色相同。如果所有格子都被填满,游戏将结束。最后,显示游戏结束的消息。注意:不能在已经被占用的格子上放置棋子。游戏胜利条件胜利的条件是在棋盘上连 ......
252
0
0
2023-04-03
目录前言寄存器分配寄存器使用约定栈帧结构堆栈操作函数调用流程函数调用常用命令函数调用约定常见调用约定cdecl调用约定stdcall调用约定(微软命名)fastcall调用约定thiscall调用约定naked call调用约定pascal调用约定调用约定影响x86函数传递参数方法整型和指针参数传递浮点参数传递结构体和联合体参数传递x86函数返回值传递方法总 ......
244
0
0
2023-04-02
目录1、利用Qt提供的类实现向服务器发送post和get请求2、实现文件上传1、利用Qt提供的类实现向服务器发送post和get请求#include <QCoreApplication> #include <QNetworkAccessManager> #include <QNetworkRequest> #incl ......
308
0
0
2023-04-01
目录1、概述2、代码示例1.自定义QListWidget2.自定义QListWidgetItem3.使用3、图片演示1、概述案例:使用Qt制作一个ListView。点击ListView的Item可以用于测试OpenCV的各种效果自定义一个:MainListView继承QListWidget 、MainListViewItem继承QListWidgetItem ......
374
0
0
2023-04-01
目录前言一、飞机显示与控制二、发射子弹三、击中敌机四、多台敌机五、发射散弹前言这是飞机游戏的第三版,我们已经实现了基础版和进阶版的飞机游戏 ,但是存在的问题很明显:已经发射出去的子弹会随着飞机位置的实时改变而改变,并且不能实现连发。如果第一次看此文章,可能有部分代码(例如基本游戏框架,清屏功能,键盘控制,数据处理)不了解其功能,建议看看之前写的博客 ......
271
0
0
2023-03-19
目录前言一、代码重构二、新式子弹代替激光三、优化敌方战机四、增加积分模块五、更好的清屏功能前言没有学习函数,以上功能都在main()中实现是有点痛苦的。在学了函数之后会模块化重构相应的游戏,大家经历过上面的痛苦才能真正理解函数的好处。如果只是被动地学习语法知识,做些简单的算法题,是很难体会到函数封装的重要性的。我们前面制作的用c语言实现一个最简单的飞机游戏但 ......
329
0
0
2023-03-18
目录前言一、利用scanf控制飞机移动二、getch控制飞机移动三、显示复杂的飞机图案四、发射激光五、打靶练习前言在前面弹跳小球的基础上实现一个简单的飞机游戏,主要包括飞机的显示、控制移动、显示复杂图案、发射激光、打靶练习等功能。目前的飞机还很简单,大家不要着急,一步一步来,在后面会实现更复杂的飞机游戏效果。比如如何让靶子移动起来?如何统计和显示击中得分?如 ......
285
0
0
2023-03-18
在驱动开发中我们有时需要得到驱动自身是否被加载成功的状态,这个功能看似没啥用实际上在某些特殊场景中还是需要的,如下代码实现了判断当前驱动是否加载成功,如果加载成功, 则输出该驱动的详细路径信息。该功能实现的核心函数是NtQuerySystemInformation这是一个微软未公开的函数,也没有文档化,不过我们仍然可以通过动态指针的方式调用到它,该函数可以查 ......
296
0
0
2023-03-16
目录一、C++11智能指针概述二、C++98中的智能指针三、C++11中的智能指针1.unique_ptr2.shared_ptr3.weak_ptr一、C++11智能指针概述在C++中,动态内存的使用时有一定的风险的,因为它没有垃圾回收机制,很容易导致忘记释放内存的问题,具体体现在异常的处理上。想要释放掉抛异常的程序的一些内存,往往需要多次抛异常,这种处理 ......
373
0
0
2023-03-13
ImGUI 它是与平台无关的C++轻量级跨平台图形界面库,没有任何第三方依赖,可以将ImGUI的源码直接加到项目中使用,该框架通常会配合特定的D3Dx9等图形开发工具包一起使用,ImGUI常用来实现进程内的菜单功能,而有些辅助开发作者也会使用该框架开发菜单页面,总体来说这是一个很不错的绘图库,如下将公开新版ImGUI如何实现绘制外部菜单的功能。ImGUI官方 ......
666
0
0
2023-03-12
1.首先桌面双击打开vs2022进入如下界面:然后根据需要选择对应功能,这里我们是为了创建一个新的.c工程,所以我们选择创建新项目2.点击创建新项目后进入如下界面,我们选择空项目3.然后进入了配置新项目的界面,填写项目信息填写完毕之后点击创建,我们就可以建立一个空的C语言项目了,这里项目名称建议用英文不要用中文,并且遵循驼峰命名法的规则,项目位置最好不要放在 ......
647
0
0
2023-03-12
目录一、文件流二、具体逻辑1.如何循环读入字符2.处理单行和多行注释3.注意字符串4.注意转义双引号5.增加简单的查错功能三、正则实现(Java)结语:问题:读取一个cpp文件,去除其中所有的单行注释(//)和多行注释(/**/),将去除注释后的内容写入一个新文件。注意:不能去除字符串中的任何字符,如 "asdf//gh/**/k" 需要原样输出能够识别转义 ......
355
0
0
2023-03-12
分割自然数游戏题目描述: 周末强强在家做作业,遇到了这样一道题,找出N位(N<8)的自然数中具有下列性质的数:如果将这个数字从中间开始分割成两部分,然后将这两部分相加,所得到的和的平方,等于原来那个数的(奇数的时候,中间的那个数字靠前)。从键盘输入N,直接在屏幕上输出答案。找不到满足要求的数时候,输出"NO FOUND"。强强想了许久也没想出来,想请你 ......
405
0
0
2023-03-11
目录sentry简介sentry的作用sentry-native是什么基于C/C++的native版,SDK编译sentry-SDK接入本地工程接入我们自己的工程关于配置自定义配置利用sentry监视崩溃崩溃回调手动发送异常、消息消息回调上传PDB,直接定位崩溃发生的位置博主自己封装的sentry类sentry简介首先,如果你是为工作而做,公司一定有自己的s ......
503
0
0
2023-03-10
目录为什么使用多级时间轮的方式单级时间轮多级时间轮头文件实现文件为什么使用多级时间轮的方式有序队列实现定时器添加/删除任务: 遍历每一个节点, 找到相应的位置插入, 因此时间复杂度为O(n)处理到期任务: 取出最小定时任务为首节点, 因此时间复杂度为O(1)红黑树实现定时器有序队列的性能瓶颈在于插入任务和删除任务(查找排序),而树形结构能对其进行优化添加/删 ......
487
0
0
2023-03-10