青少年编程知识记录 codecoming

【C++图形化编程】flappy bird(2)—游戏逻辑与完善

0.前言    上一篇中,我们简单完成了flappy的图像导入和基本架构。这一篇文章中,我们继续完善。1.游戏逻辑这个游戏的简单逻辑就是:(1)初始状态(游戏一开始),小鸟就一直往下落,如果落地,则游戏结束            意为:小鸟的坐标会一直变化(往下),如果坐标到游戏边框的底部(高度),则游戏结束  (2) 
作者:亿万年的星光 分类:趣味小程序 浏览:

【C++图形化编程】小游戏——打砖块(1)

0.前言这篇文章我们尝试创建一个打砖块的小游戏。1.游戏框架根据我们前面做的一些游戏的框架,这个小游戏的框架也可以分为下面这样的框架。int main() { startup();  // 数据初始化 while (1)  //  游戏循环执行 { clean();  // 把之前绘制的内容取消 updateWithoutInput(); 
作者:亿万年的星光 分类:C++知识 浏览:

【C++图形化编程】flappy bird(1)—基础框架及图形图像

0.前言    前面一篇文章,我们简单介绍了鼠标的一些操作, 这篇文章,我们还是一个实战教程,flappy bird的小游戏。1.导入背景和音乐    一个小游戏,一般会有正常的背景和音乐,这个小游戏也是,所以我们先下载这个小游戏需要的背景和音乐。下载链接:https://box356.lanzoui.com/iTibzw7bgvc下载解压后就可以看到下面的内容,这就是我们要用的图片素材。有两个声音文件,其余都是图像文件。首先说一下,如

【C++图形化编程】鼠标函数及鼠标画板

0.前言这篇文章简单介绍一下利用鼠标画图的程序#include<graphics.h> #include<conio.h> int main(){ initgraph(640,480); MOUSEMSG m;  //定义鼠标消息 while(1){ //获取一条消息 m=GetMouseMsg(); if(m.uMsg==WM_MOUSEMOVE){ putpixel(m.x,m.y,WH
作者:亿万年的星光 分类:C++知识 浏览:

C++小项目——实时钟表

0.前言在很多游戏中,我们要使用时间,这个时间一个是系统当前的时间,一个是服务器给你的时间。这篇文章我们尝试做一个模拟时钟。效果图如下1.任务分解1.首先我们尝试使用easyx来画一个。基本框架如下:#include<graphics.h> #include<conio.h> #define High 480  //画布高 #define Width 640  //画布宽度 i
作者:亿万年的星光 分类:C++知识 浏览:

【算法】二叉树(1):二叉树及其编号

0.前言   

     二叉树(Binary Tree)的递归定义如下:二叉树要么为空,要么由根结点(root)、左子树(left subtree)和右子树(right subtree)组成,而左子树和右子树分别是一棵二叉树。

    树(tree)和二叉树类似,区别在于每个结点不一定只有两棵子树。比如树的目录,根结点有12棵子树:第1章,第2章,第3章,。。。、第12章,而第一章又有5棵子树:1.1,1.2,1.3,。。。1.5。

1.二叉树的编号

    【例题】6-6 小球下落

    【题目描述】

     有一棵二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从上到下从左到右编号为1,2,3,。。。,2D-1。在结点1处放一个小球,它会往下落。每个内结点上都有一个开关,初始全部关闭。每当有小球落在一个开关上时,状态都会改变。当小球到达一个内结点时,如果该结点上的开关关闭,则往左走,否则往右走,直到走到叶子结点。如下图所示

一个小球从结点1开始依次下落,最后一个小球将会落在哪里?输入叶子深度D和小球个数I,输出第I个小球最后所在的叶子编号。假设I不超过整棵树的叶子个数。D<=20。输入最多包含1000组数据。

【样例输入1】

4 2  3 4  10 1  2 2  8 128  16 12345



【样例输出1】

12  7  512  3  255  36358



作者:亿万年的星光 分类:算法 浏览:

【题解】2019 T2 公交换乘

【题目描述】著名旅游城市 B 市为了鼓励大家采用公共交通方式出行,推出了一种地铁换乘公交车的优惠方案:1、在搭乘一次地铁后可以获得一张优惠票,有效期为 45 分钟,在有效期内可以消耗这张优惠票,免费搭乘一次票价不超过地铁票价的公交车。在有效期内指开始乘公交车的时间与开始乘地铁的时间之差小于等于 45 分钟,即:tbus−tsubway≤452、搭乘地铁获得的优惠票可以累积,即可以连续搭乘若干次地铁后再连续使用优惠票搭乘公交车。3、搭乘公交车时,如果可以使用优惠票一定

标签: cspj2019模拟

作者:亿万年的星光 分类:题解目录 浏览:

【题解】找零钱—动态规划

给定一些人民币的面额,数量不限,要求找出金额为m元且人民币张数最少的方案。这个问题既可以是一个贪心问题也可以是一个动态规划的问题。对于现行的人民币面额:1、2、5、10、20、50、100,我们找任何金额的零钱都可以使用贪心法求解,比如找72元 = 50 + 20 + 2,3张人民币即可实现。但如果面额发生变化的话,则用贪心算法无法求出最优解,例如面额为1、3、6、7, 要找12元的话只能是 12 = 7 + 3 + 1 + 1必须使用4张人民币,而最优解为12 = 6 + 6,两张人民币即可。
作者:亿万年的星光 分类:题解目录 浏览:

【算法】动态规划(三)——解题方法与解题思路

0.前言动态规划最核心的思想就是:拆分子问题,记住过往,减少重复计算。动态规划可以从下面的参考网上的一个例子:A :"1+1+1+1+1+1+1+1 =?" A :"上面等式的值是多少" B :计算 "8" A :  在上面等式的左边写上 "1+" 呢? A : "此时等式的值为多
作者:亿万年的星光 分类:算法 浏览:

【题解】2020-T1 优秀的拆分

【题目描述】一般来说,一个正整数可以拆分成若干个正整数的和。例如,1=1,10=1+2+3+4等。对于正整数n的一种特定拆分,当且仅当在这种拆分下,n被分解为若干个不同的2的正整数次幂。注意,一个数x能被表示成2的正整数次幂,当且仅当x能通过正整数个2相乘在一起得到。 例如,10=8+2=23+21是一个优秀的拆分。但是,7=4+2+1=22+21+20 就不是一个优秀的拆分,因为1不是2的正整数次幂。 现在,给定正整数n,你需要判断这个数的所有拆分中,是否存在优秀的拆分,若
作者:亿万年的星光 分类:题解目录 浏览: