蓝鸥Unity开发基础—— 实践课程源代码二
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了蓝鸥Unity开发基础—— 实践课程源代码二,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2447字,纯文字阅读大概需要4分钟。
内容图文
蓝鸥Unity开发基础—— 实践课程源代码二
using
System;
namespace
MyFirstGame
{
class
MainClass
{
public
static
void
Main (
string
[] args)
{
//游戏即将启动时做一些操作
const
int
mapW=
46
;
//地图宽度
const
int
mapH =
16
;
//地图高度
//定义常量
const
int
emptyTiledMap=
0
;
//空砖块
const
int
TBTiledMap=
1
;
//顶部和底部砖块
const
int
LRTiledMap=
2
;
//左右两边的砖块
const
int
Player=
3
;
//玩家
//游戏初始化变量
bool
isOver =
false
;
//游戏是否结束
int
[,] mapData=
new
int
[mapH,mapW] ;
//地图数据
string
[,] mapView=
new
string
[mapH,mapW];
//地图视图
int
posW =
1
;
//玩家在W的位置
int
posH =
1
;
//玩家在H的位置
//初始化地图数据
for
(
int
i =
0
; i < mapH; i++) {
for
(
int
j=
0
; j < mapW;j++) {
//j将地图初始化为空砖块
mapData[i,j]=emptyTiledMap;
//如果砖块处于最上方侧或最下方,就初始化为TBTiledMap
if
(i==
0
|| i==mapH-
1
){
mapData[i,j]=TBTiledMap;
}
else
if
(j==
0
|| j==mapW-
1
){
//如果砖块处于最右侧或最左侧,就初始化为LRTiledMap
mapData[i,j] = LRTiledMap;
}
else
if
(i==posW &&j==posH){
//当前位置是玩家
mapData [i, j] = Player;
}
}
}
//游戏主循环
while
(!isOver){
//游戏启动后,主循环张做一些操作
//计算机计算数据->将数据转成视图->把视图显示出来->获取玩家的事件更新数据
//刷新地图
for
(
int
i =
0
; i < mapH; i++) {
for
(
int
j =
0
; j < mapW; j++) {
//从地图数据中获取数据,决定砖块如何显示
//取出砖块数据
int
tiledData =mapData[i,j];
//砖块视图
string
tiledView=
""
;
//确定砖块的显示
switch
(tiledData){
case
emptyTiledMap:
tiledView=
" "
;
break
;
case
TBTiledMap:
tiledView=
"-"
;
break
;
case
LRTiledMap:
tiledView=
"|"
;
break
;
case
Player:
tiledView=
"P"
;
break
;
}
//将砖块视图存放到地图视图中
mapView[i,j]=tiledView;
//将每行的每个字符拼接到字符串中
//str +=mapView[i,j];
}
}
//显示地图
for
(
int
i =
0
; i < mapH; i++) {
//创建一个用于接收一行信息的字符串
string
str=
""
;
for
(
int
j =
0
; j < mapW; j++) {
//将每行中的所有字符串进行拼接
str+=mapView[i,j];
}
//打印一行的内容
Console
.WriteLine (str);
}
//保存玩家当前位置
int
oldPosW=posW;
int
oldPosH = posH;
//等待用户输入
//获取用户输入的按键字符串
string
key =
Console
.ReadKey().KeyChar.ToString();
if
(key==
"W"
||key==
"w"
){
//让玩家向上移动
if
(posH>
1
){
posH--;
}
}
else
if
(key==
"S"
||key==
"s"
)
{
//让玩家向下移动
if
(posH<mapH-
2
){
posH++;
}
}
else
if
(key==
"A"
||key==
"a"
){
//让玩家向下左移动
if
(posW>
1
){
posW--;
}
}
else
if
(key==
"D"
||key==
"d"
){
//让玩家向下右移动
if
(posW<mapW-
2
){
posW++;
}
}
else
if
(key==
"Q"
||key==
"q"
){
//如果按下Q退出游戏
isOver =
true
;
continue
;
}
//更新地图数据
mapData[oldPosH,oldPosW]=emptyTiledMap;
mapData [posH, posW] = Player;
}
/*有些即将结束时做一些操作 */
Console
.WriteLine (
"客观,下次再来哦"
);
}
}
}
原文:http://11131960.blog.51cto.com/11121960/1839862
内容总结
以上是互联网集市为您收集整理的蓝鸥Unity开发基础—— 实践课程源代码二全部内容,希望文章能够帮你解决蓝鸥Unity开发基础—— 实践课程源代码二所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。