精华内容
下载资源
问答
  • MATLAB有趣或有用小程序合集

    千次阅读 多人点赞 2021-01-06 00:11:18
    这是一些比较有趣,但是感觉不值得单独发文章的小程序合集: 不定时更新,大家可以闲的没事来淘个宝 这里写目录标题1.字幕画2.鱼形曲线3.鼠标沙盘4.地图寻路演示 1.字幕画 动图: 代码分为两个m文件 直接运行...

    最近编辑时间:2021-5-11
    这是一些比较有趣,但是感觉不值得单独发文章的小程序合集:
    不定时更新,大家可以闲的没事来淘个宝

    1.字幕画

    在这里插入图片描述
    动图:

    在这里插入图片描述
    代码分为两个m文件
    直接运行drawCaption或命令行打出
    drawCaption(‘想发的文字’)即可

    drawCaption.m

    function drawCaption(string)
    if nargin<1
        string='欢迎关注我的CSDN';
    end
    string=[string,' '];
    CaptionMat=zeros(25*length(string),25);
    for i=1:length(string)
        CaptionMat(25*(i-1)+1:25*i,:)=getWordMatrix(string(i));
    end
    CaptionMat=[CaptionMat;CaptionMat;CaptionMat];
    
    fig=figure('units','pixels',...
            'position',[100 300 1000 250],...
            'Numbertitle','off',...
            'Color',[0 0 0],...
            'resize','off',...
             'menubar','none');
    
    ax=axes('Units','pixels',...
            'parent',fig,...  
            'Color',[0 0 0],...
            'Position',[0 0 1000 250],...
            'XLim',[0 140],...
            'YLim',[0-5 25+5],...
            'XColor',[0 0 0],...
            'YColor',[0 0 0]);
    hold(ax,'on')
    [xSet,ySet]=find(CaptionMat~=0);
    
    
    offset=0;
    drawHdl=scatter(xSet+140-offset,ySet,28,'s','filled');
    
    fps=25;
    DCtimer=timer('ExecutionMode', 'FixedRate', 'Period',1/fps, 'TimerFcn', @refreshWord);
    start(DCtimer)
        function refreshWord(~,~)
            offset=offset+1;
            if mod(offset,length(string)*50)==0
                offset=offset-length(string)*25;
            end
            set(drawHdl,'XData',xSet+140-offset)  
        end
    end
    

    getWordMatrix.m

    function wordMatrix=getWordMatrix(char)
    fig=figure('units','pixels',...
            'position',[20 20 160 160],...
            'Numbertitle','off',...
            'Color',[1 1 1],...
            'resize','off',...
            'visible','off',...
             'menubar','none');
    
    ax=axes('Units','pixels',...
            'parent',fig,...  
            'Color',[1 1 1],...
            'Position',[0 0 160 160],...
            'XLim',[0 16],...
            'YLim',[0 16],...
            'XColor',[1 1 1],...
            'YColor',[1 1 1]);
    hold(ax,'on')
    %,'FontWeight','bold
    text(ax,8,8.5,char,'HorizontalAlignment','center','FontSize',120)
    if 1
    saveas(fig,['.\',char,'.png']);
    
    pic=imread(['.\',char,'.png']);
    delete(['.\',char,'.png'])
    delete(ax)
    close
    
    [rowMax,colMax,~]=size(pic);
    picData=pic(:,:,1);
    picData(picData<125)=1;
    picData(picData>=125)=0;
    
    wordMatrix=zeros(25,25);
    for i=1:25
        rowLim=round([i-1,i]./25.*rowMax);
        rowLim(rowLim==0)=1;
        
        for j=1:25
            colLim=round([j-1,j]./25.*colMax);
            colLim(colLim==0)=1;
            wordMatrix(i,j)=sum(sum(picData(rowLim(1):rowLim(2),colLim(1):colLim(2))));
        end
    end
    wordMatrix(wordMatrix<10)=0;
    wordMatrix=wordMatrix';
    wordMatrix=wordMatrix(:,end:-1:1);
    wordMatrix(wordMatrix~=0)=1;
    
    end
    end
    

    2.鱼形曲线

    函数来自万能的知乎
    在这里插入图片描述
    代码:

    hold on
    axis equal
    grid on
    X=0:1:1023;
    Y=0:1:1023;
    [gridX,gridY]=meshgrid(X,Y);
    FishPatternFcn=@(x,y)mod(abs(x.*sin(sqrt(x))+y.*sin(sqrt(y))).*pi./1024,1);
    contour(gridX,gridY,FishPatternFcn(gridX,gridY),[0.7,0.7])
    

    3.鼠标沙盘

    在这里插入图片描述
    代码:

    function getPointer
    fg=figure;
    fg.NumberTitle='off';
    fg.MenuBar='none';
    fg.Resize='off';
    fg.Position=[100 100 500 500];
    fg.Name='getPointer';
    
    ax=axes(fg);
    ax.Position=[0 0 1 1];
    ax.XLim=[-1 101];
    ax.YLim=[-1 101];
    ax.Color=[0 0 0];
    hold(ax,'on');
    [xSet,ySet]=meshgrid(0:100,0:100);
    xSet=xSet(:);ySet=ySet(:);
    oriX=xSet;oriY=ySet;
    sc=scatter(xSet,ySet,1,'filled','CData',[1 1 1]);
    
    
    set(gcf,'WindowButtonMotionFcn',@whilemovefcn)  
        function whilemovefcn(~,~)
            xy=get(gca,'CurrentPoint');
            x=xy(1,1);y=xy(1,2);
            nearPos=sqrt((xSet-x).^2+(ySet-y).^2)<5;
            xySet=[xSet,ySet];
            dir=[xSet,ySet]-[x,y];
            len=sqrt((xSet-x).^2+(ySet-y).^2);
            moveDis=5.8./(len+1);
            newPos=dir.*moveDis+[x,y];
            xySet(nearPos,:)=newPos(nearPos,:);
            set(sc,'XData',xySet(:,1),'YData',xySet(:,2))
            xSet=xySet(:,1);ySet=xySet(:,2);
        end
    
    fps=50;
    gptimer=timer('ExecutionMode', 'fixedRate', 'Period',1/fps, 'TimerFcn', @gp);
    start(gptimer)
    
        function gp(~,~)     
            dirX=oriX-xSet;
            dirY=oriY-ySet;
            xSet=xSet+dirX.*(1/15);
            ySet=ySet+dirY.*(1/15);
            set(sc,'XData',xSet,'YData',ySet)
        end
    end
    

    4.地图寻路演示

    在这里插入图片描述
    代码:

    function maze
    fg=gcf;
    fg.MenuBar='none';
    ax=axes(fg);
    ax.XLim=[0.5 30.5];
    ax.YLim=[0.5 20];
    ax.Position=[0 0 1 1];
    ax.YDir='reverse';
    ax.Toolbar.Visible='off';
    ax.DataAspectRatio=[1 1 1];
    ax.XColor=[.98 .98 .98];
    ax.YColor=[.98 .98 .98];
    hold(ax,'on')
    Map=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1;
         5 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1;
         1 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1;
         1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 1;
         1 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1;
         1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 1;
         1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 1 1;
         1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 1;
         1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 0 1;
         1 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 0 0 1;
         1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 1 1 1 0 1 1 1;
         1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 1;
         1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1;
         1 0 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1;
         1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1;
         1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1;
         1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1;
         1 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1;
         1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 4;
         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1];
    mazeImage=imagesc(Map);
    [startPnt.x,startPnt.y]=find(Map==5);
    [endPnt.x,endPnt.y]=find(Map==4);
    Dir=[1 0;0 -1;-1 0;0 1];
    Path=[startPnt.x,startPnt.y];
    breakflag=1;
    while(breakflag)
        tailPnt=Path(end,:);
        flag=0;
        for i=1:4
            if (tailPnt(1)+Dir(i,1)>=1&&tailPnt(1)+Dir(i,1)<=20&&...
                tailPnt(2)+Dir(i,2)>=1&&tailPnt(2)+Dir(i,2)<=30)&&...     
               (Map(tailPnt(1)+Dir(i,1),tailPnt(2)+Dir(i,2))==0||...
                Map(tailPnt(1)+Dir(i,1),tailPnt(2)+Dir(i,2))==4)
                flag=i;break;   
            end     
        end
        if flag==0
            Map(tailPnt(1),tailPnt(2))=3;
            Path(end,:)=[]; 
        else
            if Map(tailPnt(1)+Dir(flag,1),tailPnt(2)+Dir(flag,2))==4
                breakflag=0;
            else
                Map(tailPnt(1)+Dir(flag,1),tailPnt(2)+Dir(flag,2))=2;
                Path=[Path;tailPnt(1)+Dir(flag,1),tailPnt(2)+Dir(flag,2)];
            end
        end
        pause(0.02)
        delete(mazeImage);
        mazeImage=imagesc(Map);
    end
    
    
    
    end
    
    5.樱花树

    会生成随机形状樱花树
    在这里插入图片描述

    在这里插入图片描述

    function sakura
    hold on,axis equal
    axis(0.5+[-10,50,0,50])
    set(gca,'xtick',[],'ytick',[],'xcolor','w','ycolor','w')
    set(gca,'color',[0.5020    0.5020    0.5020])
    
    length_trunk=6;
    width_trunk=4;
    k1=0.9;
    k2=0.8;
    number_branch=15;
    alp=pi/10;
    length_branch=k1*length_trunk;
    width_branch=k2*width_trunk;
    trunk=[12,0;12,length_trunk];
    plot(trunk(:,1),trunk(:,2),'color',[0 0 0],'Linewidth',width_trunk)
    begins=[trunk(2,:),pi/2,1];
    grow=begins;
    plotdata=[0 0 0 0 0 0 0 0];
    plotdata(1,:)=[];
    for i=1:number_branch
        control=randi(25,[length(grow(:,1)),1])>=10;
        ag=grow(:,3);
        l=length(ag);
        parta=[length_branch.*k1.^grow(:,4).*cos(ag+ones(l,1)*alp),length_branch.*k1.^grow(:,4).*sin(ag+ones(l,1)*alp),ones(l,1)*alp,ones(l,1)];
        partb=[length_branch.*k1.^grow(:,4).*cos(ag-ones(l,1)*alp),length_branch.*k1.^grow(:,4).*sin(ag-ones(l,1)*alp),-ones(l,1)*alp,ones(l,1)];
        parta2=[0.8.*length_branch.*k1.^grow(:,4).*cos(ag),0.8.*length_branch.*k1.^grow(:,4).*sin(ag),zeros(l,1),ones(l,1)];
        partb2=[0.8.*length_branch.*k1.^grow(:,4).*cos(ag),0.8.*length_branch.*k1.^grow(:,4).*sin(ag),zeros(l,1),ones(l,1)];
        parta=control.*parta+(~control).*parta2;
        partb=control.*partb+(~control).*partb2;
        parta=parta+grow;
        partb=partb+grow;
        congress=[parta;partb];
        grow=[grow;grow];
        judge=[grow,congress];
        judge=unique(judge,'rows');
        grow=judge(:,5:end);
        plotdata=[plotdata;judge];
    end
    for i=1:number_branch
        temp_w=width_branch*0.8^i;
        temp_branch=plotdata(plotdata(:,4)==i,:);
        plx=[temp_branch(:,1),temp_branch(:,5)];
        ply=[temp_branch(:,2),temp_branch(:,6)];
        plx=plx';ply=ply';
        plot(plx,ply,'color',[0 0 0]+i*[0.3020 0.3020 0.3020]./number_branch,'Linewidth',temp_w)
    end
    
    bloom_pos=plotdata(plotdata(:,8)==number_branch+1,[5,6]);
    scatter(bloom_pos(:,1),bloom_pos(:,2),10,'CData',[0.8549    0.6824    0.6824])
    bloom_pos=plotdata(plotdata(:,8)==number_branch,[5,6]);
    scatter(bloom_pos(:,1),bloom_pos(:,2),8,'CData',[0.7451    0.5961    0.5961].*0.97)
    
    
    
    
    end
    
    6.字符画

    将图像转为字符画并存到test.txt内
    为了显示全可将txt内文本字体大小调小
    由于字间距问题图像会被略微拉长
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    function StringPic
    sizecol=256;
    OriPic=imread('图片存储位置');
    tempcol=size(OriPic,2);
    tempmul=sizecol/tempcol;
    OriPic=imresize(OriPic,tempmul,'nearest');
    GraPic=sum(OriPic,3)./3;if any(GraPic>1)
        GraPic=GraPic./255;
    end
    FillChar='$W&@E#8}]=+;;,,..  ';
    FillChar_Len=length(FillChar);
    GraPic=floor(GraPic./(1/(FillChar_Len-1)))+1;
    for i=1:size(GraPic,1)
        for j=1:size(GraPic,2)
            StrPic(i,j)=FillChar(GraPic(i,j));
        end
    end
    filename='test.txt';
    writematrix(StrPic,filename,'delimiter','tab')
    end
    
    7.you need MATLAB
    function life_is_short_I_choose_Python
    error('Life is short, you need MATLAB')
    end
    
    function life_is_short_I_choose_Python
    ME = MException('MATLAB:test','Life is short, you need MATLAB');throw(ME)
    end
    

    上下俩写法效果一样的:
    在这里插入图片描述

    8.图片各通道亮度频数直方图

    彩图直方图绘制效果:
    在这里插入图片描述
    灰度图直方图绘制效果:
    在这里插入图片描述

    代码:
    使用的时候改变imread中的图片文件路径即可

    function HistogramPic
    pic=imread('test.jpg');
    %pic=rgb2gray(pic);
    
    FreqNum=zeros(size(pic,3),256);
    for i=1:size(pic,3)
        for j=0:255
            FreqNum(i,j+1)=sum(sum(pic(:,:,i)==j));
        end
    end
    
    ax=gca;
    hold(ax,'on')
    
    if size(FreqNum,1)==3
        rBar=bar(0:255,FreqNum(1,:));
        gBar=bar(0:255,FreqNum(2,:));
        bBar=bar(0:255,FreqNum(3,:));
        rBar.FaceColor=[0.6350 0.0780 0.1840];
        gBar.FaceColor=[0.2400 0.5300 0.0900];
        bBar.FaceColor=[0      0.4470 0.7410];
        rBar.FaceAlpha=0.5;
        gBar.FaceAlpha=0.5;
        bBar.FaceAlpha=0.5;
        ax.XLabel.String='RGB brightness';
        
        rrange=find(FreqNum(1,:)~=0);
        rrange=[num2str(rrange(1)-1),' , ',num2str(rrange(end)-1)];
        grange=find(FreqNum(2,:)~=0);
        grange=[num2str(grange(1)-1),' , ',num2str(grange(end)-1)];
        brange=find(FreqNum(3,:)~=0);
        brange=[num2str(brange(1)-1),' , ',num2str(brange(end)-1)];
        legend({['R: range[',rrange,']'],...
                ['G: range[',grange,']'],...
                ['B: range[',brange,']']},...
                 'Location','northwest','Color',[0.9412    0.9412    0.9412],...
                 'FontName','Cambria','LineWidth',0.8,'FontSize',11);
    else 
        kBar=bar(0:255,FreqNum(1,:));
        kBar.FaceColor=[0.50 0.50 0.50];
        kBar.FaceAlpha=0.5;
        ax.XLabel.String='Gray scale';
        krange=find(FreqNum(1,:)~=0);
        krange=[num2str(krange(1)-1),' , ',num2str(krange(end)-1)];
        legend(['Gray: range[',krange,']'],...
               'Location','northwest','Color',[0.9412    0.9412    0.9412],...
               'FontName','Cambria','LineWidth',0.8,'FontSize',11);
    end
    box on
    grid on
    ax.LineWidth = 1;
    ax.GridLineStyle='--';
    ax.XLim=[-5 255];
    ax.XTick=[0:45:255,255];
    
    
    ax.XLabel.FontSize=13;
    ax.XLabel.FontName='Cambria';
    
    ax.YLabel.String='Frequency number';
    ax.YLabel.FontSize=13;
    ax.YLabel.FontName='Cambria';
    end
    
    展开全文
  • 到了初中,便按着规定学习了一点Pascal,在家里也自己写过一点极其简单的程序。高中会考也需要学习VisualBasic,但学的十分浅显,并无什么收获。C语言是大学的必修课,于是在军训期间,我就买来《C++Primer》自...

    虽然说中学没有参加过信息学竞赛,但相对来说,我接触编程算是比较早的。和我同龄的人,若小学参加过计算机竞赛,大概还对PC-logo有点印象,这算是我对编程的最初体验,这里就不叙述。到了初中,便按着规定学习了一点Pascal,在家里也自己写过一点极其简单的程序。高中会考也需要学习Visual

    Basic,但学的十分浅显,并无什么收获。

    C语言是大学的必修课,于是在军训期间,我就买来《C++

    Primer》自学C++(比较任性,学校会教的我就不想学)。事实证明,提前学C++对C语言课程非常有帮助。如果比较有天赋,一个星期每天花2个小时学点C++基础,则大学的C语言课几乎不需要听。(说得好像大学有谁在听课似的!)

    下面进入正题:

    解一个偏微分方程

    声明:我没有学过数值计算方法,一下所讲的方法纯属娱乐,不严谨和错误的地方,还请大神指出。

    学过数学物理方程的人,肯定都遇到过一个最基本的方程:

    a4c26d1e5885305701be709a3d33442f.png

    a4c26d1e5885305701be709a3d33442f.png

    一般来说,这种方程都是用本征函数法来解,需要求傅里叶级数。然而在某些特殊的情况下,这个方程的解却可以目测。

    既然可以目测,那就更可以编一个程序求解它。首先把x轴等间距分割一下,用一个数组表示不同x对应的u,再用一个数组储存速度v。

    我想你已经知道我的程序会怎么写了。

    废话不说,贴代码:

    #include "stdafx.h"

    #include <

    se-mark="1">iostream>

    #include <

    se-mark="1">fstream>

    using namespace

    std;

    int

    TimeProceed(double** XandV,int

    intervalNumber,double para,double

    timeInterval,int

    iterTime,fstream&writeTxt)

    {

    ///Vertex

    is fixed!!

    for(int

    i=1;i<

    se-mark="1">iterTime;i++)

    {

    for(int

    j=1;j

    {

    XandV[(2*i)%4][j]

    =

    XandV[(2*i-2)%4][j]+para*((XandV[(2*i-1)%4][j+1]-XandV[(2*i-1)%4][j])-(XandV[(2*i-1)%4][j]-XandV[(2*i-1)%4][j-1]));

    XandV[(2*i+1)%4][j]=XandV[(2*i-1)%4][j]+(double)1/2*timeInterval*(XandV[(2*i)%4][j]+XandV[(2*i-2)%4][j]);

    writeTxt<

    }

    //

    XandV[(2*i+1)%4][0]

    = XandV[(2*i+1)%4][intervalNumber-1] = 0;

    //

    writeTxt<

    }

    return

    0;

    }

    int

    main()

    {

    int

    intervalNumber,iterTime;

    double

    para,timeInterval;

    ///set

    parameters

    intervalNumber=99;iterTime

    = 100;

    para

    = 1;timeInterval = 0.1;

    ///

    double

    **XandV = new double* [4];

    XandV[0]=

    new double[intervalNumber];

    XandV[1]=

    new double[intervalNumber];

    XandV[2]=

    new double[intervalNumber];

    XandV[3]=

    new double[intervalNumber];

    Boundary

    Condition Initialize

    for(int

    i=0;i<

    se-mark="1">intervalNumber;i++)

    {

    XandV[0][i]

    = 0;

    if(i<=65)

    {

    XandV[1][i]

    = (double)i/20;

    }

    if(i>65)

    {

    XandV[1][i]

    = (double)66/20 - (double)(i-65)/10;

    }

    }

    fstream

    writeTxt;

    writeTxt.open("Solution.txt",ios::out);

    TimeProceed(XandV,intervalNumber,para,timeInterval,iterTime,writeTxt);

    return

    0;

    }

    程序看起来毫无漏洞。。

    a4c26d1e5885305701be709a3d33442f.png

    但是运算结果却有点问题:

    本应该是直线,怎么抖成了这个样子?

    有兴趣的可以更改程序参数试试

    未完待续。

    展开全文
  • 一个有趣小程序

    2021-05-20 17:00:31
    该楼层疑似违规已被系统折叠隐藏此楼查看此楼源码:#include #include #include #include #include HINSTANCE g_hInstance = 0;LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE ...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    源码:

    #include

    #include

    #include

    #include

    #include

    HINSTANCE g_hInstance = 0;

    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

    int WINAPI WinMain(

    HINSTANCE hInstance,

    HINSTANCE hPreInstance,

    LPSTR lpCmdLine,

    int nShowCmd

    )

    {

    g_hInstance = hInstance;

    srand((unsigned)time(NULL));

    //1.注册窗口类

    WNDCLASS wc = { 0 };

    wc.lpszClassName = _T("MyClass");

    wc.lpfnWndProc = WndProc;

    wc.hbrBackground = GetSysColorBrush(COLOR_WINDOW);

    RegisterClass(&wc);

    //2.创建窗口

    HWND hWnd = CreateWindow(

    wc.lpszClassName,

    _T("顽皮的按钮"),

    WS_OVERLAPPEDWINDOW,

    200, 100,

    640, 480,

    NULL,

    NULL,

    g_hInstance,

    0

    );

    //3.更新显示窗口

    UpdateWindow(hWnd);

    ShowWindow(hWnd, SW_SHOW);

    //4.消息循环

    MSG Msg = { 0 };

    while (GetMessage(&Msg, 0, 0, 0))

    {

    TranslateMessage(&Msg);

    DispatchMessage(&Msg);

    }

    return (int)Msg.lParam;

    }

    LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

    {

    static int nCnt = 0;

    switch (uMsg)

    {

    case WM_CREATE:

    {

    HWND hButton = CreateWindow(

    _T("button"),

    _T("来点我"),

    WS_CHILD | WS_VISIBLE,

    10, 10,

    80, 45,

    hWnd,

    HMENU(0x1000),

    g_hInstance,

    0

    );

    }break;

    case WM_COMMAND:

    {

    DWORD nCode = HIWORD(wParam);

    DWORD nId = LOWORD(wParam);

    if (nId == 0x1000 && nCode == BN_CLICKED)

    {

    if (nCnt == 10)

    {

    MessageBox(hWnd, _T("恭喜你点到了!"), _T("嘿嘿"), MB_OK);

    PostMessage(hWnd, WM_CLOSE, 0, 0);

    }

    HWND hButton1 = GetDlgItem(hWnd, 0x1000);

    int x = rand() % 520;

    int y = rand() % 390;

    MoveWindow(hButton1, x, y, 100, 50, true);

    UpdateWindow(hWnd);

    nCnt++;

    }

    }break;

    case WM_CLOSE:

    PostQuitMessage(0);

    break;

    }

    return DefWindowProc(hWnd, uMsg, wParam, lParam);

    }

    展开全文
  • 原标题:6款好玩有趣小程序推荐发现小程序 让生活变得更有趣1、像素君轻松制作属于自己独特的像素头像,自定义选择发型、发色、脸型、肤色、眼睛、鼻子、嘴巴、腮红、胡子、眼镜、帽子、衣服、道具、背景。...

    原标题:6款好玩有趣的小程序推荐

    发现小程序 让生活变得更有趣

    1、像素君

    轻松制作属于自己独特的像素头像,自定义选择发型、发色、脸型、肤色、眼睛、鼻子、嘴巴、腮红、胡子、眼镜、帽子、衣服、道具、背景。

    d46e567f851abe8c8851abd0d072eda8.png

    2、飞鸟听听

    “飞鸟听听”小程序是一款能把公众号文章读给你听的小程序,打开小程序,输入喜欢公众号的名称即可订阅。又或者可以选择推荐的公众号进行收听,同时你还可以设置音色,调整语速等。

    2136574d4e3eed9e3306584a3cf94c54.png

    3、萌翻牌牌

    萌翻牌牌,是把你的文字举起来的文字表情生成器。你可以输入你想说的话,用空格和换行来排列小人,设计你的专属表情。

    fdf224876e39766eb7889341437fd6ba.png

    4、画画猜猜

    没错,就是著名IP“你画我猜”的小程序版了,具体玩法跟独立APP的差别不大,是打发时间或者聚会暖场的神器。

    96b1e51e1b4f3638b9956238a63f7700.png

    5、很丧的书

    是不是偶尔感觉很丧,需要骂骂自己。没关系,感觉丧时,就让“很丧的书”来为你解答。一切都要看淡点,毕竟人生没有最丧,只有更丧。

    38959aad16cb8cf2d4f10a60c9ef2774.png

    6、手持弹幕

    简直是表白或者追星的神器!输入你想要显示弹幕的文字后,屏幕上便会不间断滚动文字,还可以设置文字的颜色、大小等。

    责任编辑:

    展开全文
  • 盲盒小程序开发设计

    2021-07-12 17:41:12
    盲盒小程序开发首页盒柜任务我的抽盒机盲盒购盲盒管理 首页 盒柜 任务 我的 抽盒机 盲盒购 盲盒管理 一、首页: 盲盒小程序的首页,一般包括广告banner位、主推的盲盒小程序的IP商品分类,盲盒新品首发栏目、盲盒...
  • 2012 年慈溪市小学生计算机程序设计比赛复赛试题比赛时间: 2012 年 12 月 23 日上午 8:30— 10:30题目概览中文题目名称统计成绩最小的 Y书架偶数字符串提交源程序文件名score.pasminy.pasbookshelf.passtring.pas...
  • 嘿嘿嘿!!!我是只可耐的测试妹子,喜欢玩也喜欢学习,之前同事们建议我开通GitHub来记录学习心得以及项目代码,我...so分割线||我要开始po这个简单有趣程序了,了解程序请往下看:首先打开cmd:cmd 中pip install...
  • #打印正三角 for i in range(row+1): for j in range(i+1):#没有空格 从1开始计算 print(" ",end=" ")#不需要加列 print("*",end=" ") print() #打印倒三角 for i in range(row+1): for j in range(row-i+1):#...
  • 【实例简介】该资源包括了60个matlab的小程序,容易理解,由易到难,对于初学者是一份很好的资料。【实例截图】【核心代码】60smallcodeMatlabforbeginners`-- 自学Matlab必备的60个小程序代码`-- Matlab|-- CN.m|--...
  • 长沙理工大学校友小程序 - 首页模块 长沙理工大学校友小程序 - 校友互助模块 长沙理工大学校友小程序 - 找校友模块 长沙理工大学校友小程序 - 校友活动模块 长沙理工大学校友小程序 - 后台管理模块
  • C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围...
  • 今日得闲,去上野的国立西洋美术馆逛了一圈。...AppStore搜了一圈格式转换软件都要花钱,于是一气之下,自己写了个格式转换的小程序,做了个tkinter的GUI,分分钟就转好了。这个小程序长这样:可以选择多个...
  • 大家好,我是TJ一个励志推荐10000款开源项目与工具的程序员有个小伙伴昨天问TJ君,有没有那种开源的小程序发布之后可以赚点零花钱的那种,他想学习一下顺便自己也赚点零花钱。小伙伴有诉求,T...
  • c语言程序设计

    2021-05-19 18:05:55
    c语言程序设计(计算机程序设计语言)编辑锁定讨论上传视频C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言...
  • C语言程序设计教程

    2021-05-20 01:05:46
    《C语言程序设计教程》以程序设计思维与应用技能培养为目的,语法引导和统一实例逐步展开,并辅以大量趣味案例训练为主线而编写,全书由14章和3个附录组成。基础内容8章,包括概述、数据类型和表达式、程序设计基础...
  • 猿仔今天就推荐10款小程序,吃喝玩乐发红包发祝福样样都不能缺,让你开开心心过大年!1、「狗年祝福语」新春佳节拜年祝福语免不了,「狗年祝福语」这款小程序内置了不少狗年祝福语,让你不需要再去百度搜索,并且可...
  • 《C语言程序设计》题目 走迷宫游戏程序设计内容本系统主要实现了走迷宫游戏,执行游戏的时候出现迷宫图案,每次各不相同,但是入口均在左上角,出口在右下角,出入口各有“出”、“入”提示。人物为㊣,“█”表示墙...
  • 项目介绍 ...一起来看看它都有哪些好用又有趣的功能吧! 秩年返校 永远欢迎校友“常回家看看”,校友可通过“秩年返校”功能,填写相关信息,提交返校申请,选择学生志愿者、俯瞰财园、参观校史馆、
  • [摘要]C语言程序设计是非计算机专业学生学习的第一门高级程序设计语言,在教授这门课程的时候,会发现教学中存在各种各样的问题。教师应该从实际应用出发,找到教学的重难点如算法和数据结构上,注重学生的逻辑思考...
  • 本文实例为大家分享了java实现打字游戏小程序的具体代码,供大家参考,具体内容如下一、设计思路1.创建一个窗体2.在窗体上放置一个面板,用paint方法画出英文字母,随机放置字母位置,并随时间自动下落3.设置得分...
  • mpVue 设计思路 Vue.js 和小程序都是典型的逻辑视图层框架,逻辑层和视图层之间的工作方式为:数据变更驱动视图更新;视图交互触发事件,事件响应函数修改数据再次触发视图更新,如图 1 所示。 图 1 小程序实现原理...
  • 抖音火爆表白小程序(C#语言实现)

    千次阅读 多人点赞 2021-04-06 22:27:30
    文章目录前言第一步:创建项目1、创建windows窗口应用程序2、更改项目名称和储存位置3、选择合适的.NET框架4、项目创建完成第二步:设计窗体1、添加控件2、更改属性3、更改窗体属性第三步:添加事件1、添加[好呀]...
  • 目录 1. 递归的本质 2. 河内塔问题 2. 兔子问题和斐波那契数列 ...递归是一种有趣程序设计方法,往往区区几行代码就能达到神奇的效果。递归同时是一种非常数学化的方法,其背后有着深刻的数学原理。递归是程序设计
  • 点击下面网址进入系列教程小程序默认是不支持table表格的,如果我们想实现小程序表格效果,就得自己拼凑。实现方案有很多,不过个人感觉通过form和input标签来实现是比较好的方式。Paste_Image.png下面来看下实现...
  • 20194220 2019-2020-2 《Python程序设计》实验四报告课程:《Python程序设计》班级: 1942姓名: 梁勇学号:20194220实验教师:王志强实验日期:2020年6月7日必修/选修: 公选课1.实验内容Python综合应用:爬虫、...
  • C语言学习:心形小程序代码实现

    千次阅读 2021-02-08 13:43:17
    比如说简单的五角星,三角形,等腰三角形,心形之类的~笔者今天发现了个以前写的一个很好玩的小程序分享给大家~~ 心形小程序 代码如下: #include<stdio.h> #include<math.h> #include<...
  • 摘要:针对C语言程序设计课程难学和难教的问题,在学生学习目的不明确和学习内容不合理以及教学方式不完善三个方面存在问题的分析基础上,对C语言教学活动中的学习动机、理论和实践内容安排以及教学方式进行了分析,...
  • 部分C语言程序设计算法与实现程序设计算法与实现一、数据结构给定一段数组a[20](为了便于以后的插入移动操作,这里我们给这个数组分配的空间大些)初始化10个数,即a[0]~a[9]。原数组为a[0]~a[19]大小,我们只用了a[0...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 116,649
精华内容 46,659
关键字:

有趣的小程序设计