我想这样做,以便用户输入50-100%之间的百分比,并根据该百分比绘制瑞士国旗! 我不需要确切的代码,只需要解释如何执行此操作以及应该包含/排除的内容。
我对此很新,并且不知道我应该如何实现这一目标。 到目前为止,这是我的代码。这绘制了标志,因为它应该以100%显示: (评论语言是挪威语)
//Lager Flagget
makeWindow("Flagg", 500, 500);
String innStr = getText ("Størelse i prosent(50-100):");
//Setter blå bakgrunn
setColor(135,206,250);
fillRectangle(0, 0, 500, 500);
//Lager en rød bakgrunn til flagget
setColor(255, 0, 0);
fillRectangle(100, 100, 300, 300);
//Lager et hvit rektangel lodrett i midten av flagget
setColor(255, 255, 255);
fillRectangle(225, 175, 50, 150);
//Lager et hvit rektangel vannrett i midten flagget
setColor(255, 255, 255);
fillRectangle(175, 225, 150, 50);
编辑:标志将始终在窗口中间绘制!
答案 0 :(得分:0)
最简单的方法来定义相对于窗口中心的工作坐标,然后在绘制前进行翻译:
//Lager Flagget
makeWindow("Flagg", 500, 500);
String innStr = getText ("Størelse i prosent(50-100):");
int pct = Int.parseInt(innStr) ;
int cX = 250 ; // Center of the window
int cY = 250 ; // Center of the window
int flagHmax = 300 ;
int crossHmax = 150 ;
int barWmax = 50 ;
flagH = flagHmax * pct / 100 ; // integer math
crossH = crossHmax * pct / 100 ;
barW = barWmax * pct / 100 ;
//Setter blå bakgrunn
setColor(135,206,250);
fillRectangle(0, 0, 500, 500);
//Lager en rød bakgrunn til flagget
setColor(255, 0, 0);
fillRectangle(cX - flagH/2, cY - flagH/2, flagH, flagH);
//Lager et hvit rektangel lodrett i midten av flagget
setColor(255, 255, 255);
fillRectangle(cX - barW/2, cY - crossH/2, barW, crossH);
//Lager et hvit rektangel vannrett i midten flagget
setColor(255, 255, 255);
fillRectangle(cX - crossH/2, cY - barW/2, crossH, barW) ;