编程辅导简单教程

题单介绍

作者:包思远 ## 前言 本教程偏向于实用型而不是学术型,因此教程里可能会有一些非学术性(/非专业)词语,只是为了更加生动形象的体现某个或某些知识点,请大家见谅。【注:本教程中用双“$”标出的文字或段落均为上文的注释】 编者著 2023年1月16日 ## 第一章 C++部分 ### 第一节 前言 本章将讲解关于C++编程的内容。C++编程目前可分为基础C++编程、游戏C++编程、网页C++编程,本章将详细讲解这些内容。 ### 第二节 基础C++编程 基础C++编程知识大致就是我们在酷町堂学到的那些知识,他们比较简单,确实最最基础的东西,不学好他们,无法进行下面的“游戏C++编程”和“网页C++编程”。 由于基础C++编程知识繁多且简单,大家可以参照酷町堂和一些C++教程去学习。 推荐C++教程:https://www.runoob.com/cplusplus/cpp-tutorial.html 本节将不再讲述这一方面的内容。 ### 第三节 游戏C++编程 游戏C++编程用的是基础C++编程的语法结构,但增加了许多函数,比如system函数(命令指示符函数)、Sleep函数(等待函数)等,本节将详细讲述这些内容。 #### 1.3.1 system函数(命令指示符函数) system函数的原型为: ```cpp int __cdecl system(const char *_Command); ``` 需要process.h头文件,但是为了方便,推荐使用windoes.h头文件,该头文件同基础C++编程中的bits/stdc++.h类似,都是集合头文件,他的里面包含了许多游戏C++编程所需要的函数的所需头文件。 system函数的*_Command参数有很多选择,最常用的就是用来执行清屏命令的"cls"了。 用法:system("cls"); 不过为了简便使用过程,可以自定义一个函数: ```cpp void cls(){ system("cls"); } ``` 这样使用时直接使用cls();就行。 #### 1.3.2 Sleep函数(等待函数) Sleep函数的原型为: ```cpp WINBASEAPI VOID WINAPI Sleep (DWORD dwMilliseconds); ``` 需要synchapi.h头文件,同以前一样,使用windous.h头文件即可。 Sleep函数的参数dwMilliseconds可以想象成一个无符号整型的数,如果输入一个负数编译不会错,但运行时会无限等待。这个数的单位是毫秒,1000毫秒=1秒,即Sleep(1000);就是等待1秒。 同样的,我们可以简化一下: ```cpp void sleep(int len){ Sleep(len); } ``` 这样直接使用sleep(len)就行。(len和dwMilliseconds一样,dwMilliseconds该填什么len就填什么) 通常清屏函数和等待函数是一起用的,故有: ```cpp void cls(){ system("cls"); } void sleep(int len){ Sleep(len); } void sleep_cls(int len){ sleep(len); cls(); } #define sc() sleep_cls() ``` 直接使用sc(len)即可,len的意义和上面一样。 #### 1.3.3 颜色函数 颜色函数原型: ```cpp WINBASEAPI WINBOOL WINAPI SetConsoleTextAttribute(HANDLE hConsoleOutput,WORD wAttributes); ``` 需要wincon.h头文件,但还是照常使用windows.h头文件即可。 函数简化版: 有多种版本。 版本1: $注释:来自薛乘志$ ```cpp void color(int ForgC,int BackC){//前景色,背景色 WORD wColor=((BackC & OxOF)<<4)+(ForgC & OxOF); SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), wColor); } ``` 版本2: $注释:来自沙宸安$ ```cpp void color(int corcorcor){ SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), corcorcor); } ``` 版本3: ```cpp void CLOUR(int p,int x){ //p=1 字体颜色 //p=2 背景颜色 //x=1 红色 //x=2 绿色 //x=3 蓝色 //x=4 黄色 //x=5 粉色 //x=6 青色 //x=7 白色 //x=8 原色(灰色) if(p==1){ if(x==1)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED); if(x==2)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN); if(x==3)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE); if(x==4)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN); if(x==5)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE); if(x==6)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE); if(x==7)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE); if(x==8)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY); } else if(p==2){ if(x==1)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_RED); if(x==2)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_GREEN); if(x==3)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_BLUE); if(x==4)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_RED|BACKGROUND_GREEN); if(x==5)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_RED|BACKGROUND_BLUE); if(x==6)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_GREEN|BACKGROUND_BLUE); if(x==7)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_RED|BACKGROUND_GREEN|BACKGROUND_BLUE); if(x==8)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY); } } ``` 照常使用就行。(推荐版本1) #### 1.3.4 其他函数 游戏C++编程当中还有许许多多的函数,他们的功能各有不同,在此就不一一赘述,想知道某个功能的函数可以百度一下。 #### 1.3.5 小节 本节讲了游戏C++编程当中最重要的三个函数:清屏函数、等待函数、颜色函数,还有众多的函数没有阐述,有需要的可以百度。下一节我们将讲述网页C++编程的相关内容。 ### 1.4 网页C++编程(文本) 网页C++编程于我们来说,更准确来说就是酷町平台编程,因为我们常用的网页C++编程的编译器(/执行器/运行器)就是酷町平台的编译器(/执行器/运行器)。网页C++编程和游戏C++编程80%的情况都是一样的,不一样的地方在于一些函数的名称不一样、用法不一样以及多了一个重要的功能,这个功能我们不久就要讲述他。本节只讲述网页C++编程中文本编程的相关内容。 #### 1.4.1 网页C++编程与游戏C++编程不同之处1--函数名称、用法的区别 可以参考酷町平台的官方文档:https://kuding1024.com/#/doc?id=21 https://kuding1024.com/#/doc?id=6 再此不一一讲述了。 #### 1.4.2 网页C++编程与游戏C++编程不同之处2--重要功能函数--emscripten_run_script emscripten_run_script函数是网页C++编程与游戏C++编程最大的不同之处,这个函数能在网页里运行JS代码,又因为JS代码和HTML代码是能够互相使用的,在JS里能使用HTML,在HTML里能使用JS,所以现在HTML也能用了,进而就可以利用网页C++编程来编写网页。 可以参考https://wenda.codingtang.com/questions/22384/ 里给出的酷町堂头文件PLUS代码及例子,也可以查看https://www.luogu.com.cn/paste/sm16buie 或 https://github.com/BaoSiYuanCODE/Bao-Siyuan-s-Personal-Works/blob/main/酷町堂头文件PLUS.cpp 直接复制使用酷町堂头文件PLUS的代码。 下面先介绍一下emscripten_run_script系列函数。 1、emscripten_run_script函数的原型为: ```cpp void emscripten_run_script(const char *script); ``` 意思非常简单,就是运行代码为script的JS代码。参数script为包含JS语句的字符串。该函数无返回值。 2、emscripten_run_script_int函数原型为: ```cpp int emscripten_run_script_int(const char *script); ``` 该函数除了返回值为int类型外,其余用法均和emscripten_run_script函数一样。 3、emscripten_run_script_string函数原型为: ```cpp char *emscripten_run_script_string(const char *script); ``` 该函数除了返回值为string类型外,其余用法均和emscripten_run_script函数、emscripten_run_script_int函数一样。 $注释: 参考文档: http://codingsky.com/b/767368973/4111944330.html $ #### 1.4.3 小节 本节讲述了和网页C++编程相关的内容,至此本教程第一章C++部分已全部讲完,接下来将进入第二章,讲述HTML相关的内容。 ## 第二章 HTML部分 html语言是编写网站时的重要语言,由于内容过多,本章不详细讲述,给个参考教程: https://www.runoob.com/html/html-tutorial.html ## 第三章 javascript部分 javascript语言简称js语言,和html一样,也是编写网站时的重要语言,本章同样不详细讲述,给个参考教程: https://www.runoob.com/js/js-tutorial.html ## 第四章 CSS部分 css语言是编写网站时的辅助语言,但也很重要,同样的,给个参考教程: https://www.runoob.com/css/css-tutorial.html

题目列表