C#519 x 0.7 x 0.8 x 0.9 = 261.6使用DrawLine方法。
打高尔夫球:
using System;using System.Drawing;using System.Windows.Forms;class f:Form{[STAThread]static void Main(){f F=new f{Width=600,Height=400};Point s=default(Point);sbyte[]c={0,0,0,1};F.MouseDown+=(_,e)=>{s=new Point(e.X,e.Y);};F.MouseUp+=(_,e)=>{F.CreateGraphics().DrawLine(new Pen(Color.FromArgb(255,c[0],c[1],c[2]),c[3]),s.X,s.Y,e.X,e.Y);};F.KeyPress+=(a,e)=>{unchecked{switch(e.KeyChar){case'r':c[0]++;break;case'g':c[1]++;break;case'b':c[2]++;break;case't':c[3]++;break;case'c':F.Invalidate();break;}}};F.ShowDialog();}}
可读性:
using System;
using System.Drawing;
using System.Windows.Forms;
class f : Form
{
[STAThread]
static void Main()
{
f F = new f { Width = 600, Height = 400 };
Point s = default(Point);
sbyte[] c = { 0, 0, 0, 1 };
F.MouseDown += (_, e) => { s = new Point(e.X, e.Y); };
F.MouseUp += (_, e) => { F.CreateGraphics().DrawLine(new Pen(Color.FromArgb(255, c[0], c[1], c[2]), c[3]), s.X, s.Y, e.X, e.Y); };
F.KeyPress += (a, e) =>
{
unchecked
{
switch (e.KeyChar)
{
case 'r': c[0]++; break;
case 'g': c[1]++; break;
case 'b': c[2]++; break;
case 't': c[3]++; break;
case 'c': F.Invalidate();break;
}
}
};
F.ShowDialog();
}
}
通过按住键盘上的r,g或b,它可以通过增加相应索引处的字节数组来更改下一行的颜色。溢出时它将再次从0开始。因此,这给了我们很多颜色。通过保持t增加线的粗细也是如此。按c清除表格。