标签:style c class blog code java
只是一个关于表白的小程序而已,如果你不知道怎么拒绝我,那就来掐死我吧。
背景:
小M同学喜欢小X同学,并且小M同学跟你们一样是枚程序猿。小M同学决定向小X同学表白。但是小M同学他是个程序猿啊,所以他害羞腼腆,不好意思直接说,于是他决定写了小程序向小X同学表白。于是发生了如下的事情。
时间:某年某月20日 人物:小M和小X 地点:说多是泪
(通话中)
小M:小X吗?我是小M。
小X:是啊,怎么了?
小M:是这样的,我最近写了个小程序,不知道你有没有时间帮我测一下啊?
小X:时间倒是有的,不过,那是个关于什么的程序啊?容不容易啊?
小M:这个蛮容易的,就是关于一个类似于问卷调查的一个问题,里面有三个选项,其中有两个比较容易选择,一个比较难选择,但是都是能选择到的。你选择一下,告诉我结果就好了。
小X:就是你发给我一个东西,然后这个东西上会有一个问题,还有三个选项,我回答一下,告诉你结果就可以了,对不对?
小M:嗯,对的,对的。就是这么个意思。
小X:这个简单,那是单选还是多选啊?
小M:这个嘛,算是个单选题吧。还有哦,这个是我一直想问你的问题,你好好回答一下的哦。
小X:放心吧,既然是你一直想问我的问题,我肯定会好好回答的。
小M:那你要答应,就是你一定要选择一个,不可以不选择哦。如果不选择的话就算你选择了两个容易选择中的其中一个好吧。
小X:还要这样啊。嗯,好吧,看在你为我买过良品的面子是就答应你了。
不是很明白,小M到底是想做什么。
小背景:
小M在家写代码。跟小M同是同学且合租在一起的小C也在。小M已经写完了,准备让小C一起测一起,找点问题什么的。
时间:当天晚上 人物:小M和小C 地点:S市小M和小C合租的房子
小M:小C,你过来帮我看一下,这是我写给小X的一个小程序,你看下觉得怎么样。哪些地方要调调的。
小C:(一口东北口音)你写的是什么小程序啊?
小M:就是一个窗体,特别简单的。有三个按钮,两个一下子就能点,一个比较难点而已。点了之后就弹出不同的话。大概就是这样子。
小C看了一下原来窗体是这个样子的:
小C:看图的话,把“没问题”和“可以”整得这么大。你倒是很想让别人选择点“没问题”和“可以”,不想让人选择“让我好好想想”。
小M:这个是自然的,我可不想被人拒绝。想被人应允。
小C:被应允和拒绝什么呀?
小M:你看代码就知道了。
小M点了下窗体,进入到了代码页面。
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 10 namespace watch_white 11 { 12 public partial class Form1 : Form 13 { 14 public Form1() 15 { 16 InitializeComponent(); 17 } 18 19 private void Form1_Load(object sender, EventArgs e) 20 { 21 this.Text = "小X同学,当我女朋友是可以还是没问题?"; 22 } 23 24 private void button1_Click(object sender, EventArgs e) 25 { 26 MessageBox.Show("来,让小杜同学抱一个!"); 27 //this.Close(); 28 29 } 30 31 private void button2_Click(object sender, EventArgs e) 32 { 33 34 MessageBox.Show("来,让小杜同学亲一个!"); 35 //this.Close(); 36 } 37 38 private void button3_MouseEnter(object sender, EventArgs e) 39 { 40 int maxHeight = this.ClientSize.Height - this.button3.Height; 41 int maxWidth = this.ClientSize.Width - this.button3.Width; 42 Random r = new Random(); 43 int x = r.Next(0, maxWidth); 44 int y = r.Next(0, maxHeight); 45 button3.Location=new Point(x,y); 46 } 47 48 private void button3_Click(object sender, EventArgs e) 49 { 50 MessageBox.Show("我听你的便是了。"); 51 // this.Close(); 52 } 53 54 } 55 }
小C:原来你是要跟人表白啊?
小M:是啊,喜欢蛮久的,可不想被她的学长学弟抢走。
小C:不错不错,迈出勇敢的一步了。
小M:我努力就是,你先看看哪需要改的。
小C:嗯,(看了会),还真是一个简单的小程序。我发现了一个,一个可优化也可不优化的的地方。
小M:哪里?
小C:你想的是当你鼠标进入到答应你的那个按钮的时候,按钮会随机到一新的在这个窗体里的一个位置上去,是这样吗?
小M:(小M看了一下)是啊,是这么想的。这样才不会那么容易被拒绝嘛。
小C:但是你看看你这代码。可不是这个意思哦。
小M:这没错啊,我试过了,这个是可以正常运行的啊。
小C:不,你再仔细看一下。产生1到10的随机是怎么写?
小M:噢,我明白了,就是我在随机产生X坐标和Y坐标的时候,应该将得到maxWidth和maxHeight都加1对吧。因为随机时是不会包含后面的那个数字的。我一会改进一下的。
小C:对的,就是这个意思。另外忽略命名规范的话,就是你写了一段没用的代码,还是当鼠标点击“让我好好想想”的时候。这个根本就不用写吧。因为根本就点不着的啊。
小M:这个嘛,我答应了别人,三个都是可以选择的,只是有难选的和容易选择的。所以是可以点得到的。
小C:这不可能吧,怎么才能点到?
小M:你先想想,我洗个澡先,如果我出来,你还想不出来,我就告诉你答案好了。
(作者注:以上的怎么才能点到的问题,如果园友感觉想不看下面的故事情节而得到答案,那么你可以试着先写一下,试着找一下,也就几分钟的事)。
十五分钟后
小M:(从卫生间出来,擦着头发)怎么样啊,想出来没有啊?
小C:你是不是在忽悠我,这个根本就不可能点得点的啊。即使我以非常快的速度进去点,不对不对,还是一进去它就逃跑了,你这程序就是这么写的。
小M:要不我告诉你答案好了。
小C:不要,你究竟是在忽悠我还是在忽悠我(作者注:此处不是病句)?
小M:我真心没忽悠你。
小C:(小眼眯起斜视小M)蒸的?煮的?
小M:蒸的蒸的,不是煮的,也不是炖的。
小C:提示1.
小M:好的,提示1(声音拉长),我没将这个窗体的大小设置为不可变的。
小C:(想了一会,一副疑惑表情)这个还是没什么关系啊,窗体大小和这个按钮随机移动没什么关系啊。
小M:提示2,看看代码,this.
小C:(看着代码,一副很疑惑表情)当鼠标进入这个按钮的时候,按钮就会随机到当前,当前,当前(试图能从this当中悟出点什么)窗体里的一个地方,(沉默3S)但是,这又,这又(无比忧伤),这又怎么样?
小M:提示3,提示1+揭示=提示3,如果无处可逃。
小C:(再次想了会,然后,操作了几下就点到了。他就点到了。)你这是几乎不给人拒绝的机会啊。关于这点你其实可以做得再狠一点,比如将新坐标X设置为一点二或者一点三倍的maxWidth,将坐标Y设置为一点二或者一点三倍的maxHeight,那么别人有可能点着点着就没了,也有可能会点着,只是点着真心需要些运气。
小M:这个倒确实是可以这么做的,嗯,我那会不小心将X和Y坐标写反了,跟这个是同一个道理,因为不能保证每次都是正方形,有时候它就会跑到窗体外边去,得把窗体拉大了才了进入按钮,不过我感觉还是不用的。倒是比较需要在打开的时候加点背景音乐,换个漂亮背景图片什么的。
小C:这倒也是。那你再继续改改。最好弄一个表达你心声的音乐和一个漂亮的背景,比如,譬如,说是你们以前的合影神马的。
小M:我先改改先。
园友,你应该知道怎么选择那个“让我好好想想”的按钮了吧。如果你还不知道怎么拒绝我,那就来掐死我吧。
小M继续修改中,换了略漂亮的图片,把鼠标样式做了特定的修改。没有加音乐,因为不会。
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 10 namespace watch_white 11 { 12 public partial class Form1 : Form 13 { 14 public Form1() 15 { 16 InitializeComponent(); 17 } 18 19 private void Form1_Load(object sender, EventArgs e) 20 { 21 this.Text = "小X同学,当我女朋友是可以还是没问题?"; 22 } 23 24 private void button1_Click(object sender, EventArgs e) 25 { 26 MessageBox.Show("来,让小杜同学抱一个!"); 27 //this.Close(); 28 29 } 30 31 private void button2_Click(object sender, EventArgs e) 32 { 33 this.Cursor = Cursors.Default; 34 MessageBox.Show("来,让小杜同学亲一个!"); 35 //this.Close(); 36 } 37 38 private void button3_MouseEnter(object sender, EventArgs e) 39 { 40 this.Cursor = Cursors.WaitCursor; 41 int maxHeight = this.ClientSize.Height - this.button3.Height; 42 int maxWidth = this.ClientSize.Width - this.button3.Width; 43 Random r = new Random(); 44 int x = r.Next(0, maxWidth + 1); 45 int y = r.Next(0, maxHeight + 1); 46 button3.Location=new Point(x,y); 47 } 48 49 private void button3_Click(object sender, EventArgs e) 50 { 51 MessageBox.Show("我听你的便是了。"); 52 // this.Close(); 53 } 54 55 private void button3_MouseLeave(object sender, EventArgs e) 56 { 57 this.Cursor = Cursors.Default; 58 } 59 60 private void button1_MouseEnter(object sender, EventArgs e) 61 { 62 this.Cursor = Cursors.Hand; 63 } 64 65 private void button1_MouseLeave(object sender, EventArgs e) 66 { 67 this.Cursor = Cursors.Default; 68 } 69 70 private void button2_MouseEnter(object sender, EventArgs e) 71 { 72 this.Cursor = Cursors.Hand; 73 } 74 75 private void button2_MouseLeave(object sender, EventArgs e) 76 { 77 this.Cursor = Cursors.Default; 78 } 79 80 81 82 } 83 }
因着,此小程序,小X同学答应了已经在苦逼天天敲代码小M同学,没有理睬可能是高富帅的学长,后来小M同学来到了小X读研的城市工作。然后比较快乐的呆在了一起,而后的几年,他们走上了幸福的红地毯。且鉴于他们是生活在这个不能生二胎天朝,他们只是相当极其遗憾的生了一个帅气的男孩或者一个漂亮的女孩。小M呢,也因着想当年在宿舍的时候也有敏洪的精神,诸如自己的水果零售神马的虽然不是说均而食之,但确实是人人有份等诸事,偶尔也会像永浩一样比较能说会道一点。所以很荣幸的邀请了几个好朋友创了点小业,开了个小软件公司,且算是有点小成就,不至于让小X没饭吃。另外大抵是在小M步入中年的时候,公司里来了个实习的漂亮女大学生,她表示喜欢上了小M,不过被小M无情的拒绝了,因为小M是很爱小X的。
END.....
后记:此故事纯属小杜虚构,如有雷同,不胜荣幸!且此程序委实太易,还请谅解,愿此文能跟你带来点那么不一样的感觉。另外如果您支持和您一样是程序员的小M和小X在一起的话,请点击下右小角的“推荐”吧。
只是一个关于表白的小程序而已,如果你不知道怎么拒绝我,那就来掐死我吧。,布布扣,bubuko.com
只是一个关于表白的小程序而已,如果你不知道怎么拒绝我,那就来掐死我吧。
标签:style c class blog code java
原文地址:http://www.cnblogs.com/anmutu/p/3756229.html