C++
ycczbasd
这个作者很懒,什么都没留下…
展开
-
最强C++控制台扫雷版本(难易可选,自带新手易学游戏框架)
废话不多说,直接上代码,看官们先去试试,然后回来看分析分析文章见:https://blog.csdn.net/ycczbasd/article/details/103511457#include <iostream>#include <windows.h>#include <time.h>#include <vector>using namespace std;void GameInit();void GameRun();void Gam原创 2020-11-06 16:45:27 · 328 阅读 · 0 评论 -
C/C++音乐播放(亲测有效)
首先应当去引用 相应的lib库下载地址:http://www.opdown.com/soft/125224.htmlps:lib库的位置最好不要放到带有中文路径的文件夹下#include <iostream>#include <windows.h>#include <mmsystem.h>#pragma comment(lib,"Winmm.lib"...原创 2020-01-10 10:51:38 · 2739 阅读 · 2 评论 -
简单渲染流水管线C++代码实现(七)---三维渲染流水管线讲解
三维渲染流水管线大体上分为:1.应用程序阶段2.顶点变换阶段3.光栅化阶段一、应用程序阶段应用程序阶段的主要任务:将需要在屏幕上(具体形式取决于具体输入设备)显示出来绘制的几何体(也就是绘制图元,rendering primitives,如点、线、矩形等)输入到绘制管线的下一个阶段。对于被渲染的每一帧,应用程序阶段将摄像机位置,光照和模型的图元输出到管线的下一个主要阶段——几何阶段。...原创 2020-01-07 14:59:45 · 913 阅读 · 0 评论 -
简单渲染流水管线C++代码实现(六)---绕任意过原点的轴旋转矩阵
三维矩阵当中,绕x、y、z轴旋转其实是很简单的,这里不做推导了,和之前的二维旋转矩阵推导很类似,下面主要讲如何推导绕任意过原点的轴旋转矩阵。 //绕过原点指定轴旋转 Matrix4& Rotate(const Vector3& n, float a) { //单位化指定轴向量 Vector3 any_nomalize = n.Normalize(); //处理...原创 2020-01-07 09:51:45 · 628 阅读 · 0 评论 -
简单渲染流水管线C++代码实现(五)---线段裁剪
线段裁剪是图形学中一个非常重要的东西。线段裁剪简单来说,就是截取能在屏幕中显示出来的部分,这样做可以减少计算机在渲染过程中的计算量,加快渲染速度。下面开始实现。...原创 2020-01-03 16:13:59 · 298 阅读 · 0 评论 -
简单渲染流水管线C++代码实现(四)---矩形相交处理
本篇主要来处理矩形相交问题。其实图形学当中很多地方涉及到矩形相交问题,比如:1.把屏幕视口当作一个矩形,屏幕内的矩形和屏幕的相交问题2.把图片裁剪出一块矩形时判断依据如下:具体的C++代码如下//rect1、rect2为待判断相交的矩形,rect为输出矩形RECTANGLE* RectangleCollide(const RECTANGLE* rect1, const RECTANG...原创 2019-12-21 15:04:02 · 211 阅读 · 0 评论 -
C++版本扫雷
闲来无事,花了点时间写了一个简单版本的扫雷,废话不多数,开始今天的主题!!!**扫雷简单版玩法:**进入扫雷界面后,按下空格,光标所在位置处会经行判断,若是雷,则游戏over,若是空白区域则展开地图,若是带有数字标志的则仅展示改地图块,直至剩下雷区难点:1.如何展示2.如何初始化地图块(根据难度选择):雷位置安放以及周围地图块的数字大小设置3.如何展开空白区域,即扩散下面一步步来放代码...原创 2019-12-12 23:41:13 · 422 阅读 · 0 评论 -
简单渲染流水管线C++代码实现(三)---实战之《忍者飞镖》
今天的主题:忍者飞镖(仍然利用自己写的向量和矩阵实现)介绍:飞镖丢出后能够返回原来的位置注意点:1.在没有任何操作的情况下,飞镖围绕正方形顺时针公转并自转2.按下空格后,飞镖丢出,延当前的-Y方向运动,可以连续按键,直至所有飞镖全部飞出,正方形无论何种情况都是可以自由移动的3.飞镖与屏幕正上方碰撞后,立即返回,朝向为自己的原定位置(此位置无论飞镖在与否,都会公转),到达指定位置后,继续公...原创 2019-11-21 16:54:39 · 297 阅读 · 0 评论 -
简单渲染流水管线C++代码实现(三)---实战之《黄金矿工》
写这篇博客之前,纠正之前代码中一处写的不好的地方:Vector2.h中Rotation应写为Rotate。下面我们进行今天的主题:黄金矿工如何利用之前我们实现的一些东西来做黄金矿工呢?其实不算很难,注意一下几个地方即可。1.在没有任何操作的情况下,抓手应该是来回180°旋转,要注意到临界点时,角度反转,最好是用一个变量控制当前角度值,一个变量控制角度递增量(正负值控制旋转方向)2.按下...原创 2019-11-19 21:32:37 · 868 阅读 · 0 评论 -
简单渲染流水管线C++代码实现(三)---矩阵
这一篇接着来一步步实现。本篇主要是介绍矩阵,并推导渲染流水管线中使用的缩放、旋转、平移矩阵,然后利用C++实现它,并且做一个简单的小游戏(使用平移、旋转、缩放)1.首先介绍矩阵并实现它理论:C++代码实现:matrix3#pragma once#include "vector2.h"//此处的宏定义主要是为了读者能区分矩阵元素的位置#define _M_11 0#define ...原创 2019-10-27 09:35:08 · 369 阅读 · 0 评论 -
简单渲染流水管线C++代码实现(一)---双缓冲技术
最近非常喜欢游戏开发中的渲染流水管线,因此,特地网上看了很多资料,闲暇时间想利用C++的桌面开发将其慢慢实现它,废话不多说,下面就来个开胃的,直接贴代码,图片资料放在了文末ps:本篇主要是创建一个窗口,然后利用双缓冲技术实现一个简单的移动游戏,后续会慢慢更新#include <iostream>#include <windows.h>#pragma comment...原创 2019-10-18 15:31:39 · 390 阅读 · 0 评论 -
简单渲染流水管线C++代码实现(二)---向量
这一篇接着来一步步实现。本篇主要是介绍向量,然后利用C++实现它(先实现二维向量,往后会进一步实现三维向量),并通过今天实现的东西,做一个小游戏(鼠标点选位置,人物朝目标位置移动)1.首先是实现二维向量:vector2.h理论:#pragma once#include <cmath>#include <cassert>//二维向量:没有叉乘crosscla...原创 2019-10-21 20:49:57 · 356 阅读 · 0 评论 -
主流排序算法(C++实现)
这里包含了很多排序算法:冒泡、二分插入排序、快排、归并、堆排#include <iostream>template<typename T>void Sort_Bubble(T * pData, int b, int e){ if(b >= e) return; int n = e - b + 1; pData += b; for(int i = ...原创 2019-09-30 14:48:27 · 131 阅读 · 0 评论 -
C++二十三点全面总结
文章导读:一、进制二、整数定义,赋值,初始化三、标识符原则四、13种基本数据类型五、运算符六、 字面常量 (123) 符号常量(const修饰的变量)七、隐式类型转换八、分支九、循环十、数组十一、指针十二、多文件十三、函数十四、全局变量、局部变量、static十五、结构体十六、堆内存十七、顺序表vector十八、链表十九、库函数二十、文件操作相关二十一、B...原创 2019-09-30 14:40:48 · 2363 阅读 · 1 评论