C#版2048---小圆脸图片版(游戏主界面)
来源:互联网 发布:淘宝新店销量为0能买吗 编辑:程序博客网 时间:2024/04/28 08:13
游戏主窗体如图片所示,右上角两个自定义按钮。标注的区域1,设计时为空白,在游戏开始时,创建4个包含4个pictureBox的list,即16个pictureBox。创建一个4*4的二维数组aMap[4,4],所有元素赋值为0,将此二维数组的每个元素都与每个list的pictureBox相对应,当aMap[x,y]的值分别为0,2,4,8…8192时让pictureBox设置不同的图片,然后游戏时每走一步都根据aMap[x,y]的值对不同的pictureBox设置图片。标准的区域2是5个label,左边一个显示2048,右边分别是两个label显示分数,两个label显示最高分。
初始化地图如下:
DirectoryInfo dir = new DirectoryInfo(Application.StartupPath).Parent; public string target; List<PictureBox> list_1 = new List<PictureBox>();//4个含4个pictureBox的list来对应16个小格子 List<PictureBox> list_2 = new List<PictureBox>(); List<PictureBox> list_3 = new List<PictureBox>(); List<PictureBox> list_4 = new List<PictureBox>(); PictureBox pb01 = new PictureBox(); PictureBox pb02 = new PictureBox(); PictureBox pb03 = new PictureBox(); PictureBox pb04 = new PictureBox(); PictureBox pb05 = new PictureBox(); PictureBox pb06 = new PictureBox(); PictureBox pb07 = new PictureBox(); PictureBox pb08 = new PictureBox(); PictureBox pb09 = new PictureBox(); PictureBox pb10 = new PictureBox(); PictureBox pb11 = new PictureBox(); PictureBox pb12 = new PictureBox(); PictureBox pb13 = new PictureBox(); PictureBox pb14 = new PictureBox(); PictureBox pb15 = new PictureBox(); PictureBox pb16 = new PictureBox();
public void initialMap() { target = dir.FullName; list_1.AddRange(new[] { pb01, pb02, pb03, pb04 }); int x=list_1.Count; for (int i = 0; i < list_1.Count; i++) { list_1[i].SizeMode = PictureBoxSizeMode.StretchImage; list_1[i].Size = new Size(100, 100); list_1[i].Location = new Point(30+i * 105, 155); list_1[i].Image = Image.FromFile(target + @"\Resources\0.jpg"); this.Controls.Add(list_1[i]); } list_2.AddRange(new[] { pb05, pb06, pb07, pb08 }); for (int i = 0; i < list_2.Count; i++) { list_2[i].SizeMode = PictureBoxSizeMode.StretchImage; list_2[i].Size = new Size(100, 100); list_2[i].Location = new Point(30+i * 105, 260); list_2[i].Image = Image.FromFile(target + @"\Resources\0.jpg"); this.Controls.Add(list_2[i]); } list_3.AddRange(new[] { pb09, pb10, pb11, pb12 }); for (int i = 0; i < list_3.Count; i++) { list_3[i].SizeMode = PictureBoxSizeMode.StretchImage; list_3[i].Size = new Size(100, 100); list_3[i].Location = new Point(30+i * 105, 365); list_3[i].Image = Image.FromFile(target + @"\Resources\0.jpg"); this.Controls.Add(list_3[i]); } list_4.AddRange(new[] { pb13, pb14, pb15, pb16 }); for (int i = 0; i < list_4.Count; i++) { list_4[i].SizeMode = PictureBoxSizeMode.StretchImage; list_4[i].Size = new Size(100, 100); list_4[i].Location = new Point(30+i * 105, 470); list_4[i].Image = Image.FromFile(target + @"\Resources\0.jpg"); this.Controls.Add(list_4[i]); }
绘制地图:
public void drawMap() { target = dir.FullName; for (int i = 0; i < 4; i++) { switch (newGame.iMap[0, i]) { case 0: list_1[i].Image = Image.FromFile(target + @"\Resources\0.jpg"); break; case 2: list_1[i].Image = Image.FromFile(target + @"\Resources\2.jpg"); break; case 4: list_1[i].Image = Image.FromFile(target + @"\Resources\4.jpg"); break; case 8: list_1[i].Image = Image.FromFile(target + @"\Resources\8.jpg"); break; case 16: list_1[i].Image = Image.FromFile(target + @"\Resources\16.jpg"); break; case 32: list_1[i].Image = Image.FromFile(target + @"\Resources\32.jpg"); break; case 64: list_1[i].Image = Image.FromFile(target + @"\Resources\64.jpg"); break; case 128: list_1[i].Image = Image.FromFile(target + @"\Resources\128.jpg"); break; case 256: list_1[i].Image = Image.FromFile(target + @"\Resources\256.jpg"); break; case 512: list_1[i].Image = Image.FromFile(target + @"\Resources\512.jpg"); break; case 1024: list_1[i].Image = Image.FromFile(target + @"\Resources\1024.jpg"); break; case 2048: list_1[i].Image = Image.FromFile(target + @"\Resources\2048.jpg"); break; case 4096: list_1[i].Image = Image.FromFile(target + @"\Resources\4096.jpg"); break; case 8192: list_1[i].Image = Image.FromFile(target + @"\Resources\8192.jpg"); break; } switch (newGame.iMap[1, i]) { case 0: list_2[i].Image = Image.FromFile(target + @"\Resources\0.jpg"); break; case 2: list_2[i].Image = Image.FromFile(target + @"\Resources\2.jpg"); break; case 4: list_2[i].Image = Image.FromFile(target + @"\Resources\4.jpg"); break; case 8: list_2[i].Image = Image.FromFile(target + @"\Resources\8.jpg"); break; case 16: list_2[i].Image = Image.FromFile(target + @"\Resources\16.jpg"); break; case 32: list_2[i].Image = Image.FromFile(target + @"\Resources\32.jpg"); break; case 64: list_2[i].Image = Image.FromFile(target + @"\Resources\64.jpg"); break; case 128: list_2[i].Image = Image.FromFile(target + @"\Resources\128.jpg"); break; case 256: list_2[i].Image = Image.FromFile(target + @"\Resources\256.jpg"); break; case 512: list_2[i].Image = Image.FromFile(target + @"\Resources\512.jpg"); break; case 1024: list_2[i].Image = Image.FromFile(target + @"\Resources\1024.jpg"); break; case 2048: list_2[i].Image = Image.FromFile(target + @"\Resources\2048.jpg"); break; case 4096: list_2[i].Image = Image.FromFile(target + @"\Resources\4096.jpg"); break; case 8192: list_2[i].Image = Image.FromFile(target + @"\Resources\8192.jpg"); break; } switch (newGame.iMap[2, i]) { case 0: list_3[i].Image = Image.FromFile(target + @"\Resources\0.jpg"); break; case 2: list_3[i].Image = Image.FromFile(target + @"\Resources\2.jpg"); break; case 4: list_3[i].Image = Image.FromFile(target + @"\Resources\4.jpg"); break; case 8: list_3[i].Image = Image.FromFile(target + @"\Resources\8.jpg"); break; case 16: list_3[i].Image = Image.FromFile(target + @"\Resources\16.jpg"); break; case 32: list_3[i].Image = Image.FromFile(target + @"\Resources\32.jpg"); break; case 64: list_3[i].Image = Image.FromFile(target + @"\Resources\64.jpg"); break; case 128: list_3[i].Image = Image.FromFile(target + @"\Resources\128.jpg"); break; case 256: list_3[i].Image = Image.FromFile(target + @"\Resources\256.jpg"); break; case 512: list_3[i].Image = Image.FromFile(target + @"\Resources\512.jpg"); break; case 1024: list_3[i].Image = Image.FromFile(target + @"\Resources\1024.jpg"); break; case 2048: list_3[i].Image = Image.FromFile(target + @"\Resources\2048.jpg"); break; case 4096: list_3[i].Image = Image.FromFile(target + @"\Resources\4096.jpg"); break; case 8192: list_3[i].Image = Image.FromFile(target + @"\Resources\8192.jpg"); break; } switch (newGame.iMap[3, i]) { case 0: list_4[i].Image = Image.FromFile(target + @"\Resources\0.jpg"); break; case 2: list_4[i].Image = Image.FromFile(target + @"\Resources\2.jpg"); break; case 4: list_4[i].Image = Image.FromFile(target + @"\Resources\4.jpg"); break; case 8: list_4[i].Image = Image.FromFile(target + @"\Resources\8.jpg"); break; case 16: list_4[i].Image = Image.FromFile(target + @"\Resources\16.jpg"); break; case 32: list_4[i].Image = Image.FromFile(target + @"\Resources\32.jpg"); break; case 64: list_4[i].Image = Image.FromFile(target + @"\Resources\64.jpg"); break; case 128: list_4[i].Image = Image.FromFile(target + @"\Resources\128.jpg"); break; case 256: list_4[i].Image = Image.FromFile(target + @"\Resources\256.jpg"); break; case 512: list_4[i].Image = Image.FromFile(target + @"\Resources\512.jpg"); break; case 1024: list_4[i].Image = Image.FromFile(target + @"\Resources\1024.jpg"); break; case 2048: list_4[i].Image = Image.FromFile(target + @"\Resources\2048.jpg"); break; case 4096: list_4[i].Image = Image.FromFile(target + @"\Resources\4096.jpg"); break; case 8192: list_4[i].Image = Image.FromFile(target + @"\Resources\8192.jpg"); break; } } }
游戏操作:
private void MainForm_KeyUp(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.Up: newGame.MoveUp(); break; case Keys.Down: newGame.MoveDown(); break; case Keys.Left: newGame.MoveLeft(); break; case Keys.Right: newGame.MoveRight(); break; } drawMap(); strGrade = ""; strGrade+=newGame.grade; laScore.Text = strGrade; if (newGame.grade > iBestGrade) { iBestGrade = newGame.grade; laBestScore.Text = ""; laBestScore.Text += iBestGrade; newBestGrade = true; } }
0 0
- C#版2048---小圆脸图片版(游戏主界面)
- C#版2048---小圆脸图片版(游戏类与结束)
- C#版2048---小圆脸图片版(预览)
- C#版2048---小圆脸图片版(登录与注册)
- 游戏小Demo-C#版飞行棋
- C#版扫雷游戏
- 2048游戏--构建界面
- Cocos2d-X 3.4版-游戏继续,游戏重新开始,回到主界面的实现《赵云要格斗》
- C++井字棋游戏,DOS界面版
- 六,游戏主界面
- C#扫雷游戏-3(界面部分)
- C#控制台版扫雷游戏
- 记忆力游戏(C#版)
- C#初学界面参考小程序
- C#小项目之登录界面1
- 【小程序】摇骰子游戏BETA版
- javaScirpt小项目-----英雄联盟游戏登录界面
- Android游戏开发之:加载界面的图片
- 如何在网页中使用H1标签
- Subversion仓库的创建和启动
- Mac开发利器之程序员编辑器MacVim学习总结
- html文件如何包含外部文件?
- 浅谈23种java设计模式
- C#版2048---小圆脸图片版(游戏主界面)
- (7) java源码分析------之ArrayList (对应数据结构中线性表中的顺序表,JDK1.6)
- 数据结构—图
- android四种加载模式 singletask、singletop
- 4-1-1 for循环-与while比较
- ReadProcessMemory()
- Mac Android Genymotion unable create virtual device
- C# 反射的应用
- 笔记——关于欧拉角与四元数