精华内容
下载资源
问答
  • 文字游戏 打字测试 flashCS4 游戏开发教程
  • 一个VB6.0开发文字游戏程序,可以用来训练孩子学字
  • 全面设计与实现问答游戏项目 ...在本节课中,我们会通过C#编程一步一步带大家实现文字游戏的游戏逻辑。 课程的主要内容围绕着游戏逻辑展开,主要设计了输入与响应逻辑、房间Room逻辑、文字指令、物品与背包和物品的...

    全面设计与实现问答游戏项目

    文字冒险游戏又称互动小说,游戏的交互是通过玩家输入的文字来展开剧情。虽然文字冒险游戏的操作非常简单,但是如果开发者有充分的脑动和强大的设计能力,就能开发出系统复杂,超长游戏时长的趣味游戏。

    在本节课中,我们会通过C#编程一步一步带大家实现文字游戏的游戏逻辑。

    课程的主要内容围绕着游戏逻辑展开,主要设计了输入与响应逻辑、房间Room逻辑、文字指令、物品与背包和物品的使用响应。

    预估学习&练习时间:24小时      难易度:进阶&专业

    文字冒险游戏基础系统

    1. 游戏简介与演示
    2. 完成项目代码结构简介
    3. 创建房间脚本资源
    4. 游戏信息打印系统实现
    5. 实现房间出口
    6. 房间出口提示信息嵌入打印系统
    7. 用户输入监听以及打印
    8. 切换房间逻辑及打印
    9. 通过委托模式实现交互指令

    游戏各系统的具体实现

    1. 创建可交互物品
    2. 物品信息的打印
    3. 可调查物品的行为信息添加到字典
    4. 添加调查物品命令
    5. 添加拿起物品命令
    6. 添加查看背包命令
    7. 实现行为响应机制及添加改变房间行为响应
    8. 行为响应与可使用物品关联
    9. 添加使用物品命令
    10. Unity配置逻辑资源及终项目展示

    本次课程由爪爪学 院Jacky老师讲授,想要参加线下课程学习的童鞋,可参加我们每周六下午的“游戏开发‘私教营’”,线下课程除了能够快速的帮助您提升游戏开发能力,还有机会参与独立游戏项目的实战开发,欢迎到现场来参观、体验与学习。详情可搜索爪爪学 院。

    展开全文
  • Android ——游戏开发文字冒险游戏

    千次阅读 多人点赞 2019-07-30 16:58:24
    Android 游戏开发文字冒险游戏 文字冒险游戏—迷雾森林 文字冒险游戏以软件模拟情境,令玩家使用文字指令控制角色,以影响周边的情境。迷雾森林是使用Android Studio开发的按钮点击式游戏。通过按钮点击实现全部...

    Android 游戏开发之文字冒险游戏

    文字冒险游戏—迷雾森林

    文字冒险游戏以软件模拟情境,令玩家使用文字指令控制角色,以影响周边的情境。迷雾森林是使用Android Studio开发的按钮点击式游戏。通过按钮点击实现全部操作,只涉及Android基础知识。

    运行界面

    界面1界面2
    界面3界面4
    界面5界面6

    源代码

    (1)Java文件:MainActivity

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //"开始游戏"按钮监听
            Button button1=findViewById(R.id.button1);
            button1.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) { //点击“开始游戏”跳转到DengLu的Activity
            switch (v.getId()) {
                case R.id.button1: {
                    Intent intent=new Intent();
                    intent.setClass(MainActivity.this,DengLu.class);
                    startActivity(intent);
                }
            }
        }
        @Override
        protected void onNewIntent(Intent intent) {
            super.onNewIntent(intent);
            String tag = intent.getStringExtra("EXIT_TAG");
            if (tag != null&& !TextUtils.isEmpty(tag)) {
                if ("SINGLETASK".equals(tag)) {//退出程序
                    finish();
                }
            }
        }
    }
    

    (2)布局文件:MainActivity.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
        <ImageView
            android:src="@drawable/z00"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            />
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="开始游戏"
                android:layout_marginLeft="150dp"
                android:layout_marginTop="490dp"
                />
        </RelativeLayout>
    
    </android.support.constraint.ConstraintLayout>
    

    (3)Java文件:DengLu

    public class DengLu extends AppCompatActivity implements View.OnClickListener {
        EditText editText;
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.denglu);
            Button button1=findViewById(R.id.button1);
            button1.setOnClickListener(this);
            editText=findViewById(R.id.edittext);
        }
    
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.button1: {
                    Intent intent = new Intent();
                    Bundle bundle=new Bundle();
                    //获取编辑框输入内容,赋值给Shuju类中z
                    Shuju.z=editText.getText().toString();
                    //点击跳转到Xingzou的Activity
                    intent.setClass(DengLu.this,Xingzou.class);
                    startActivity(intent);
                }
                break;
            }
        }
    }
    

    (4)Java文件:Shuju

    public class Shuju {
        //定义静态变量
        public static String z;
        public static int x=100;
        public static int y=100;
        public static int q=0;
    }
    

    (5)布局文件:denglu.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:src="@drawable/tp"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            />
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="50dp"
                android:width="200dp"
                android:singleLine="false"
                android:text="年轻的冒险者,在进入森林之前,告诉我你的名字!"
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <EditText
                android:id="@+id/edittext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="120dp"
                android:layout_marginTop="300dp"
                android:inputType="text"
                android:hint="我的名字:"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="进入森林"
                android:layout_marginLeft="150dp"
                android:layout_marginTop="440dp"
                />
        </LinearLayout>
    </android.support.constraint.ConstraintLayout>
    

    (6)Java文件:Xingzou

    public class Xingzou extends AppCompatActivity implements View.OnClickListener {
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.xingzou);
            Button button1=findViewById(R.id.button1);
            button1.setOnClickListener(this);
            Button button2=findViewById(R.id.button2);
            button2.setOnClickListener(this);
            Button button3=findViewById(R.id.button3);
            button3.setOnClickListener(this);
            //播放音乐
            final MediaPlayer player=MediaPlayer.create(this,R.raw.zhuti);
            player.start();
            player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mp) {
                    player.start();
                }
            });
            TextView textView1 = findViewById(R.id.textView1);
            //显示关卡
            textView1.setText(Shuju.z);
            TextView textView2 = findViewById(R.id.textView5);
            TextView textView3 = findViewById(R.id.textView4);
            //显示生命和意志
            textView2.setText(Shuju.x+"");
            textView3.setText(Shuju.y+"");
        }
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.button1: {
                    Intent intent=new Intent();
                    //产生随机数
                    double zz=Math.random()*10;
                    //判断随机数大小,产生跳转
                    if (zz>5) {
                        intent.setClass(Xingzou.this,Lang.class);
                    }else {
                        intent.setClass(Xingzou.this,Lei.class);
                    }
                    startActivity(intent);
                }
                break;
                case R.id.button2: {
                    Intent intent=new Intent();
                    intent.setClass(Xingzou.this,She.class);
                    startActivity(intent);
                }
                break;
                case R.id.button3:{
                    Intent intent = new Intent();
                    intent.setClass(Xingzou.this, Nuwu.class);
                    startActivity(intent);
                }
                break;
            }
        }
    }
    

    (7)布局文件xingzou.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:src="@drawable/zzx"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            />
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="50dp"
                android:layout_marginTop="50dp"
                android:text="name"
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="50dp"
                android:singleLine="false"
                android:text="生命:"
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="200dp"
                android:layout_marginTop="50dp"
                android:singleLine="false"
                android:text="意志:"
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="250dp"
                android:layout_marginTop="50dp"
                android:singleLine="false"
                android:text="100"
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/textView5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="150dp"
                android:layout_marginTop="50dp"
                android:singleLine="false"
                android:text="100"
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="向左"
                android:layout_marginLeft="0dp"
                android:layout_marginTop="440dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="前进"
                android:layout_marginLeft="150dp"
                android:layout_marginTop="440dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <Button
                android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="向右"
                android:layout_marginLeft="300dp"
                android:layout_marginTop="440dp"
                />
        </LinearLayout>
    </android.support.constraint.ConstraintLayout>
    

    (8)Java文件:Lang

    public class Lang extends AppCompatActivity {
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.lang);
            //播放音乐
            MediaPlayer player=MediaPlayer.create(this,R.raw.lang);
            player.start();
            //关卡数加1
            Shuju.q=Shuju.q+1;
            //定时器3秒,自动跳转
            Timer timer = new Timer();
            timer.schedule(new MyTask(),3000);
        }
        class MyTask extends TimerTask {
            @Override
            public void run() {
                Intent intent;
                //判断关卡数是否达到20,达到跳转结束页面,否则跳转对应事件页面
                if (Shuju.q==20) {
                    intent = new Intent(Lang.this,Over.class);
                    startActivity(intent);
                }else {
                    intent = new Intent(Lang.this,Lang0.class);
                    startActivity(intent);
                }
            }
        }
    }
    

    (9)布局文件:lang.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:src="@drawable/q1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            />
    </android.support.constraint.ConstraintLayout>
    

    (10)Java文件:Lang0

    public class Lang0 extends AppCompatActivity implements View.OnClickListener {
        int a=-10,b=-5;
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.js);
            TextView textView = findViewById(R.id.textView);
            //显示文字内容
            textView.setText("你遭遇了恶狼");
            TextView textView1 = findViewById(R.id.textView3);
            textView1.setText(a+"");
            TextView textView2 = findViewById(R.id.textView4);
            textView2.setText(b+"");
            Button button=findViewById(R.id.button);
            button.setOnClickListener(this);
            //生命和意志改变
            Shuju.x=Shuju.x+a;
            Shuju.y=Shuju.y+b;
            if (Shuju.x<=0||Shuju.y<=0) {
                Intent intent = new Intent();
                intent.setClass(Lang0.this,Over.class);
                startActivity(intent);
            }
            //当生命和意志数值大于100变更为100
            if (Shuju.x>100) {
                Shuju.x=100;
            }
            if (Shuju.y>100) {
                Shuju.y=100;
            }
        }
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.button: {
                    Intent intent = new Intent();
                    intent.setClass(Lang0.this,Xingzou.class);
                    //跳转后结束中间页面
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);
                }
                break;
            }
        }
    }
    
    

    (11)Java文件:Lei

    public class Lei extends AppCompatActivity {
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.lei);
            MediaPlayer player=MediaPlayer.create(this,R.raw.lei);
            player.start();
            Shuju.q=Shuju.q+1;
            Timer timer = new Timer();
            timer.schedule(new MyTask(),3000);
        }
        class MyTask extends TimerTask {
            @Override
            public void run() {
                Intent intent;
                if (Shuju.q==20) {
                    intent = new Intent(Lei.this,Over.class);
                    startActivity(intent);
                }else {
                    intent = new Intent(Lei.this,Lei0.class);
                    startActivity(intent);
                }
            }
        }
    }
    

    (12)布局文件:lei.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:src="@drawable/q2"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            />
    </android.support.constraint.ConstraintLayout>
    

    (13)Java文件:Lei0

    public class Lei0 extends AppCompatActivity implements View.OnClickListener {
        int a=0,b=-10;
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.js);
            TextView textView = findViewById(R.id.textView);
            textView.setText("闪电突然来临,受到惊吓");
            TextView textView1 = findViewById(R.id.textView3);
            textView1.setText(a+"");
            TextView textView2 = findViewById(R.id.textView4);
            textView2.setText(b+"");
            Button button=findViewById(R.id.button);
            button.setOnClickListener(this);
            Shuju.x=Shuju.x+a;
            Shuju.y=Shuju.y+b;
            if (Shuju.x<=0||Shuju.y<=0) {
                Intent intent = new Intent();
                intent.setClass(Lei0.this,Over.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intent);
            }
            if (Shuju.x>100) {
                Shuju.x=100;
            }
            if (Shuju.y>100) {
                Shuju.y=100;
            }
        }
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.button: {
                    Intent intent = new Intent();
                    intent.setClass(Lei0.this,Xingzou.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);
                }
                break;
            }
        }
    }
    

    (14)Java文件:She

    public class She extends AppCompatActivity {
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.she);
            MediaPlayer player=MediaPlayer.create(this,R.raw.she);
            player.start();
            Shuju.q=Shuju.q+1;
            Timer timer = new Timer();
            timer.schedule(new MyTask(),3000);
        }
        class MyTask extends TimerTask {
            @Override
            public void run() {
                Intent intent;
                if (Shuju.q==20) {
                    intent = new Intent(She.this,Over.class);
                    startActivity(intent);
                }else {
                    intent = new Intent(She.this,She0.class);
                    startActivity(intent);
                }
            }
        }
    }
    

    (15)布局文件:she.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:src="@drawable/q3"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            />
    </android.support.constraint.ConstraintLayout>
    

    (16)Java文件:She0

    public class She0 extends AppCompatActivity implements View.OnClickListener {
        int a=10,b=-10;
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.js);
            TextView textView = findViewById(R.id.textView);
            textView.setText("你遭遇了蛇");
            TextView textView1 = findViewById(R.id.textView3);
            textView1.setText(a+"");
            TextView textView2 = findViewById(R.id.textView4);
            textView2.setText(b+"");
            Button button=findViewById(R.id.button);
            button.setOnClickListener(this);
            Shuju.x=Shuju.x+a;
            Shuju.y=Shuju.y+b;
            if (Shuju.x<=0||Shuju.y<=0) {
                Intent intent = new Intent();
                intent.setClass(She0.this,Over.class);
                startActivity(intent);
            }
            if (Shuju.x>100) {
                Shuju.x=100;
            }
            if (Shuju.y>100) {
                Shuju.y=100;
            }
        }
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.button: {
                    Intent intent = new Intent();
                    intent.setClass(She0.this,Xingzou.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);
                }
                break;
            }
        }
    }
    
    

    (17)Java文件:Nuwu

    public class Nuwu extends AppCompatActivity {
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.lei);
            MediaPlayer player=MediaPlayer.create(this,R.raw.nuwu);
            player.start();
            Shuju.q=Shuju.q+1;
            Timer timer = new Timer();
            timer.schedule(new MyTask(),3000);
        }
        class MyTask extends TimerTask {
            @Override
            public void run() {
                Intent intent;
                if (Shuju.q==20) {
                    intent = new Intent(Nuwu.this,Over.class);
                    startActivity(intent);
                }else {
                    intent = new Intent(Nuwu.this,Nuwu0.class);
                    startActivity(intent);
                }
            }
        }
    }
    
    

    (18)布局文件:nuwu.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:src="@drawable/q5"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            />
    </android.support.constraint.ConstraintLayout>
    

    (19)Java文件:Nuwu0

    public class Nuwu0 extends AppCompatActivity implements View.OnClickListener {
        int a=10,b=-10;
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.js);
            TextView textView = findViewById(R.id.textView);
            textView.setText("你遭遇了女巫");
            TextView textView1 = findViewById(R.id.textView3);
            textView1.setText(a+"");
            TextView textView2 = findViewById(R.id.textView4);
            textView2.setText(b+"");
            Button button=findViewById(R.id.button);
            button.setOnClickListener(this);
            Shuju.x=Shuju.x+a;
            Shuju.y=Shuju.y+b;
            if (Shuju.x<=0||Shuju.y<=0) {
                Intent intent = new Intent();
                intent.setClass(Nuwu0.this,Over.class);
                startActivity(intent);
            }
            if (Shuju.x>100) {
                Shuju.x=100;
            }
            if (Shuju.y>100) {
                Shuju.y=100;
            }
        }
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.button: {
                    Intent intent = new Intent();
                    intent.setClass(Nuwu0.this,Xingzou.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);
                }
                break;
            }
        }
    
    }
    
    

    (20)布局文件:js.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:src="@drawable/tp"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            />
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="50dp"
                android:width="200dp"
                android:singleLine="false"
                android:text=" "
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="50dp"
                android:layout_marginTop="340dp"
                android:width="200dp"
                android:singleLine="false"
                android:text="生命"
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="150dp"
                android:layout_marginTop="340dp"
                android:width="200dp"
                android:singleLine="false"
                android:text="意志"
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="340dp"
                android:width="200dp"
                android:singleLine="false"
                android:text="sm"
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="200dp"
                android:layout_marginTop="340dp"
                android:width="200dp"
                android:singleLine="false"
                android:text="yz"
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="继续"
                android:layout_marginLeft="150dp"
                android:layout_marginTop="440dp"
                />
        </LinearLayout>
    </android.support.constraint.ConstraintLayout>
    

    (21)Java文件:Over

    public class Over extends AppCompatActivity {
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.over);
            Button button=findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Over.this, MainActivity.class);
                    intent.putExtra("EXIT_TAG", "SINGLETASK");
                    startActivity(intent);
                }
            });
        }
    }
    
    

    (22)布局文件:over.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/tp">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="450dp"
            android:gravity="center">
            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="50dp"
                android:width="200dp"
                android:singleLine="false"
                android:text="游戏结束!"
                android:textSize="24dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center">
            <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="over"/>
        </LinearLayout>
    </LinearLayout>
    

    (23)AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.a86155.zzx">
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/Theme.AppCompat.Light.NoActionBar">
            <activity android:name=".MainActivity"
                android:launchMode="singleTask">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".DengLu">
                <intent-filter android:priority="2">
                    <action android:name="android.intent.action.MY_ACTION" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>
            <activity android:name=".Xingzou">
                <action android:name="android.intent.action.MY_ACTION" />
                <category android:name="android.intent.category.DEFAULT" />
            </activity>
            <activity android:name=".Lang">
                <action android:name="android.intent.action.MY_ACTION" />
                <category android:name="android.intent.category.DEFAULT" />
            </activity>
            <activity android:name=".Lang0">
                <action android:name="android.intent.action.MY_ACTION" />
                <category android:name="android.intent.category.DEFAULT" />
            </activity>
            <activity android:name=".Lei">
                <action android:name="android.intent.action.MY_ACTION" />
                <category android:name="android.intent.category.DEFAULT" />
            </activity>
            <activity android:name=".Lei0">
                <action android:name="android.intent.action.MY_ACTION" />
                <category android:name="android.intent.category.DEFAULT" />
            </activity>
            <activity android:name=".She">
                <action android:name="android.intent.action.MY_ACTION" />
                <category android:name="android.intent.category.DEFAULT" />
            </activity>
            <activity android:name=".She0">
                <action android:name="android.intent.action.MY_ACTION" />
                <category android:name="android.intent.category.DEFAULT" />
            </activity>
            <activity android:name=".Nuwu">
                <action android:name="android.intent.action.MY_ACTION" />
                <category android:name="android.intent.category.DEFAULT" />
            </activity>
            <activity android:name=".Nuwu0">
                <action android:name="android.intent.action.MY_ACTION" />
                <category android:name="android.intent.category.DEFAULT" />
            </activity>
            <activity android:name=".Over">
                <action android:name="android.intent.action.MY_ACTION" />
                <category android:name="android.intent.category.DEFAULT" />
            </activity>
        </application>
    
    </manifest>
    

    以上是迷雾森林全部代码,是初学Android时运用基础知识写的小程序,按照步骤来做,应该能直接运行。

    欢迎大家指正。

    迷雾森林代码

    展开全文
  • 使用Cocos creator开发一个文字游戏

    千次阅读 2019-03-06 02:39:35
    本项目采用es6面向对象的开发方式,作为游戏新人,我会在项目中使用比较多的游戏设计模式来学习游戏开发。另外为了将开发重心放在代码上,本游戏没有使用任何图片资源,ui组件全为游戏引擎的原生ui(拖拽完成)。 ...

    本项目采用es6面向对象的开发方式,作为游戏新人,我会在项目中使用比较多的游戏设计模式来学习游戏开发。另外为了将开发重心放在代码上,本游戏没有使用任何图片资源,ui组件全为游戏引擎的原生ui(拖拽完成)。

    游戏介绍

    开发本游戏的初衷是因为玩了游戏《流浪日记》该游戏评分很高,作者很用心。我也觉得挺好玩,并且还推荐给一个妹子玩,妹子也因此每天晚上跟我聊该游戏。作为一个学过一点游戏开发的程序员,我打算仿制该游戏,最终完成一个文字游戏的框架,换不同的剧本就能成为很多有意思的小游戏。

    项目介绍

    项目还在开发中,我先把大致的框架搭建了起来。项目地址

    • AudioManager是我抄的代码,目前没用到,对引擎的audio做了二次封装。
    • Command使用了设计模式的命令模式。
    • Enum定义了游戏中所有的枚举类型。
    • Event定义了所有的游戏事件。
    • Func抽出了游戏中的公用方法。
    • Listener设计模式的观察者模式(自己写的很简易),可以使用,不过没有使用,用的引擎自身的分发。
    • MonsterFactory使用了设计模式的原型模式,可以定义很多怪物原型。
    • PlayerManager角色类,定义了角色的属性和行为。
    • State使用了状态模式的有限状态机。
    • 其余以Scene结尾的是挂在游戏场景上的脚本,负责游戏的主要逻辑。

    后续会对各个脚本文件做一些解读。对该项目有兴趣,或者想一起学习的可以联系我。

    转载于:https://juejin.im/post/5c7f2574f265da2de33f49ad

    展开全文
  • 一个文字游戏的制作流程和部分代码,对于刚刚使用Untiy的新手来说,是个不错的学习过程。
  • 成语接龙和唐诗背诵文字游戏开发

    千次阅读 2014-11-16 00:00:09
    这两天抽空完成了成语接龙和唐诗背诵两款简单的文字游戏开发,对程序的框架

    简介


    这两天抽空完成了成语接龙和唐诗背诵两款简单的文字游戏的开发,对程序的框架进行优化了下,并集成到了itoffer公众号中。


    发现好的代码设计风格可以极大地减少代码编写量。


    希望后续有空多学习下如何编写好的程序架构。


    另外开发一些简单有趣的东西,供自己用也供感兴趣的同学使用。



    成语接龙开发思路


    1. 获取资源,主要包括成语资料库

    2. 建立索引,每个末尾字所能对应的成语

    3. 确定用户当前输入是否正确

    4. 计分与刷新排行榜


    唐诗背诵开发思路


    1. 获取唐诗资料

    2. 利用正则随机提取某个诗词中的句子,并以空格代替,让玩家回复

    3. 确认回复是否正确

    4. 计分与刷新排行榜






    展开全文
  • wap 文字游戏

    2018-07-20 14:59:35
    一款仙侠类文字游戏的php源代码-------------------------------------------------------
  • GUI文字游戏DEMO

    2018-10-17 19:59:00
    GUI文字游戏,具体效果看我博客,莫言情难忘CSDN博客,eclipse开发,纯JAVA语言,一接口若干类,主要是没开发完,以后会接着看法的,下载这个的以后可直接要最新版的
  • 故事卡上包含一些文字,其中一部分是用于描述玩家当前的状态,另外一部分是在当前情况下玩家可以做出的一系列选择。 根据玩家的不同选择,剧情也会按照不同的分支向前发展,并持续出现新的卡片与选择,直到最终的...
  • Libgdx游戏开发中文文字的显示和绘制,项目中包含:源码+效果图+APK 教程地址:http://blog.csdn.net/yangyu20121224/article/details/9182243
  • 一款PHP开发游戏,一款纯文字网游源码,可以自己二次开发! 一款PHP开发游戏,一款纯文字网游源码,可以自己二次开发
  • 这是一个文字游戏,纵横四海

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 69,603
精华内容 27,841
关键字:

如何自己开发文字游戏