青少年编程知识记录 codecoming

C++使用键盘控制物体移动

0.前言在前面几篇文章中,学习了键盘事件和光标移动,在这篇文章中,我们要使用键盘的上下左右键控制在控制台中出现的角色1.原理因为我们要通过移动键盘控制光标位置,那么在此之前需要提前获取到光标位置,然后再捕获键盘事件,根据按键给gotoxy函数参数,让光标移动到参数位置,然后刷新控制台,就可以实现“移动”的效果。2.获取光标当前位置函数通过下面这个函数可以获取到当前光标。void getXY()  {      HANDLE
作者:亿万年的星光 分类:趣味小程序 浏览:

C++在指定位置输出符号

0.前言需要做控制台小游戏,需要获取光标在控制台的位置,从网上查到了gotoxy()函数可以实现,但是在DEVC++环境中直接调用这个gotoxy()会报错,于是查了一些资料,把过程记录下来。1.过程实现在DEVC++环境使用gotoxy()函数需要先定义,函数定义如下:void gotoxy(int x, int y) {     COORD pos = {x,y}; &
作者:亿万年的星光 分类:趣味小程序 浏览:

C++小游戏—猜数游戏

0.游戏内容玩家猜电脑产生的数字,一个两次机会,才对了给提示,猜错减去一次机会。1.参考代码#include<iostream>#include<cstdlib>#include<ctime>using namespace std;int main() {    srand((int)time(0)); //种子    int life=2; //一共两次机会    int num =rand()%5
作者:亿万年的星光 分类:趣味小程序 浏览:

C++实现弹窗效果

1.格式C++实现弹窗效果需要用到messagebox,这个我在C#中用过,C++也有类似用法。messagebox函数,需要引入<windows.h>头文件2.简单用法#include<windows.h> using namespace std; int main() { MessageBox(NULL,"我是消息内容","我是标题",MB_OK); return 0;
作者:亿万年的星光 分类:趣味小程序 浏览:

C++产生随机数

0.前言想做一个掷骰子的小游戏,需要用到随机数函数,于是查了一些资料,整理了一下。1.随机数函数C++产生随机数需要用到rand()和srand()函数。期中,(1)rand()叫随机数发生器,所在头文件是<cstdlib>,可以产生随机数,例如下面这个程序就是产生10以内的随机数。#include <iostream>#include <cstdlib>using namespace std;int main(){    for (int
作者:亿万年的星光 分类:趣味小程序 浏览:

C++小游戏制作基础—键盘事件

0.前言我们制作小游戏的时候,需要用到键盘,一般是控制上下左右,这个时候就需要用到键盘事件了。1.键盘事件需要用到<conio.h>头文件,和_kbhit()函数程序参考:#include <conio.h>#include <iostream>using namespace std;int main(){    int ch;    while (1){        if (_
作者:亿万年的星光 分类:趣味小程序 浏览:

C++如何在控制台不同区域显示不同颜色

0.前言在前面的文章中,我们介绍过让控制台”五彩斑斓“。但是有一个问题,就是使用system(“color A9”)这种方式,这种方式是一种全局的配置,会把原来的颜色给换掉,很难实现不同区域不同颜色的效果,本文主要介绍一下如何使用C++在不同区域显示不同颜色。1.代码实现主要使用   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);这个指令最后一部分FOREGROUN
作者:亿万年的星光 分类:趣味小程序 浏览:

C++ 实用趣味小程序(1)

1.仿动画效果#include <cstdio>#include <windows.h>  //内含延时函数 #include <process.h> //内含清屏函数 int main(){    printf("■■\n");    printf("■■\n");    Sleep(430);    system("
作者:亿万年的星光 分类:趣味小程序 浏览:

【高级篇】C++ 中string的用法

0.概述string是C++标准库的一个重要部分,本意是字符串,和字符数组不同的是,字符数组是通过一个一个字符模拟的字符串,而string本身就是字符串,string在处理字符串问题时,十分强大。1.字符和字符串的区别在C++语言中,字符和字符串有着严格的区别,char  c;   // 字符, c=‘s’;   // 字符的赋值用单引号char  ary[10];   //字符数组cin>>ary;   //字符数组的赋
作者:亿万年的星光 分类:C++知识 浏览:

【初级篇】求最大公约数的方法

1.辗转相除法

int gcd(int a,int b)     {        if(a%b==0)           return b;       else           return gcd(b,a%b);   }

2.穷举法

int divisor (int a, int b) //自定义函数求两数的最大公约数     {        int  temp;//定义整型变量       temp=(a>b)?b:a;//采种条件运算表达式求出两个数中的最小值       while(temp>0)          {                if(a%temp==0&&b%temp==0)//只要找到一个数能同时被a,b所整除,则中止循环                break;                temp--;//如不满足if条件则变量自减,直到能被a,b所整除         }        return (temp);//返回满足条件的数到主调函数处     }

3.更相减损法

 int gcd2(int m,int n)   {       int i=0,temp,x;       while(m%2==0&&n%2==0)//判断m和n能被多少个2整除      {           m/=2;           n/=2;           i+=1;      }        if(m<n)//m保存大的值     {          temp=m;          m=n;          n=temp;     }        while(x)     {          x=m-n;          m=(n>x)?n:x;          n=(n<x)?n:x;          if(n==(m-n))          break;     }      if(i==0)      return n;          else          return (int) pow(2,i)*n;    }

4.其他方法

int gcd(int a,int b)  {      int c;      while(b)      {          c=a%b;          a=b;b=c;      }      return a;  }



作者:亿万年的星光 分类:C++知识 浏览: