自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【八、贪吃蛇】

C实现的贪吃蛇是一个用于理解面向过程思想的很好实例,我们将继续沿用起初的框架完成该实例。基本框架为了避免把所有代码都放进main函数而使得代码看起来臃肿,我们将通过以下基本框架来实现游戏内容。//全局变量定义int main(){ startup(); //游戏初始化 while(1) //游戏循环体 { show(); //显示界面 updateWithoutInput(); //与输入无关的更新 updateWithInput(); //与输入有关的更新 } retur

2022-01-02 17:19:28 1875 1

原创 【七、飞机大战(三)】

飞机大战也是在练习各类语言开发中一个比较重要的案例,话不多说,直接开码!以前的飞机大战教程:飞机游戏(1)飞机游戏(2)文章目录数组实现飞机控制发射子弹击中敌机最后数组实现飞机控制仍然将画布中所有元素储存在二维数组 canvas[High][Width] 当中,用 0 表示空格,用 1 表示飞机。飞机移动控制就和上一次小球反弹的实现类似了。上代码:#include <stdio.h>#include <stdlib.h>#include <conio.

2021-07-30 15:02:18 398 1

原创 【六、数组实现的打砖块】

这次我们使用数组来改进打砖块游戏。文章目录反弹的球增加挡板打砖块最后反弹的球首先我们实现一个可以在荧幕上反弹的小球。使用二维数组 int canvas[High][Width] ( 和js的canvas没有一毛钱关系)来储存画布上的所有元素,值为0时输出空格,值为1时输出小球。设小球坐标为(ball_x, ball_y),则有canvas[ball_x][ball_y] = 1 ,且暂时将其他元素的值设为0。每次更新小球位置时将原位置元素设为0,将新位置元素设为1即可。注意:gotoxy函数用

2021-07-23 15:21:35 298 1

原创 【五、生命游戏】

经过了之前的学习,我们接下来进行的是对数组的学习应用——生命游戏。文章目录简介初始化生死规则生死更新小结简介假设有 int Cells[50][50] 即划分出50 * 50的空间,每个小格里有生命存活(1)或死亡(0),通过把所有生命的状态(0或1)输出得到图案。初始化我们首先利用游戏框架将游戏初始化,输出静态的生命状态,其中定义二维数组int Cells[High][Width] 用于记录所有位置的生命状态。值为1时表示存活,值为0时表示死亡。#include <stdio.h&

2021-05-02 20:10:36 468

原创 【四、像素鸟】

在进入更复杂的学习之前,我们最后实现一个小游戏——像素鸟。文章目录下落的小鸟显示障碍物判定碰撞循环障碍物小结下落的小鸟首先我们写好游戏代码框架并实现小鸟下落和上升(按空格)的功能:#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <cwindow.h>//全局变量int high,width; //画面尺寸int bird_x,bird_y; //小鸟坐标in

2021-03-28 15:59:08 681 1

原创 【三、打砖块】

【三、打砖块】本节我们将沿用 上一节 所提到的函数式游戏框架来写一个弹球打砖块的游戏。文章目录【三、打砖块】基本量、边框绘制移动挡板反弹小球消除砖块小结基本量、边框绘制我们首先定义好可能需要的变量,比如小球坐标以及速度、游戏界面高度和宽度等等,然后再根据之前提到的弹跳小球重构代码,剩下的内容再分步添置即可。#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <cwindow.

2021-02-26 15:30:52 1416 4

原创 【二、飞机游戏(2)】

【二、飞机游戏(2)】本节我们将在上一节的基础上对飞机游戏进行改造完善。文章目录【二、飞机游戏(2)】基本框架代码重构新款子弹敌机【终于来了】击杀与得分清屏升级感谢阅读,关注我看更多~基本框架从本节起,为了避免把所有代码都放进main函数而使得代码看起来臃肿,我们将通过以下基本框架来实现游戏内容。//全局变量定义int main(){ startup(); //游戏初始化 while(1) //游戏循环体 { show(); //显示界面 updateWithoutInput();

2021-02-22 14:04:47 438 4

原创 【二、飞机游戏 (1)】

【二、飞机游戏 (1)】本节我们将在上一节 弹跳小球 实现基础上完成简单的飞机游戏。目录【二、飞机游戏 (1)】*scanf* 控制飞机移动*getch* 控制飞机移动更炫酷的飞机发射激光打靶练习小结scanf 控制飞机移动我们可以使用 scanf 函数来检测输入,分别使用 a , s , d , w .来控制 x , y 坐标来实现飞机移动。#include <stdio.h>#include <stdlib.h>int main(){ int i,j; in

2021-02-17 18:01:55 2362 4

原创 【一、弹跳小球】

【一、弹跳小球】本节利用 printf 函数 实现一个在屏幕上弹跳的小球,内容简单容易入门,这也是以后我们在设计更多游戏中可能用到的东西。目录【一、弹跳小球】绘制静止的小球小球下落上下弹跳的小球斜方向弹跳控制小球弹跳速度小结绘制静止的小球我们将以如图坐标系进行游戏,即以窗口左上角为原点。我们希望在坐标(x , y)处显示静止的小球:#include <stdio.h>int main(){ int i,j; // 这两个量是循环中要使用的,一定先声明 int x = 5;

2021-02-16 16:33:57 1488 5

原创 数字配对 - [Python3]

数字配对 - [Python3]数字配对 是由 LintCode (详见 LintCode介绍)题目描述给出一个数组 nums,将数组中的数两两配对。令数组 sums 为配对后每组数字的和,要求 sums 的极差最小。请计算并返回可能的最小的 sums 的极差。极差就是数组中最大最小值的差值。注意事项nums 长度为 n , 2 <= n <= 10^(5) 且 n 为偶数。nums 中每一项 k 满足 0 <= k <= 10^(9)...

2021-02-14 20:40:52 793 4

原创 山羊拉丁文 - [Python3]

山羊拉丁文 - [Python3]山羊拉丁文( 这是个很奇怪的名字 ) 是由 LintCode (详见 LintCode介绍)提供的一道 简单 级别的面试题,接下来我对Python3的实现做以简单解释。题目描述给定句子S,其由用空格分隔的单词组成。 每个单词仅包含小写和大写字母。我们想将句子转换为“Goat Latin”(一种类似于Pig Latin的伪造语言)。Goat Latin的规则如下:如果一个单词以元音(a,e,i,o或u)开头,则在单词的末尾附加“ma”。例如,“apple”这个词

2021-02-14 17:21:12 467 3

原创 CAT专属题--合法标识符 [Python3]

CAT专属题–合法标识符 [Python3]合法标识符 是 LintCode(详见 LintCode介绍)所提供的一道 CAT 评测专属题目,现在我对Python3的实现做以简单分析,如有不妥之处,欢迎指正。题目描述和变量命名有点类似,现在对合法标识符的命名做出以下规定:标识符只能包含大小写字母、数字、以及下划线。标识符不能以数字开头。标识符若以字母开头,必须为大写字母。标识符不能包含其他字符(空格也不行!)。要求/示例题目要求若输入的标识符为合法标识符(符合以上要求),则需要返回

2021-02-09 20:16:39 467 1

原创 形状工厂 [Python3]

形状工厂 [Python3]题目描述工厂模式是一种常见的设计模式。实现一个形状工厂 ShapeFactory 来创建不同的形状类。这里我们假设只有三角形,正方形和矩形三种形状。样例例1:输入:sf = new ShapeFactory();shape = sf.getShape(“Square”);shape.draw();输出: ---- | | | | ----例2:输入:sf = new ShapeFactory();shape

2021-02-06 12:02:43 570 2

原创 双端队列 [Python3]

双端队列 [Python3]双端队列 是 LintCode(详见 LintCode介绍)所提供的一道 简单 级别的面试题,现在我对Python3的实现做以简单分析,如有不妥之处,欢迎指正。题目描述实现一个双端队列push_front(item). 将新项添加到队列的前面。push_back(item). 将新项添加到队列的后面。pop_front(). 将第一个项移出队列,返回它。pop_back(). 将最后一项移出队列,返回它。样例例1:输入:push_front(1)pus

2021-02-06 11:58:29 567 2

原创 丢鸡蛋 [Python3]

丢鸡蛋 [Python3]'丢鸡蛋’是 LintCode(详见 LintCode 介绍)所提供的一道 简单 级别的面试题,现在我对Python3的实现做以简单分析,如有不妥之处,欢迎指正。题目描述楼有 n 层高,鸡蛋若从 k 层或以上扔,就会碎。从 k 层以下扔,就不会碎。现在给两个鸡蛋,用最少的扔的次数找到 k。返回最坏情况下次数。说明这个题目真的不好搞懂。用最少的次数就是要用最好的判断方法,最坏的情况就是在你所想出最好的方法下最多所需要的判断次数,对于同一种方法而言,很明显楼层越高所需要的“

2021-02-04 12:07:43 445 4

原创 识别字符串 [Python3]

识别字符串 [Python3]识别字符串 是 LintCode(详见 LintCode介绍)所提供的一道 简单 级别的面试题,现在我对Python3的实现做以简单分析,如有不妥之处,欢迎指正。题目描述给定一组n个仅包含小写字母的字符串,为每个字符串找出能够唯一识别该字符串的最小前缀即可以识别A串的最小前缀Ap,不会是其他n-1个字符串的前缀。1 <= n <= 500;字符串长度不超过100;如果一个字符串S是另一个字符串T的前缀,则S的最小可识别前缀为S。样例看完题目描述有没

2021-02-04 12:05:36 1262 4

原创 从不充值的玩家 SQL查询

从不充值的玩家从不充值的玩家 是 LintCode(见 LintCode介绍) 提供的一道入门级数据库面试题,接下来对其进行简单分析。描述某游戏数据库包含两个表,用户 (users) 表和充值 (recharges) 表,编写一个 SQL 查询,找出所有从未充值的玩家。1: users (用户表)列名类型注释idint unsigned主键namevarchar用户姓名2: recharges (充值表)列名类型注释idint u

2021-02-02 13:16:10 452 4

原创 LintCode 介绍

第一次在CSDN上发布文章作为一名代码小白,有幸来到CSDN进行学习,同时也是很幸运地被介绍了LintCode并且在其中练习各类算法题目,我将在CSDN中分享在LintCode中的经历,希望有大佬多带带我!LintCode网站概括LintCode是一个集合了大量算法面试题和AI面试题的网站,它为全世界的码农提供了练习自我技能的良好平台,注册是免费的,并且会在注册或关注公众号绑定微信后赠送用户7天VIP【开放全部试题,还可以查看他人代码】。试题概况在LintCode中,新人VIP可以查看的题目包括1

2021-01-31 20:27:03 17919 7

空空如也

空空如也

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

TA关注的人

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