项目集合
文章平均质量分 67
实战小项目
ych9527
这个作者很懒,什么都没留下…
展开
-
HttpWeb服务器设计
原创 2021-08-21 22:40:49 · 191 阅读 · 0 评论 -
高并发内存池设计
设计框架thread cache:解决锁竞争的问题central cache:会发生锁竞争,但是不会很激烈 -> 使得内存在多个线程情况下分配更均衡page cache:存储的内存是以页为单位存储及分配的。central cache没有内存对象时,从page cache分配出一定数量的page,并切割成定长大小的小块内存,分配给central cache。page cache会回收central cache满足条件的span对象,并且合并相邻的页,组成更大的页,缓解内存碎片的问题。 -&g原创 2021-07-10 19:09:17 · 230 阅读 · 3 评论 -
C语言编写数独小游戏
文章目录1.前言2.效果展示3.代码1.前言这次数独小游戏的灵感来源于上次力扣做的题目,解数独。正好利用题目余热写了这一款小小游戏。感兴趣的可以看看题目,哈哈2.效果展示3.代码#pragma once#include <stdio.h>#include <graphics.h>#pragma warning (disable :4996)#include <windows.h>#define SIZE 700 //背景大小#define原创 2021-03-31 16:58:23 · 2356 阅读 · 2 评论 -
贪吃蛇小游戏——C语言编写
文章目录1.效果展示2.设计思路2.1图案显示2.2蛇头的移动2.3食物的生成2.4蛇身体的生成与移动2.5判断是否撞墙和打印得分3.完整代码1.效果展示2.设计思路2.1图案显示利用二维数组构建图案,总共有墙壁,蛇头,蛇身,食物,空白五种元素,因此只需要二维数组中的元素有五种不同的值即可;2.2蛇头的移动贪吃蛇是会自动移动的,我们首先让蛇头能自动移动。由于我们用数组来表示元素在地图中的位置,让元素移动就是让元素的坐标改变。因此我们需要构建函数来完成蛇头坐标的自动移动,同时需要对我们输入原创 2021-03-07 20:17:47 · 12237 阅读 · 49 评论 -
飞机大战------功能更新
文章目录1.前言2.击中敌机效果1.前言在上次的基础上继续添加新的功能2.击中敌机效果因为需要展现击中多架敌机的效果,因此同样需要一个结构体数组来表示击中效果的图片坐标。击中图片坐标是在击中判定中原先敌机的坐标。飞机和子弹的移动效果是不停的改变图片的坐标来达成的,我们子弹击中敌机后不能让击中效果马上消失,也不能让它移动那么该怎么办呢?我们可以通过时间变量来延缓效果消失的时间;...原创 2021-01-09 19:35:40 · 2137 阅读 · 2 评论 -
飞机大战——图文详解
文章目录1.前言2.效果展示3.图片素材的准备4.需要构建的函数5.变量的定义6.数据的初始化7.画面的呈现8.飞机移动的实现9.子弹的构建和移动9.1子弹的构建9.2子弹的移动10.敌机的创建和移动11.敌机消灭函数12.结束语13.完整代码1.前言本次需要用到easyx图形库,关于easyx的安装和一些基本函数,我在另外一篇推箱子小游戏中也有介绍,需要了解的小伙伴也可以点击进去看一看,下面会附上链接;在写程序过程中需要的图片,可以去百度找,也可以自己制作,有想要了解如何制作的小伙伴也可以点击我下面原创 2021-01-03 21:21:01 · 11649 阅读 · 25 评论 -
如何制作掩码图
文章目录1.前言2.制作过程2.1找到自己需要的素材2.2打开ps开始制作1.前言在制作游戏的时候一直苦于找不到合适的游戏素材,要么就是收费的,痛定思痛自己制作掩码图,特地和大家分享一下;2.制作过程2.1找到自己需要的素材比如我要制作飞机大战的素材,直接百度搜索寻找素材图片2.2打开ps开始制作接下来我用长图片的方式来进行演示...原创 2020-12-30 13:35:03 · 13990 阅读 · 3 评论 -
三字棋小游戏
设计思路:一.主体函数的设计:设计一个菜单函数,通过选择判定是否选择进入游戏,选择进入时则进入三子棋游戏程序,代码块如下int main(){ int quit = 0; int select = 0; while (!quit) { Menu(); scanf("%d", &select); switch (select) { case 1: Game(); printf("要不要再来一次?\n"); break; case 2: p原创 2020-11-02 20:55:18 · 601 阅读 · 0 评论 -
c语言扫雷小游戏设计思路
一、主体函数的设计:设计游戏菜单,通过选择进入或者退出游戏int main(){ int select = 0; int quit = 0; while (!quit) { Menu(); printf("请输入你的选择\n"); scanf("%d", &select); switch (select) { case 1: printf("欢迎进入游戏\n"); Game(); printf("是否再来一把?\n"); break原创 2020-11-04 09:37:50 · 1452 阅读 · 0 评论 -
扫雷小游戏——简单易懂
在初期版本扫雷的基础上上添加了展开,标记,防首次炸死功能;一.显示与雷区设立扫雷首先需要两个大小相等的棋盘,一个如图1用来向外界展示,一个如图2用来埋雷。.初始化显示棋盘和雷区棋盘棋盘有行和列,于是乎用二维数组来进行数据统计char board[ROW][LINE]; memset(board, '*', sizeof(board));//显示的没点开之前为* char mineboard[ROW][LINE]; memset(mineboard, '0', sizeof(board));原创 2020-11-14 20:28:01 · 1135 阅读 · 2 评论 -
1000人储存量通讯录
#ifndef _TEST_H_#define _TEST_H#include <stdio.h>#include <windows.h>#pragma warning (disable :4996)#define NUM 1000void Menu();void Add();void Delect();void Found();void Alter();void Show();void Empty();void Rank();#endif #原创 2020-11-26 16:52:49 · 299 阅读 · 0 评论 -
动态空间通讯录——详细注释
效果展示实现功能:1.添加联系人信息2.删除联系人信息3.查找指定联系人信息4.修改指定联系人信息5.显示所有联系人信息6.清空所有联系人信息7.排序所有联系人设计思路:动态思想:1.储存类型:当然是结构体了;2.动态存储:实现动态存储即需要用到空间的申请malloc和修改relloc(这两个函数前面博客有提到哦),这两个函数提供了增长的能力,那么怎么进行增长呢,这时候就需要两个结构体了。一个用来囊括所需要的所有成员变量,另一个囊括用来指向第一个结构体的指针,当前成员个数的计数器原创 2020-11-27 11:36:55 · 357 阅读 · 0 评论 -
c语言小游戏之一看就会的推箱子
文章目录1效果展示2:设计过程3代码1效果展示2:设计过程3代码#include "game.h"void ShowMap(char arr[][LINE])//打印地图{ for (int i = 0; i < ROW; i++) { for (int j = 0; j < LINE; j++) { if (arr[i][j] == 0) printf("■");//打印墙壁 else if (arr[i][j] == 1)//打印空白原创 2020-12-14 10:41:19 · 18445 阅读 · 59 评论 -
通讯录保存系统——使用柔性数组
文章目录1.前言2.效果展示3.功能介绍4.功能实现过程4.1保存结构4.2菜单函数Menu()的实现比较简单,直接贴代码4.3开辟空间函数Open()的实现4.4空间判定函数Judge()4.5联系人添加函数Add()4.6寻找联系人函数Found()4.7删除联系人函数Delect()4.8修改联系人信息函数Alter()4.9 显示所有联系人函数Show()4.10清空所有联系人函数Empty()4.11排序函数Rank()和排序回调函数Compare()4.12文件存储函数Save_book()4.原创 2020-12-18 21:42:51 · 607 阅读 · 2 评论 -
c语言推箱子小游戏
文章目录1.前言2.效果展示3.地图功能的构建3.1地图构建3.2选择功能的构建3.3地图的打印4.返回功能的实现5.人物可以到达目标点的实现6.箱子到达目的点后出来不会数据丢失7.判断函数8.小人移动的实现9.完整代码1.前言前段时间写了一个推箱子小游戏,只是实现了几个基本的功能,这次在上次的基础上添加了一些功能;这次代码的代码量稍微大一点,可读性没有那么强,如果看起来比较难理解,可以先看一下上次我写的比较简单的推箱子博客铺垫一下;链接: link.2.效果展示新添地图选择功能,返回一步功能,人原创 2020-12-19 15:00:07 · 7465 阅读 · 18 评论 -
C语言编写飞机大战
文章目录1.地图构建和飞机的移动实现2.子弹函数的构建3.构建敌机4.构造敌机子弹和判定结束函数5.完整代码1.地图构建和飞机的移动实现构建完地图,构建打印函数和飞机移动函数,效果图和当前代码如下char str[ROW][LINE]={ // 0代表边框(■),1代表游戏区域(空格),2代表飞机(Ж) { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,原创 2020-12-20 21:52:26 · 2412 阅读 · 0 评论 -
推箱子——带有图形界面
文章目录1.前言2.效果展示3.图形界面如何添加3.1工具的选择3.2 easyx库中一些函数的使用3.2.1头文件的包含3.2.2 加载一个图形化界面3.2.3 图片变量的声明3.2.4 图片的储存位置4.图片定义和打印4.1图片的定义4.2图片的打印5.完整代码1.前言前面编写了两次拖箱子,一次普通版本,一次完善了基本功能,这次给推箱子加上图形界面,因此这次主要是讲图形界面的添加;如果想要了解前面的设计可以看看我下面这两篇博客第一次简单图箱子设计链接;功能完善版推箱子链接;2.效果展示3.原创 2020-12-25 11:45:27 · 5209 阅读 · 6 评论