猫史档案馆


c++教程(弄一个简易画板)

用户:IDF哲宇MIKEIDF哲宇MIKE查看:2 回复:8 评论:2 创建时间:2021-09-20T11:10:30


 

先讲一下这个画板是这样用的

1-7是颜色

8停止运行

9是保存

0是调出上一次的存档

先放个头文件

#include <bits/stdc++.h>
#include <conio.h>
#include <windows.h>
using namespace std;

我那乱七八糟的变量名可能要花很久才能看懂......

int a[2000],b[2000][2000],x,y,z,i=0,w,s;

接着定义函数

我也不知道咋讲,看代码吧

void ColorChoose(int color)   //颜色选择函数

{
    switch(color)

    {

           case 1:               //天蓝色(我的喵颜色)

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
			cout<<"█";
            break;

        case 2:               //绿色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);    
			cout<<"█";
            break;

        case 3:               //黄色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
			cout<<"█";
            break;

        case 4:               //红色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
			cout<<"█";
            break;

        case 5:               //紫色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
			cout<<"█";
            break;

        case 6:               //白色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN);
			cout<<"█";
            break;

        case 7:               //深蓝色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
            cout<<"█";
            break;

    }

}

接着就是主函数了

int ch;
while (z!=1){
    if (_kbhit()){//如果有按键按下,则_kbhit()函数返回真
        ch = _getch();//使用_getch()函数获取按下的键值
    }
}

ch是用来识别你按下的键的

接着下面就是完整的代码啦

#include<bits/stdc++.h>
#include <conio.h>
#include <windows.h>
using namespace std;
int a[2000],b[2000][2000],z,i=0,w,s;
void ColorChoose(int color)   //颜色选择函数

{
    switch(color)

    {

           case 1:               //天蓝色(我的喵颜色)

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
			cout<<"█";
            break;

        case 2:               //绿色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);    
			cout<<"█";
            break;

        case 3:               //黄色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
			cout<<"█";
            break;

        case 4:               //红色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
			cout<<"█";
            break;

        case 5:               //紫色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
			cout<<"█";
            break;

        case 6:               //白色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN);
			cout<<"█";
            break;

        case 7:               //深蓝色

            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
            cout<<"█";
            break;

    }

}

int main(){
	int ch;
    while (z!=1){
        if (_kbhit()){//如果有按键按下,则_kbhit()函数返回真
            ch = _getch();//使用_getch()函数获取按下的键值
            if(ch==49){ ColorChoose(1);
            a[i]=49;
            i++;
			}else if(ch==50){ ColorChoose(2);
			a[i]=50;
			i++;
			}else if(ch==51){ ColorChoose(3);
			a[i]=51;
			i++;
			}else if(ch==52){ ColorChoose(4);
			a[i]=52;
			i++;
			}else if(ch==53){ ColorChoose(5);
			a[i]=53;
			i++;
			}else if(ch==54){ ColorChoose(6);
			a[i]=54;
			i++;
			}else if(ch==55){ ColorChoose(7);
			a[i]=55;
			i++;
			}else if(ch==56){ z++;
			a[i]=56;
			i++;
			}else if(ch==57){
			ofstream fout("D:/画板输出.txt");
			fout<<i<<" ";
			s=i;
			i=0;
			while(i<s){
				if(a[i]==0) i++;
				fout<<a[i]<<" ";
				i++;
		}
			fout.close();
			}else if(ch==48){
			ifstream fin("D:/画板输出.txt");
			fin>>i;
			s=i;
			i=0;
			while(i<s){
				fin>>a[i];
				i++;
			}
			i=0;
			while(i<s){
			if(a[i]==0) i++;
			if(a[i]==49){ ColorChoose(1);
			}else if(a[i]==50){ ColorChoose(2);
			}else if(a[i]==51){ ColorChoose(3);
			}else if(a[i]==52){ ColorChoose(4);
			}else if(a[i]==53){ ColorChoose(5);
			}else if(a[i]==54){ ColorChoose(6);
			}else if(a[i]==55){ ColorChoose(7);
			}else if(a[i]==56){ z++;
			}else if(a[i]==13){ cout<<endl;
			}else if(a[i]==32){ cout<<" ";
			}
			i++;
			fin.close();
			w=1;
		}
			}else if(ch==13){ cout<<endl;
			a[i]=13;
			i++;
			}else if(ch==32){ cout<<" ";
			a[i]=32;
			i++;
			}
    }
}
	return 0;
}

不喜勿喷

不知道你们有没有学C++呢?


回复

上一页1 页 / 共 1下一页
IDF哲宇MIKEIDF哲宇MIKE

顶顶

点赞0


评论


IDF哲宇MIKEIDF哲宇MIKE

顶顶顶

点赞0


评论


IDF哲宇MIKEIDF哲宇MIKE

顶顶顶顶

点赞0


评论


IDF哲宇MIKEIDF哲宇MIKE

顶顶顶顶顶

点赞0


评论


AlcalaAlcala

考虑出几期算法教程?(

点赞1


评论


迷失冷光迷失冷光

分区

点赞0


评论


IDF哲宇MIKEIDF哲宇MIKE

顶顶

点赞0


评论


IDF哲宇MIKEIDF哲宇MIKE

顶顶顶

点赞0


评论