自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 C语言游戏实战(12):植物大战僵尸(坤版)

本游戏使用C语言和easyx图形库编写,通过这个项目我们可以深度的掌握C语言的各种语言特性和高级开发技巧,以及锻炼我们独立的项目开发能力,在开始编写代码之前,我们需要先了解一下游戏的基本规则和功能:游戏界面:游戏界面是一个矩形区域,玩家可以在区域内进行植物的放置和铲除等操作。不同的植物有不同的功能,在这里我们可以僵尸植物分为三大类:1. 生产型植物(如太阳花):这种植物的特点是在一定的时间生产出太阳,以增加太阳的产量。

2024-06-10 19:07:24 127956 185

原创 c语言游戏实战(10):坤坤的篮球回避秀

这款简易版的球球大作战是博主耗时两天半完成的,玩家需要控制坤坤在游戏界面上移动,来躲避游戏界面上方不断掉下来的篮球。本游戏使用C语言和easyx图形库编写,旨在帮助初学者了解游戏开发的基本概念和技巧。在开始编写代码之前,我们需要先了解一下游戏的基本规则和功能:游戏界面:游戏界面是一个矩形区域,玩家可以在这个区域内控制球的移动。坤坤:玩家控制的坤坤可以在游戏界面内自由移动,按下特定的按键后可以跳跃。篮球:篮球在游戏界面的正上方源源不断地生成,并下降。

2024-06-04 20:09:21 29429 62

原创 C语言游戏实战(4):人生重开模拟器

人生重开模拟器是前段时间非常火的一个小游戏,接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。

2024-06-04 20:09:06 28522 31

原创 C语言游戏实战(9):球球大作战

这款简易版的球球大作战是一款单人游戏,玩家需要控制一个小球在地图上移动,吞噬其他小球来增大自己的体积。本游戏使用C语言和easyx图形库编写,旨在帮助初学者了解的基本概念和技巧。在开始编写代码之前,我们需要先了解一下游戏的基本规则和功能:游戏界面:游戏界面是一个矩形区域,玩家可以在这个区域内控制球的移动。玩家小球:玩家控制的小球可以在游戏界面内自由移动,按下空格键可以加速。其他小球:其他小球又分为食物小球,和ai控制的小球。

2024-06-03 21:27:17 127523 131

原创 c语言游戏实战(10):坤坤的篮球回避秀

这款小游戏是博主耗时两天半完成的,玩家需要控制坤坤在游戏界面上移动,来躲避游戏界面上方不断掉下来的篮球。本游戏使用C语言和easyx图形库编写,旨在帮助初学者了解游戏开发的基本概念和技巧。在开始编写代码之前,我们需要先了解一下游戏的基本规则和功能:游戏界面:游戏界面是一个矩形区域,玩家可以在这个区域内控制球的移动。坤坤:玩家控制的坤坤可以在游戏界面内自由移动,按下特定的按键后可以跳跃。篮球:篮球在游戏界面的正上方源源不断地生成,并下降。

2024-06-10 19:09:09 819 2

原创 动态内存管理

但是上述的开辟空间的⽅式有两个特点:• 空间开辟⼤⼩是固定的。• 数组在申明的时候,必须指定数组的⻓度,数组空间⼀旦确定了⼤⼩不能调整但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间⼤⼩在程序运⾏的时候才能知道,那数组的编译时开辟空间的⽅式就不能满⾜了。C语⾔引⼊了动态内存开辟,让程序员⾃⼰可以申请和释放空间,就⽐较灵活了。

2024-06-08 23:23:51 1268

原创 【C语言】自定义类型:联合体和枚举

像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。但是编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间所以联合体也叫:共⽤体。因为共用着一块空间,所以当给联合体其中一个成员赋值,其他成员的值也跟着变化。

2024-06-08 23:23:40 1275

原创 c语言游戏实战(8):飞机大作战

飞机大作战游戏是一种非常受欢迎的射击类游戏,玩家需要控制一架战斗机在屏幕上移动,击落敌机以获得分数。本游戏使用C语言编写,旨在帮助初学者了解游戏开发的基本概念和技巧。在开始编写代码之前,我们需要先了解一下游戏的基本规则和功能:游戏界面:游戏界面是一个矩形区域,玩家可以在这个区域内控制战斗机移动和射击。战斗机:玩家控制的战斗机可以在游戏界面内自由移动,按下特定键可以发射子弹和开启技能击落敌机。敌机:敌机会从屏幕的一侧出现,并沿着直线路径向另一侧移动。玩家需要击落敌机以获得分数。

2024-06-07 23:11:34 17174 21

原创 c语言游戏实战(3):三子棋

三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏规则是双方对战,双方依次在9宫格棋盘上摆放棋子,率先将自己的三个棋子走成就视为胜利。但因棋盘太小,三子棋在很多时候会出现和棋的局面。

2024-06-07 23:10:47 4932 4

原创 vs实用调试技巧

我们在写程序的时候可能多多少少都会出现一些bug,使我们的程序不能正常运行,所以为了更快更好的找到并修复bug,使这些问题迎刃而解,学习好如何调试代码是每个学习编程的人所必备的技能。

2024-06-06 22:04:59 1417 4

原创 【数据结构初阶】栈和队列

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)(即最后面进的数据会最先出来)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。

2024-06-06 22:04:48 759

原创 【C语言】预处理详解

define reg register //为 register这个关键字,创建⼀个简短的名字;) //⽤更形象的符号来替换⼀种实现case //在写case语句的时候⾃动把 break写上。// 如果定义的 stuff过⻓,可以分成⼏⾏写,除了最后⼀⾏外,每⾏的后⾯都加⼀个反斜杠(续⾏符)。#define 机制包括了⼀个规定,允许把参数替换到⽂本中,这种实现通常称为宏(macro)或定义宏(define macro)。

2024-06-05 21:54:18 795

原创 【C语言】编译和链接

1. 翻译环境和运行环境1. 翻译环境和运行环境在ANSI C的任何⼀种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执⾏的机器指令(⼆进制指令)。第2种是执⾏环境,它⽤于实际执⾏代码。

2024-06-05 21:54:05 1220

原创 【C语言】文件操作

每个被使⽤的⽂件都在内存中开辟了⼀个相应的⽂件信息区,⽤来存放⽂件的相关信息(如⽂件的名字,⽂件状态及⽂件当前的位置等)。我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出 操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河。如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化的保存,我们可以使⽤⽂件。

2024-06-01 23:56:40 1568 2

原创 C语言游戏实战(11):贪吃蛇大作战(多人对战)

这款贪吃蛇大作战是一款多人游戏,玩家需要控制一条蛇在地图上移动,吞噬其他蛇或者食物来增大自己的蛇身长度和宽度。本游戏使用C语言和easyx图形库编写,旨在帮助初学者了解游戏开发的基本概念和技巧。在开始编写代码之前,我们需要先了解一下游戏的基本规则和功能:1. 游戏界面:游戏界面是一个矩形区域,玩家可以在这个区域内控制蛇的移动。2. 玩家贪吃蛇:玩家控制的小球可以在游戏界面内自由移动,按下空格键可以加速。3. ai贪吃蛇:ai贪吃蛇会在游戏界面中随机移动。

2024-05-19 23:56:05 2865 10

原创 关机恶搞小程序

当system函数的参数是"shutdown"时,它将会执行系统的关机命令。具体来说,的功能是向操作系统发送一个关机信号,请求关闭计算机。这将触发操作系统执行一系列的关机操作,包括关闭所有正在运行的程序、保存必要的系统信息、并最终关闭计算机的电源。需要注意的是,执行通常需要管理员权限,因为关机操作涉及到系统级别的资源管理。在不同的操作系统上,关机命令可能会有所不同,因此具体的实现细节可能会有所差异。总结来说,是一个用于触发计算机关机操作的命令,通过调用外部的关机命令来实现这一功能。通过改变。

2024-05-18 23:21:16 15355 20

原创 C语言游戏实战(8):飞机大作战

飞机大作战游戏是一种非常受欢迎的射击类游戏,玩家需要控制一架战斗机在屏幕上移动,击落敌机以获得分数。本游戏使用C语言编写,旨在帮助初学者了解游戏开发的基本概念和技巧。在开始编写代码之前,我们需要先了解一下游戏的基本规则和功能:游戏界面:游戏界面是一个矩形区域,玩家可以在这个区域内控制战斗机移动和射击。战斗机:玩家控制的战斗机可以在游戏界面内自由移动,按下特定键可以发射子弹和开启技能击落敌机。敌机:敌机会从屏幕的一侧出现,并沿着直线路径向另一侧移动。玩家需要击落敌机以获得分数。

2024-05-15 23:59:41 10789 10

原创 【C语言】字符函数和字符串函数

在编程的过程中,我们经常要处理字符和字符串,C语言标准库中提供了一系列库函数,接下来我们一起学习一下这些函数。

2024-03-25 11:59:17 1886 14

原创 【c语言】详解操作符(上)

整数的2进制表示方法有三种,即原码、反码、补码有符号整数的三种表示方法均有符号位和数值位两部分,2进制序列中,最高位的1位是被当做符号位其余都是数值位。符号位都是用0表示“正”,用1表示“负”。例:分别写出1、-1的2进制其中a、b都是整形变量,是4个字节,32bit位,那么a、b的2进制为:直接将数值按照正负数形式翻译成2进制得到的就是原码。将原码的符号位不变,其他位依次按位取反就可以得到反码。反码加1就可以得到补码。补码得到原码也是可以使用取反加1的操作。

2024-03-24 16:01:21 2581 2

原创 【c语言】详解操作符(下)

在上文中,我们已经学习了、反码、补码、移位 操作符、移位操作符、位操作符、逗号表达式、下标访问[ ]、函数调用( ),接下来我们将继续学习剩下的操作符。

2024-03-24 16:00:37 1703 1

原创 【c语言】深入理解指针(2)

可以利用字符指针存放字符数组来间接存放字符串。那我们可不可以直接给字符指针存放字符串呢?我们来看一下结果:可以看到是可以直接给字符指针存放字符串,其实指针仅仅存放了字符串首字母的地址,%s会根据这个首字母的地址依次打印字符,当遇到空字符‘\0’则会停止打印,从而打印出了完整的字符串。字符指针存放字符数组的字符串可修改,而存放字符串字面量不可修改,因为。

2024-02-07 10:34:05 2940

原创 【c语言】深入理解指针(1)

数组名是数组首元素的地址:但是有两个例外:1. sizeof(数组名),sizeof中单独放一个数组名的时候,这里的数组名表示的是整个数组,计算的是整个数组的大小,单位是字节。2. &数组名,这里的数组名表示的是整个数组,取出的是整个数组的地址(整个数组的地址和数组首元素的地址是有区别的)。可以看到&arr + 1后地址是跳过40个字节的(这刚好是整个数组的大小),而其余两种的+1都只是跳过4个字节(这刚好是整型变量的大小)而已。

2024-02-01 18:44:24 1164 3

原创 ​【c语言】函数递归

在C语⾔中每⼀次函数调⽤,都要需要为本次函数调⽤在栈区申请⼀块内存空间来保存函数调⽤间的各种局部变量的值,这块空间被称为运⾏时堆栈,或者函数栈帧。

2024-01-30 00:17:43 1610 4

原创 c语言游戏实战(7):扫雷(下)

扫雷是一款经典的单人益智游戏,它的目标是在一个方格矩阵中找出所有的地雷,而不触碰到任何一颗地雷。在计算机编程领域,扫雷也是一个非常受欢迎的项目,因为它涉及到许多重要的编程概念,如数组、循环、条件语句和函数等。C语言是一种广泛使用的编程语言,它具有高效、灵活和可移植等特点,非常适合编写各种类型的应用程序。因此,使用C语言编写一个扫雷游戏是一个很好的学习编程的项目。在这篇博客中,我们将介绍如何使用C语言编写一个简单的扫雷游戏。我们将从基本的编程概念开始讲解,逐步深入到更复杂的程序设计技术。

2024-01-17 12:50:31 2478 1

原创 c语言游戏实战(6):走迷宫之推箱子

在上一篇文章当中我介绍了一个走迷宫的写法,但是那个迷宫没什么可玩性和趣味性,所以我打算在迷宫的基础上加上一个推箱子,使之有更好的操作空间。

2024-01-16 18:28:16 1634 4

原创 c语言游戏实战(5):走迷宫

制作一个迷宫游戏是一个有趣的编程挑战。首先,我们需要设计一个二维数组来表示迷宫的布局,其中每个元素代表迷宫中的一个格子。我们可以使用不同的值来表示空格、墙壁和起点/终点。接下来,我们需生成迷宫。在生成迷宫的过程中,我们需要确保迷宫中有足够的障碍物,以便玩家需要找到一条从起点到终点的路径。最后,我们需要编写代码来显示迷宫,接收用户的输入,更新迷宫的状态,判断游戏是否结束,并提供重新开始的选项。通过完成这个迷宫游戏项目,我们可以提高自己的编程能力和逻辑思维能力。

2024-01-15 13:08:27 4545 12

原创 汉诺塔问题

Hanoi(汉诺)塔问题。这时一个古典的数学问题,是一个递归方法解题的典型例子。问题是这样的:古代有一个梵塔,塔内有3个座 A,B,C(如下图)。开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但规定每次只允许移动一个盘,且在移动过程中3个座上都始终保持大盘在下,小盘在上。在移动过程中可以利用B座。要求编程序输出移动盘子的步骤。

2024-01-02 22:45:03 1500

原创 c语言结构体

结构是一些值的集合,这些值被称为成员变量。结构的每个成员可以是不同类型的变量。

2023-12-26 23:20:48 1691 1

原创 C语言指针(下)

上文我们已经学习了指针的基本概念内存单元地址的产生,以及指针和指针的类型。这时我们对指针已经有了一个初步的了解,接下来我们将继续深入的学习指针用法。

2023-12-23 16:43:50 805 1

原创 C语言指针(上)

指针变量里边存放的是地址,而通过这个地址,就可以找到一个内存单元(内存划分了一个一个单元,而一个单元就是一个字节,其中内存单元的地址不是需要存起来的,因为它是由硬件生成的,硬件生成一个地址后直接去内存里面访问他这个编号所对应的内存单元)。在32位的机器上,地址是32个1和0组成的二进制序列,那地址就得用4个字节(存一个0或者1用一个比特位那么存32个1和0组成的序列就需要32个比特位也就是32/8 == 4个字节)的空间来储存,所以一个指针变量的大小就应该是4个字节。指针本质上就是地址。

2023-12-22 01:24:34 1576

原创 c语言二分查找

二分查找法算法,也叫折半查找算法(对半处理会提高寻找目标数字的效率);作用:在一串有序的数字中,能快速寻找到你输入的数字,是一种很高效的查询算法。

2023-12-19 23:55:18 669

原创 自定义乘法口诀表

我们观察乘法口诀表可以发现,每行中第一个乘数是依次递增的,直到增加到与第二个乘数相等为止,而每行中第二个乘数是不变的,而且从第二行开始第二个乘数是相比于上一行增1的。因为每行中第二个乘数是不变的,所以第二个乘数应该是由外for循环执行,第一个层数是由内for循环执行的,由于第一个乘数最后值是等于第二个乘数的所以下面的代码是 j

2023-12-18 10:42:42 537

原创 冒泡排序与选择排序

选择排序与冒泡排序异曲同工,冒泡排序是先排大的数,而选择排序则是先排小的数。

2023-12-14 00:03:15 661 1

原创 揭秘c语言数组的用法,让你的编程能力更进一步

数组的下标时从0开始的然后一次往后递增1,即数组第一个数的下标是0,第二个数是1.

2023-12-13 12:26:27 979 4

原创 c语言游戏实战(2):扫雷

先开一个test.c文件用来游戏的逻辑测试,在分别开一个game.c文件和game.h头文件用来实现游戏的逻辑。

2023-12-12 00:51:16 1789

原创 揭秘C语言图形题:掌握这些技巧,让你轻松成为编程大神!

从表格中可以观察到第一行左边的空格数是(2n - 1) - n = 4然后空格数由上往下依次递减这就可以时我们知道第i行的空格数是(2n - 1)- n - i,所以在列数 j n + i 时打印。首先我们可以知道从上到下*是依次递增2的,又因为第一行是只有一个*的,所以当行数为n时列数是(2n - 1),由此我们可以画出一个五行九列的表格。输入n值,输出如下图形,下图为n=5的图形。(1)先找行列再画出表格。

2023-12-11 12:00:59 618

原创 揭秘C语言神技!轻松搞定1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100,让你成为编程大神!

for循环中i的取值因为前面直接取a = 1了所以是直接从求奇数和那个for循环i就是从i / 3开始的所以i的初始值为3,以此类推我们就可以知道另一个for循环的i初始值应该取2(或1)。+ 1 / 99 - 1 / 100的计算我们可以知道它的规律是: 1 / n(n=1,2,3,..,100),当n为偶数式子中是减去1 / n,当n为奇数时式子则加上 1 / n,所以我们可以用if(n%2==)函数来判断奇偶性, 以此来判断式子中各个数字增减性。这时我们可以将式子写成。

2023-12-08 01:50:07 829

原创 用C语言制作的猜数字游戏,你绝对想不到这么简单!

rand函数会返回一个随机数,这个随机数的范围是在0~RAND_MAX之间,这个RAND_MAX的大小是依赖编译器上实现的,但是大部分的编译器上是32767。要想得到一个的随机数只要“种子”发生变化就可以了。而程序的运行时间是变化的,正好可以作为我们的“种子”,c语言中time函数就可以返回一个时间戳。rand这个函数可以帮我们生成一个随机数,但这个不是一个正真的随机数,是伪随机的,它是通过算法实现的。rand函数对一个叫“种子”的基准值进行运算生成的随机数,rand函数生成随机值的默认种子是1。

2023-12-06 11:47:47 1464

原创 揭秘C语言:分支与循环的神秘力量,让你的程序瞬间升级!

|:或运算符,(exp1||exp2)式子中两个表达式只要有一个为真,式子即为为真。&&:并运算符,(exp1&&exp2)式子中两个表达式只要有一个为假,式子即为假。exp1表达式为真的话执行表达式exp2。default 结果错误:输出,后加一个break跳出语句。case 结果1:输出1,后加一个break跳出语句。case 结果2:输出2,后加一个break跳出语句。例子:输入a,b如果a>b输出a否则输出b。例如:输入1234,输出4 2 3 1。例子:输入一个整数,判断是否为奇数。

2023-12-05 12:09:33 908

C语言游戏实战(11):植物大战僵尸(坤版)的图片素材

本游戏使用C语言和easyx图形库编写,通过这个项目我们可以深度的掌握C语言的各种语言特性和高级开发技巧,以及锻炼我们独立的项目开发能力,

2024-05-18

C语言-坤坤的篮球回避秀

这款小游戏是博主耗时两天半完成的,玩家需要控制坤坤在游戏界面上移动,来躲避游戏界面上方不断掉下来的篮球。本游戏使用C语言和easyx图形库编写,旨在帮助初学者了解游戏开发的基本概念和技巧。 在开始编写代码之前,我们需要先了解一下游戏的基本规则和功能: 游戏界面:游戏界面是一个矩形区域,玩家可以在这个区域内控制球的移动。 坤坤:玩家控制的坤坤可以在游戏界面内自由移动,按下特定的按键后可以跳跃。 篮球:篮球在游戏界面的正上方源源不断地生成,并下降。 坤坤触碰篮球:当坤坤触碰到上方掉下来的篮球时,坤坤的血量就会降低一格,一共五格血量降完为止。 接下来,我们将通过以下几个步骤来实现这个游戏: 1. 初始化游戏界面和模型的信息。 2. 处理键盘输入,实现玩家控制坤坤的移动和跳跃。 3. 生成足够数量的篮球。 4. 生成篮球,并控制其移动。 5. 检测篮球与坤坤之间的触碰关系,并减少相应的血量。 通过学习这个游戏的开发过程,初学者将能够掌握C语言编程和easyx图形库的基本技巧。

2024-03-07

c语言游戏实战(10):坤坤的篮球回避秀的图片资源

这里面包含博文: 《c语言游戏实战(10):坤坤的篮球回避秀》https://blog.csdn.net/weixin_58252863/article/details/136474286 的所有图片资源,需要的朋友可以自行下载。

2024-03-05

c语言-飞机大作战软件

本次分享的资源是我个人独立开发的单人飞机大作战游戏软件。这款游戏以经典的飞行射击游戏为灵感,设计成一个适合单人体验的休闲射击游戏,提供富有挑战性和刺激的游戏过程。 软件功能: 单人模式:玩家操控飞机进行单独冒险,与各种AI敌人展开战斗,无需联网即可体验。 直观的控制界面:用户友好的界面设计,支持键盘或触控操作,易于上手。 飞机和技能充能系统:通过击败敌机,可获取飞机的技能充能值,增强战斗力。 敌机移速的改变:设有多种不同的速敌机速度,速度随着玩家分数的增加而增加,增加游戏的丰富度和持久魅力。 技术细节:

2024-03-04

c语言-球球大作战软件

本次分享的资源是我个人开发的简易版单人球球大作战游戏软件。这款游戏灵感来源于流行的在线多人游戏“球球大作战”,但我的版本专为单人体验设计,旨在提供一个简单易上手、休闲而又具有挑战性的游戏体验。 软件功能: 单人游戏体验:玩家与计算机控制的对手进行对战,无需联网等待,随时享受游戏乐趣。 简洁直观的操作界面:清晰易懂的界面设计,帮助玩家快速入门。 吞噬成长机制:通过吞噬地图中的小颗粒使球球不断变大,以达成更高分数。 ai小球设置:地图内设有多个ai小球,它们可以根据自身的大小和与玩家的距离来选择追击玩家或者逃跑,增加游戏的趣味性。 积分系统:设立积分系统,玩家可挑战自我,刷新最高记录。 注意事项: 本软件仅供个人学习和娱乐使用,请勿用于商业目的。 请遵守相关的法律法规,并尊重知识产权。 遇到问题或有改进建议时,欢迎提出,以便持续完善游戏。 结语: 这款单人版的简易球球大作战游戏旨在带给玩家轻松愉快的单机体验。希望它能在您空闲时提供一些简单的快乐,并期待您的反馈和支持!

2024-03-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除