大一下C#五子棋大作业
上学期的作业,从0开始,到会写C#界面,再到设计出AI对战,跟队友一起用了半个学期的时间,现在才过了几个月就感觉有些遗忘了,赶紧来总结一下。
先上文件吧:程序+源代码 编译环境VS2013 百度云的分享链接(本来想传github,可是github网速太慢了啊,几十兆的工程传了一个小时还没传完……)
第一次做C#工程,代码写的比较粗糙,不过还是能用的0.0
把里面一些比较有用的函数整理一下:
1.播放音效函数
public void music(string dizhi) //dizhi为音效所在地址
{
SoundPlayer player = new SoundPlayer(dizhi);
player.Play();
}
2.数组的定义方法
public int[] p1 = new int[]; //一维数组
public int[,] p2 = new int[,]; //二维数组
3.绘制图片
public void DrawAPic(string dizhi,int top,int left,int width,int height)
{
PictureBox pic = new PictureBox();
this.Controls.Add(pic);
pic.Left = left;
pic.Top = top;
pic.SizeMode = PictureBoxSizeMode.StretchImage;
pic.Width = width;
pic.Height = height;
pic.Image = Image.FromFile(dizhi);
}
4.绘制一个圆形图片
public void DrawARoundPic(string dizhi,int top,int left,int width,int height)
{
PictureBox pic = new PictureBox();
this.Controls.Add(pic);
pic.Left = left;
pic.Top = top;
pic.SizeMode = PictureBoxSizeMode.StretchImage;
pic.Width = width;
pic.Height = height;
pic.Image = Image.FromFile(dizhi);
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddEllipse(pic.ClientRectangle);
Region reg = new Region(path);
pic.Region = reg;
}
5.显示提示信息
public void tishi(string message)
{
MessageBox.Show(message);
}
6.生成一个随机数
public int suiji(int l,int r) //返回[l,r]之间的一个整数
{
Random ran = new Random();
return ran.Next(l,r+);
}
7.绘制线段
public void DrawALine(int x1,int y1,int x2,int y2) //界面以左上角为(0,0),向右为x轴正方向,向下为y轴正方向
{
Graphics g = this.CreateGraphics();
g.DrawLine(Pens.Black, new Point(x1, y1), new Point(x2, y2));
}
基本有这些就能很方便的做一些简单的小应用了,其他就是一些修改控件属性和事件的问题了。
大一下C#五子棋大作业的更多相关文章
- 集大软件工程15级个人作业Week2
集大软件工程15级个人作业Week2 快速通读教材<构建之法>,并参照提问模板,提出5个问题. 在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文 列出一些事例或资料, ...
- 集大软件工程15级个人作业Week1
集大软件工程15级个人作业Week1 孙志威 201521123077 博客园主页 码云地址 阅读参考材料,并回答下面几个问题 (1)回想一下你初入大学时对网络工程专业的畅想 当初你是如何做出选择网络 ...
- Go语言的9大优势和3大缺点, GO语言最初的定位就是互联网时代的C语言, 我为什么放弃Go语言
Go语言的9大优势和3大缺点 转用一门新语言通常是一项大决策,尤其是当你的团队成员中只有一个使用过它时.今年 Stream 团队的主要编程语言从 Python 转向了 Go.本文解释了其背后的九大原因 ...
- bat坐拥大数据。数据挖掘/大数据给他们带来什么。
阿里巴巴CTO即阿里云负责人王坚博士说过一句话:云计算和大数据,你们都理解错了. 实际上,对于大数据究竟是什么业界并无共识.大数据并不是什么新鲜事物.信息革命带来的除了信息的更高效地生产.流通和消 ...
- 跟上节奏 大数据时代十大必备IT技能
跟上节奏 大数据时代十大必备IT技能 新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT ...
- SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表)
SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表) swap_join_inputs是针对哈希连接的hint,它的含义 ...
- 20亿与20亿表关联优化方法(超级大表与超级大表join优化方法)
记得5年前遇到一个SQL.就是一个简单的两表关联.SQL跑了几乎相同一天一夜,这两个表都非常巨大.每一个表都有几十个G.数据量每一个表有20多亿,表的字段也特别多. 相信大家也知道SQL慢在哪里了,单 ...
- Linux 查看磁盘容量、查找大文件、查找大目录
Linux 查看磁盘容量.查找大文件.查找大目录 磁盘统计 查看磁盘使用情况 df -h 文件统计 查找/home 目录下大于800M的文件 find /home -type f -size +800 ...
- 大一下第2次作业(markdown改)
一.作业 6-7 删除字符串中数字字符 1.设计思路 (1)主要描述题目算法 第一步:用for循环和if语句,一个一个字符判断,找到数字字符就跳过去判断下一个,否则使指针指向不是(已判断过的)数字字符 ...
随机推荐
- delphi 编译的时候 把Warning去除的方法
delphi 编译的时候 把Warning去除的方法 在 添加 {$WARNINGS OFF}
- Oracle 课程三之表设计
完成本课程的学习后,您应该能够: •普通堆表优点和缺点 •理解rowid •全局临时表优点.缺点和适用场景 •分区表的类型和原理.优点和缺点.适用场景 •表字段的高效设计 •sequence的设计 ...
- 【转】MegaSAS RAID卡 BBU Learn Cycle周期的影响
http://ju.outofmemory.cn/entry/140 背景 最近遇到有些带MegaSAS RAID卡的服务器,在业务高峰时突然IO负载飚升得很高,IO性能急剧下降,查了日志及各种设置最 ...
- 2、列表item_圆头像_信息提示
import android.app.Activity; import android.os.Bundle; import android.view.LayoutInflater; import an ...
- web安全测试&渗透测试之sql注入~~
渗透测试概念: 详见百度百科 http://baike.baidu.com/link?url=T3avJhH3_MunEIk9fPzEX5hcSv2IqQlhAfokBzAG4M1CztQrSbwsR ...
- <译>Selenium Python Bindings 1 - Installation
Installation Introduction Selenium Python bindings 提供了一个简单的API来使用Selenium WebDriver编写使用功能/验收测试.通过Sel ...
- 【原】Storm学习资料推荐
4.Storm学习资料推荐 书籍: 英文: Learning Storm: Ankit Jain, Anand Nalya: 9781783981328: Amazon.com: Books Gett ...
- bzoj 2599 [IOI2011]Race (点分治)
[题意] 问树中长为k的路径中包含边数最少的路径所包含的边数. [思路] 统计经过根的路径.假设当前枚举到根的第S个子树,若x属于S子树,则有: ans<-dep[x]+min{ dep[y] ...
- Activity生命周期与状态保存
弹出系统对话框,程序仍部分可见 onPause 对话框消失时 onResume 调用一个新的Activity,老的Activity不可见时 onPause->onStop 从新的Activi ...
- Trail: JDBC(TM) Database Access(1)
package com.oracle.tutorial.jdbc; import java.sql.BatchUpdateException; import java.sql.Connection; ...