用户:
IDF哲宇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++呢?