本文实例为大家分享了C#实现飞行棋小游戏的具体代码,供大家参考,具体内容如下
逻辑图
以下是掷色子的一个代码,比较有代表性,里面的逻辑和内容都已注释,可通过注释了解这一方法的运作模式。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
public static void RowTouZi( int playerPos) //掷色子 { //产生随机数,掷色子的随机数 Random r = new Random(); int num = r.Next(1, 7); //定义一个字符串变量 string msg = "" ; //提示用户信息 Console.WriteLine( "{0}按任意键开始掷色子" , PlayerNames[playerPos]); //不显示用户按下的任意键 Console.ReadKey( true ); //根据不同的变量的值显示不同的情况 Console.WriteLine( "{0}掷出了{1}" , PlayerNames[playerPos], num); //提示用户谁开始行动了 Console.WriteLine( "{0}按任意键开始行动..." , PlayerNames[playerPos]); Console.ReadKey( true ); //用户的坐标开始改变 PlayerPos[playerPos] += num; //判断两个用户坐标可能出现的问题(重叠的问题) if (PlayerPos[playerPos] == PlayerPos[1- playerPos]) { msg= string .Format( "玩家{0}踩到了玩家{1},玩家{2}退6格" , PlayerNames[playerPos], PlayerNames[1- playerPos], PlayerNames[1 - playerPos]); PlayerPos[1- playerPos] -= 6; } else { //检查是否出界 CheckPos(); switch (Map[PlayerPos[playerPos]]) { //没有障碍 case 0: msg = "行动完了" ; break ; //踩到幸运轮盘 case 1: msg = string .Format( "{0}走到了幸运轮盘,请选择1--交换位置,2---轰炸对方" , PlayerNames[playerPos]); //进行选择,调用Readint方法,只可以让用户输入1或2; int number = ReadInt(msg, 1, 2); //进行判断用户选择的哪个方案,进行执行相应的代码 if (number == 1) { //交换位置 int temp = 0; temp = PlayerPos[playerPos]; temp = PlayerPos[playerPos]; PlayerPos[playerPos] = PlayerPos[1- playerPos]; PlayerPos[1- playerPos] = temp; msg= string .Format( "玩家{0}选择了玩家{1}交换位置" , PlayerNames[playerPos], PlayerNames[1- playerPos]); } else { PlayerPos[1- playerPos] = 0; msg = string .Format( "玩家{0}选择了轰炸玩家{1}" , PlayerNames[playerPos], PlayerNames[1- playerPos]); } break ; //踩到地雷了 case 2: msg= "踩到地雷了,后退6步" ; //坐标后退6 PlayerPos[playerPos] -= 6; //检查是否出界 CheckPos(); break ; //踩到暂停了 case 3: msg = "踩到暂停了" ; //将flag数组中的false,改为true,执行true相应的代码 flag[playerPos] = true ; break ; //踩到了时空隧道 case 4: msg = string .Format( "恭喜你,踩到时空隧道,前进10步" ); //坐标前进10 PlayerPos[playerPos] += 10; //判断是否出界 CheckPos(); break ; } } Console.Clear(); //清除掉原来的地图 DrawMap(); //在画一边地图 //因为只有一种情况出现,所以msg的值经过判断之后也是只有一种,然后将其内容显示出来 Console.WriteLine(msg); } |
小知识总结:
可以通过判断,显示内容
1
2
3
4
5
6
|
case 0: msg= string .Format( "玩家{0}踩到了玩家{1},玩家{2}退6格" , PlayerNames[playerPos], PlayerNames[1- playerPos], PlayerNames[1 - playerPos]); case 1: msg = string .Format( "{0}走到了幸运轮盘,请选择1--交换位置,2---轰炸对方" , PlayerNames[playerPos]); Console.WriteLine(msg); |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/lclcsdnblink/article/details/85944136