-
2022-04-20 16:58:39
练手玩的小游戏,超级容易编写。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace englishWorld { public partial class Form1 : Form { Random ra = new Random(); public Form1() { InitializeComponent(); } int count = 0; char num = '0'; Label l = null; private void Form1_Load(object sender, EventArgs e) { this.label2.Text = "准备开始计分"; ShowWorld(); } public void ShowWorld() { int x = ra.Next(this.Width - 100); int y = ra.Next(this.Height - 100); l = new Label(); l.Width = 25; l.Height = 25; num = (char)(ra.Next(26) + 97); l.Text = num + ""; l.Font = new Font("黑体", 19, FontStyle.Bold); l.Location = new Point(x, y); this.Controls.Add(l); } private void Form1_KeyDown(object sender, KeyEventArgs e) { if ((e.KeyValue + 32) == (num + 0)) { count += 100; this.label2.Text = "正确+100分"; } else { count -= 100; this.label2.Text = "错误-100分"; } this.label1.Text = count + ""; this.Controls.Remove(l); ShowWorld(); } } }
源码链接:
更多相关内容 -
c#小游戏合集
2018-05-14 21:22:23c#小游戏合集,包含数字游戏,斗地主等。c#小游戏合集,包含数字游戏,斗地主等。 -
c#小游戏 适合c#初学者
2018-12-22 15:32:11推箱子小游戏 c#初学者所写,代码简单,结构清晰,但也能体会学习c#的乐趣 -
坦克大战c#小游戏开发源码.rar
2021-09-29 10:29:22c#小游戏开发 -
C#小游戏 飞机大战 C#游戏入门教程
2020-06-24 17:24:58C#小游戏 飞机大战 C#游戏入门教程 -
C#各类小游戏源码
2019-04-23 15:00:36有 1.棋牌小游戏 2.益智类游戏 3.控制类游戏 4.其他类游戏 -
c#做一个简易版弹球小游戏
2020-01-03 22:16:09一个简易弹球小游戏:游戏开始,下球从上方随机位置下落,下方有一块木板,按键盘方向键可左右移动控制小木板,接住小球即可。 -
C#小游戏拯救大行动源代码
2021-03-16 02:22:07内容索引:C#源码,游戏开发,拯救大行动游戏下载 拯救大行动C#版的,源码非常完整,工作累了还可以休闲一下哦,本人编程新手,希望高手提出意见。 -
C#小 游戏(猜大小)
2017-06-22 09:19:54对于新手的代码,代码中实现了面向对象的三大特征 -
c#小游戏猜数字
2015-02-10 23:37:28让初学者了解下刚开始的c#,自己可以可以改写,很简单,慢慢了解 -
五子棋C#小游戏 1.0
2021-05-01 13:09:42五子棋C#小游戏,有完整版注释,好玩的双人五子棋游戏,使用简单,界面美观,速度快,该游戏特别适合情侣、朋友在一起无聊时打发时间用。注意事项:1、开发环境为Visual Studio 2010,使用.net 4.0开发。 -
C# 24个经典小游戏源码.zip
2019-06-19 10:56:59压缩包里面有21点、百变方块、打字游戏、单机坦克、对对碰、俄罗斯方块、拱猪、汉诺塔、黑白棋、华容道、计算器、连连看、七巧板、人物拼图游戏、扫雷游戏、贪吃蛇、坦克大战、停车场、涂鸦游戏、推箱子、网络军旗、... -
苏州浮生记(C#小游戏源代码+程序)
2020-05-20 09:32:05多年前学习C#编程时,写的一个简单小游戏,模仿当时一款叫北京浮生记的游戏设计,用C#实现了北京浮生记的全部功能,并拓展了部份功能,不过拓展功能尚未完善。 -
五子棋C#小游戏 v1.0
2021-04-23 23:17:27五子棋C#小游戏 简介五子棋C#小游戏,有完整版注释,好玩的双人五子棋游戏,使用简单,界面美观,速度快,该游戏特别适合情侣、朋友在一起无聊时打发时间用。注意事项:1、开发环境为Visual Studio 2010,使用.net ... -
C#小游戏-记忆翻牌
2021-09-19 03:01:12记忆翻牌是一个记忆游戏,翻开一张牌,再翻开另一张牌,如果两张牌一样,那么就成显示状态,否则两张牌都重新盖回去。并不是最简洁的,只是功能的实现。 -
C#小游戏:飞行棋
2022-01-28 15:39:38最近在学习c#在看:B站的这个视频 在学到飞行棋时先自己写了一个。下面是运行结果: 我也是新手代码还有很多不完善的地方,但目前功能还没发生什么错误,大家可以来玩一下。 using System; namespace 飞行棋 { class...最近在学习c#在看:B站的这个视频
在学到飞行棋时先自己写了一个。下面是运行结果:
我也是新手代码还有很多不完善的地方,但目前功能还没发生什么错误,大家可以来玩一下。
using System; namespace 飞行棋 { class Program { public struct Player { public int _playlocation; public string _playerName; public int _playValue; } static void Main(string[] args) { GameShow(); Console.ForegroundColor = ConsoleColor.White; int[] map = new int[200];// □ int[] luckturn = {1,20,61,84,90,999};// ◎幸运转盘位置数组 因为自己写的方法的原因,这里几个数组得从大到小排列,最后一个起限制作用 int[] bomb = {6,24,27,44,80,98,999};//● 炸弹位置数组 int[] transfer = {5,11,30,36,77,83,999};//∩ 传送门位置数组 传送门比较特殊,相关代码就要调用该数组。而方法之间存在相互关联,因此有些方法也要传入该数组 int[] stop = { 12, 31, 59, 66, 88,999};//▽ 暂停位置数组 MapValue(map, luckturn, bomb, transfer, stop); MapPaint(map); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("请输入玩家A的姓名"); Player playerA = PlayerIni(); Console.WriteLine("初始化成功!\n玩家A的姓名是:{0}\n\n请输入玩家B的姓名", playerA._playerName); Player playerB = PlayerIni(); Console.WriteLine("玩家B的昵称是{0}\n按任意键开始游戏:", playerB._playerName); Console.ReadKey(); Console.Clear(); playerB._playValue = 200;//方便区分玩家A、B Player winner = GameStart(map,playerA,playerB,transfer);//主要运行的内容都在这个方法里了 Console.WriteLine("游戏结束玩家{0}胜利!", winner._playerName); GameEnd(winner); } public static void playerActionMove(int[] map,ref Player x,ref Player y,int[] transfer)//玩家行动 x代表当前行动玩家 y代表另一位玩家 { Console.ForegroundColor = ConsoleColor.White; map[x._playlocation] -= x._playValue; Console.WriteLine("按任意键,玩家{0}投色子",x._playerName); Console.ReadKey(); Console.Clear(); Random r = new Random(); int rNumber = r.Next(1, 7); Console.WriteLine("玩家{0}掷出了{1}向前移动了{2}格\n",x._playerName,rNumber,rNumber); x._playlocation += rNumber; map[x._playlocation] += x._playValue; PlayerTread(map,ref x,ref y); while (true) { if (map[x._playlocation] == x._playValue + 1)//这边本来打算用switch——case的 但不能 case x.playlocation(我也不知道为啥)就没用。 { MapFunctionLuck(map,ref x, ref y); continue; } if (map[x._playlocation] == x._playValue + 2) { MapFunctionBomb(map, ref x); continue; } break; } MapFunctionTransfer(map, ref x,transfer); } public static Player GameStart(int[] map,Player x,Player y,int[] transfer) { map[0] = 300; MapPaint(map); while (true) { if(!MapFuctionStop(map,x)) { playerActionMove(map, ref x, ref y, transfer); if (x._playlocation >= 99) { return x; } MapPaint(map); } if (!MapFuctionStop(map,y)) { playerActionMove(map, ref y, ref x, transfer); if (y._playlocation >= 99) { return y; } MapPaint(map); } } }//游戏开始 public static void MapFunctionLuck(int[] map, ref Player x,ref Player y) { Console.WriteLine("恭喜你踩到了幸运转盘,你可以选择\n1.让自己前进随机1-6格\n2.让对方后退随机1-6格"); string s = Console.ReadLine(); Random r = new Random(); int rNumber = r.Next(1, 7); if (s == "1") { map[x._playlocation] -= x._playValue; Console.WriteLine("干得漂亮,你向前移动了{0}格",rNumber); x._playlocation += rNumber; map[x._playlocation] += x._playValue; } else if (s == "2") { map[y._playlocation] -= (y._playValue+1); Console.WriteLine("芜湖~对方向后移动了{0}", rNumber); y._playlocation -= rNumber; map[y._playlocation] += y._playValue; } else if (s == "李杨太帅了") { x._playlocation += 100; Console.WriteLine("说的好!一看就是赢的料!"); } else { Console.WriteLine("输入错误,请重新输入"); MapFunctionLuck(map,ref x,ref y); } }//幸运轮盘代码 让玩家选择 1.自己前进1-6格 2.让对方后退1-6格 public static void MapFunctionBomb(int[] map,ref Player x)//炸弹代码 让踩到的玩家后退三格 { map[x._playlocation] -= x._playValue; x._playlocation -= 3; map[x._playlocation] += x._playValue; Console.WriteLine("玩家{0}被炸弹炸退了三格", x._playerName); } public static void MapFunctionTransfer(int[] map, ref Player x, int[] transfer)//传送门代码 让玩家传送到下一个传送门上 传送门记得一个玩家不能踩一个来回移动 { if (map[x._playlocation] == x._playValue + 3) { for (int i = 0; i < transfer.Length - 1; i++) { if (transfer[i] == x._playlocation) { if (i == 5) { map[x._playlocation] -= x._playValue; x._playlocation = transfer[i - 1]; map[x._playlocation] += x._playValue; Console.WriteLine("一股神秘力量将你带回了上一个传送门"); break; } map[x._playlocation] -= x._playValue; x._playlocation = transfer[i + 1]; map[x._playlocation] += x._playValue; Console.WriteLine("你成功传送到了下一个传送门"); break; } } } } public static bool MapFuctionStop(int[] map,Player x)//暂停代码 让玩家暂停一回合 目前还没想清楚怎么让它跳过这一回合,只能改为踩过之后暂停这个方块就消失了 { bool isStop = false; if (map[x._playlocation] == x._playValue + 4) { isStop = true; map[x._playlocation] -= 4; } return isStop; Console.WriteLine("你被暂停啦"); } public static void PlayerTread(int[] map, ref Player x,ref Player y)//一名玩家踩到另一名玩家导致其后退6格 { if(x._playlocation == y._playlocation) { map[y._playlocation] -= y._playValue; y._playlocation -= 6; if(y._playlocation < 0) //防止在前六格踩到超出地图边界 { y._playlocation = 0; } map[y._playlocation] += y._playValue; Console.WriteLine("漂亮!{0}踩到了{1},使{2}后退了六格", x._playerName, y._playerName, y._playerName); } } public static Player PlayerIni() { Player player = new Player(); player._playlocation = 0; player._playerName = Console.ReadLine(); player._playValue = 100; return player; }//初始化玩家 public static void MapPaint(int[] map) { Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("□:表示空格 ◎:表示幸运转盘 ●:表示炸弹 ∩:表示传送门 ▽:表示暂停 A、B:表示玩家 ‖:表示两玩家在同一位置"); Console.ForegroundColor = ConsoleColor.Cyan; string s1 = ""; for(int i = 0;i < 30; i++)//这里我还不知道Console.write()可以不自动换行输出,因此改变了我整个代码的结构,这里我分了五段分别赋给s1让它输出五遍得到完整地图 { switch (map[i]){ case 0:s1 += "□"; break; case 1:s1 += "◎"; break; case 2:s1 += "●"; break; case 3:s1 += "∩"; break; case 4:s1 += "▽"; break; case 100: case 101:case 102:case 103:case 104: s1 += "A";break; case 200: case 201:case 202:case 203:case 204: s1 += "B";break; case 300: case 302:case 304:case 306:case 308: s1 += "‖";break; } } Console.WriteLine(s1); s1 = ""; for(int i = 30; i < 35; i++) { switch (map[i]) { case 0: s1 = "□"; break; case 1: s1 = "◎"; break; case 2: s1 = "●"; break; case 3: s1 = "∩"; break; case 4: s1 = "▽"; break; case 100: case 101: case 102: case 103: case 104: s1 = "A"; break; case 200: case 201: case 202: case 203: case 204: s1 = "B"; break; case 300: case 302: case 304: case 306: case 308: s1 = "‖"; break; } Console.WriteLine(" {0}",s1); } s1 = ""; for (int i = 64; i > 34; i--) { switch (map[i]) { case 0: s1 += "□"; break; case 1: s1 += "◎"; break; case 2: s1 += "●"; break; case 3: s1 += "∩"; break; case 4: s1 += "▽"; break; case 100: case 101: case 102: case 103: case 104: s1 += "A"; break; case 200: case 201: case 202: case 203: case 204: s1 += "B"; break; case 300: case 302: case 304: case 306: case 308: s1 += "‖"; break; } } Console.WriteLine(s1); s1 = ""; for (int i = 65; i < 70; i++) { switch (map[i]) { case 0: s1 = "□"; break; case 1: s1 = "◎"; break; case 2: s1 = "●"; break; case 3: s1 = "∩"; break; case 4: s1 = "▽"; break; case 100: case 101: case 102: case 103: case 104: s1 = "A"; break; case 200: case 201: case 202: case 203: case 204: s1 = "B"; break; case 300: case 302: case 304: case 306: case 308: s1 = "‖"; break; } Console.WriteLine("{0}", s1); } s1 = ""; for (int i = 70; i < 100; i++) { switch (map[i]) { case 0: s1 += "□"; break; case 1: s1 += "◎"; break; case 2: s1 += "●"; break; case 3: s1 += "∩"; break; case 4: s1 += "▽"; break; case 100: case 101: case 102: case 103: case 104: s1 += "A"; break; case 200: case 201: case 202: case 203: case 204: s1 += "B"; break; case 300: case 302: case 304: case 306: case 308: s1 += "‖"; break; } } Console.WriteLine(s1); }//地图绘制 public static void MapValue(int[] map,int[] luckturn,int[] bomb,int[] transfer,int[] stop)//给map赋值用 { int l = 0, b = 0, t = 0, s = 0; for(int i =0;i < map.Length; i++) { if(i == luckturn[l]) { map[i] = 1; l++; } if(i == bomb[b]) { map[i] = 2; b++; } if(i == transfer[t]) { map[i] = 3; t++; } if(i == stop[s]) { map[i] = 4; s++; } } } public static void GameShow()//游戏头 { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("******************************"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("******************************"); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("*****飞行棋游戏,芜湖!*******"); Console.ForegroundColor = ConsoleColor.DarkBlue; Console.WriteLine("******************************"); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("******************************"); } public static void GameEnd(Player winner)//游戏尾 { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("******************************"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("******************************"); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("*****恭喜{0}获得胜利!********",winner._playerName); Console.ForegroundColor = ConsoleColor.DarkBlue; Console.WriteLine("******************************"); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("******************************"); } } }
-
C#小游戏拼图
2013-05-20 23:07:04C#小游戏拼图 -
C# 小游戏实例程序大全
2010-09-08 21:08:25吃豆子、打砖块、翻牌游戏、满堂红、判颜色、拼图游戏、三线一点游戏、、、、、、、 -
c#小游戏源码
2013-04-08 13:52:52一些经典游戏的c#源码 -
C#小游戏集合源代码
2010-09-08 19:16:08内有贪吃蛇 俄罗斯方块 拼图 翻牌 吃豆子 打砖头 -
C#小游戏源码
2017-07-17 16:54:46有三个简单的游戏源码,黑白棋、扫雷和贪吃蛇,VS2010开发 -
c#五子棋小游戏课程设计
2016-03-06 15:53:02C#五子棋小游戏课程设计,包含文档,程序能运行,原创,运行环境为vc2008,本课程设计是在之前c++版本基础上改进出来的,界面美观,做了一个多月,10分实在不算多 -
c#小游戏2048
2018-07-09 00:51:15基于vs开发的小游戏2048。区别于大多数坐标实现的方法,是通过自定义函数遍历所有i情况实现。 -
C#小游戏俄罗斯方块
2018-05-06 20:03:01C#小游戏之俄罗斯方块,简单易懂的操作,舒适的画面,场景,在游戏中回忆童年 -
C# 小游戏(含源代码)
2010-01-16 11:00:19你要的全部都在里面,特别适合新手学习用,废话就不都说了········,下吧···· -
c# 小游戏代码
2011-09-23 11:15:20适合初学者哦,赶紧过来看看吧,做任务中,怎么还还差几个字呢 -
C#小游戏连连看
2017-06-20 15:18:18完整的连连看代码,想学习游戏开发的可以去研究一下 -
C#小游戏(爸爸去哪儿了)
2017-10-21 21:53:26C#写的RPG小游戏,代码简单,类似魔塔的玩法。适合初学者学习参考。 -
C#变色球小游戏源代码
2021-03-16 02:19:18摘要:C#源码,游戏开发,C#游戏源码 C#编写的变色球小游戏源代码,通过游戏你可以学习下小球绘图、寻找鼠标坐标、得到小球绘图区的宽度和高度、找到标题绘图区高度、最大半径和摩擦力、滞留文字控制类集合、小球线程... -
俄罗斯方块c#小游戏
2015-10-22 08:58:56桌面小程序,安装方便,简单好玩,自学方便,代码详细。