2020.3.19

今天从github上看到了一个小游戏2048,下载了源代码看了看,觉得不错,这个里面有很多东西值得学习,

1、C++如何判断输入的方向键

首先,想要判断键盘输入,需要一个头文件,下面是代码的实现部分

#include 
#include 
using namespace std;
int main()
{
      int ch; //接收输入信息
      while (1)        //这里好像必须得用循环,或者说必须得输入至少两次才行
      {

            ch = getch();
            //getch一般用来做游戏,因为他不会将输入的字符回显到屏幕上
            switch (ch)
            {
            case 72:
                  cout << "上" << endl;
                  break;
            case 80:
                  cout << "下" << endl;
                  break;
            case 75:
                  cout << "左" << endl;
                  break;
            case 77:
                  cout << "右" << endl;
                  break;
            }
      }

      return 0;
}

如何处理多种情况对应一种操作的情况

经常会遇到输入w,W,↑时对应一种操作的情况,这个时候大部分是用switch,代码这样写:

switch(a)
{
    case 'w':
    case 'W':
    case 72:
                //do something
}

如何让用户在括号里面输入内容呢?

      int n;
      cout << "请输入内容:[ ]\b\b";    //注意,这个括号里面右空格
      cin >> n;

string类型的复制函数

append函数

string str1 = ("hello world");
string str2;
str.append(str1,0,str1.size());
//第二个参数表示复制的起始位置,第三个参数表示复制的个数,(注意,不是结束位置)


//如果想把str1整个搞过来的话
str2.append(str1);

to_string函数

作用:将数字转化为string类型

string str1;
int a = 12345;
str1 = to_string(a);
cout << str1 << endl;
//输出结果是12345
//注意:a的类型仍然是整形,没有变

下面是函数的声明:

2020.3.19_第1张图片

可见,都是按值传递,不会改变原来的东西。

一个新函数log10()

#include    //头文件
int main()
{
    int a = 10;
    int t = log10(a);
    //t的值为1
    return 0;
}

这个函数上来就是log10(),那么如果我想计算log3()呢? 

int a = log(27) / log(3);    //这个就是计算log3(27)

当然,说到对数肯定少不了我们的loge了,

double a = loglp(10);    //这个loglp就是自然对数

string.replace()函数

如何将string中的一部分替换为想要的东西呢

#include 
#include 
 
int main()
{
    std::string str("The quick brown fox jumps over the lazy dog.");
 
    str.replace(10, 5, "red"); // (5)
    //替换第十个位置的字符,替换数目为5个,替换为"red"
 
    str.replace(str.begin(), str.begin() + 3, 1, 'A'); // (6)
 
    std::cout << str << '\n';
    //输出结果是    A quick red fox jumps over the lazy dog.
}

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(学习笔记)