飞行棋2

/**
 * @(#)Fgame.java
 * 飞行棋
 *
 * @author
 * @version 1.00 2009/12/22
 */

import java.util.Scanner;
public class Fgame {

    static String [] map=new String[115];
    static int [] rae={11,21,29,44,61,70,82,100,113};
    static int [] star={4,37,53,77,90};
    static int locationb=0;
    static int locationa=0;
    static int m;  
    public static void main (String[] args)
    {        
        drawmap();//初始化地图
        do
        {    
            locationa+=yaoSai();//玩家■摇色
            System.out.println("\n■掷出的点数是:"+m);
            rule(1);//玩家■执行规则            
            drawmap();//玩家■摇色后画地图
            locationb+=yaoSai();//玩家〓摇色
            System.out.println("\n〓掷出的点数是:"+m);
            rule(2);//玩家〓执行规则            
            drawmap();//玩家〓摇色后画地图
        }while(locationa<115&&locationb<115);
        if(locationa>=115)
            System.out.print ("\n玩家■赢了!!");
        else if(locationb>=115)
            System.out.println ("\no(≧v≦)o~~好棒!!玩家〓赢了!!");                            
    }
    /**
     *
     *画地图
     */
    public static void drawmap()
    {
        for (int i = 0; i<115; i++)
        {
            map[i]="::";
            if(locationa==locationb&&locationa==0&&i==0)
                map[i]="●●";            
            else{                
                for (int j = 0;j<115; j++)
                {
                    if(i==locationb)
                    map[i]="〓";
                }
                for (int j = 0; j<115; j++)
                {              
                    if(i==locationa)
                        map[i]="■";
                }            
                for (int j = 0; j<9; j++)
                {
                    if(i==rae[j])
                        map[i]="雷";
                }
                for (int j = 0; j<5; j++)
                {
                    if(i==star[j])
                        map[i]="※";
                }
            }
        }
        
        
        
        //画地图
        //第一行
        for (int i = 0; i<30; i++)
        {
               System.out.print (map[i]);
        }
        //第二到第五行
        System.out.println();
        for (int i =30; i<=33; i++)
        {
            for (int j = 1; j<=29; j++)
            {
                System.out.print ("  ");
            }
            System.out.print (map[i]);
            System.out.println ();
        }
        //第六行
        for (int i = 81; i<=100;i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<=9; j++)
        {
            System.out.print ("  ");                
        }
        for (int i = 34; i<=34; i++)
        {
            System.out.print (map[i]);
        }
        System.out.println ();
        
        //第七行
        for (int i = 80; i<81; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<=18; j++)
        {
            System.out.print ("  ");
        }
        for (int i = 101; i<102; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<=9; j++)
        {
            System.out.print ("  ");
        }
        for (int i = 35; i<36; i++)
        {
            System.out.print (map[i]);
        }
        System.out.println ();
        //第八行
        for (int i = 79; i<80; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<=18; j++)
        {
            System.out.print ("  ");
        }
        for (int i = 102; i<103; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<=9; j++)
        {
            System.out.print ("  ");
        }
        for (int i = 36; i<37; i++)
        {
            System.out.print(map[i]);
        }
        System.out.println ();
        //第九行
        for (int i = 78; i<79; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<=18; j++)
        {
            System.out.print ("  ");
        }
        for (int i = 103; i<104; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<=9; j++)
        {
            System.out.print ("  ");
        }
        for (int i = 37; i<38; i++)
        {
            System.out.print (map[i]);                        
        }
        System.out.println ();
        //第十行
        for (int i = 77; i<78; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<=18; j++)
        {
            System.out.print ("  ");
        }
        for (int i = 104; i<105; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<=9; j++)
        {
            System.out.print ("  ");
        }
        for (int i = 38; i<39; i++)
        {
        System.out.print (map[i]);                
        }
        System.out.println ();        
        
        
        //第十一行
        for (int i = 76; i<77; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<=7; j++)
        {
            System.out.print ("  ");
        }
        System.out.print ("终点");
        for (int i = 114; i>=105; i--)
        {              
            System.out.print (map[i]);
        }        
        for (int j = 1; j<=9; j++)
        {
            System.out.print ("  ");
        }
        for (int i = 39; i<40; i++)
        {
            System.out.print (map[i]);
        }
        System.out.println ();
        //第十二行
        for (int i = 75; i<76; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<29; j++)
        {
            System.out.print ("  ");
        }
        for (int i =40; i<41; i++)
        {
            System.out.print (map[i]);
        }
        System.out.println ();
        //第十三行
        for (int i = 74; i<75; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<29; j++)
        {
            System.out.print ("  ");
        }
        for (int i =41; i<42; i++)
        {
            System.out.print (map[i]);
        }
        System.out.println ();
        //第十四行
        for (int i = 73; i<74; i++)
        {
            System.out.print (map[i]);
        }
        for (int j = 1; j<29; j++)
        {
            System.out.print ("  ");
        }
        for (int i =42; i<43; i++)
        {
            System.out.print (map[i]);
        }
        System.out.println ();
        //第十五行
        for (int i = 72; i>=43; i--)
        {
            System.out.print (map[i]);
        }
        System.out.println ();              
        
    }
    /**玩家摇点
     *
     */
    public static int yaoSai ()
    {
        System.out.print("\n请掷色子(输入任意丢出色子):");
        Scanner input=new Scanner(System.in);
        String s=input.next();        
        double n=Math.random();
        m=(int)(n*6+1);        
        return m;    
                      
    }
    /**
     *规则
     *
     */
    public static void rule(int gamer)
    {
        if(gamer==1)
        {                        
            if(locationa==locationb && locationa>0 )
            {
                System.out.println("\n■踩到〓啦!O(∩_∩)O哈哈~...〓回到原点");
                locationb=0;
            }
            for (int j = 0; j<9; j++)
            {
                
                if(locationa==rae[j])
                {
                    System.out.println("\no(>﹏<)o不要啊...\n■踩到雷啦!■退后10步");
                    locationa-=10;
                }
            }    
            for (int j = 0; j<5; j++)
            {                    
                if(locationa==star[j])
                {
                    System.out.println("\n(*^__^*) 嘻嘻……\n■踩到幸运星啦!■前进10步");
                    locationa+=10;
                }
            }                
        }
        if(gamer==2)
        {
            if(locationa==locationb&&locationa>0)
            {                    
                System.out.println("\n〓踩到■啦!O(∩_∩)O哈哈~...■回到原点!");
                locationa=0;
            }
            for (int j = 0; j<9; j++)
            {
                
                if(locationb==rae[j])
                {
                    System.out.println("\no(>﹏<)o不要啊...\n〓踩到雷啦!〓退后10步");
                    locationb-=10;
                }
            }    
            for (int j = 0; j<5; j++)
            {                    
                if(locationb==star[j])
                {
                    System.out.println("\n(*^__^*) 嘻嘻……\n〓踩到幸运星啦!〓前进10步");
                    locationb+=10;
                }
            }                
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scratch飞行棋是一种在Scratch编程平台上制作的飞行棋游戏。飞行棋是一种非常经典的棋类游戏,玩家通过掷骰子并将自己的棋子移动到目标点以取得胜利。 在Scratch飞行棋游戏中,玩家首先需要选择角色和棋子颜色,然后开始游戏。玩家通过点击骰子来掷骰子,并通过将骰子的数字添加到棋子所在方格的标签中来移动棋子。每位玩家必须按照骰子的数字移动对应步数。如果玩家的棋子停在与其它玩家的棋子相同的方格上,那么该棋子将被驱逐回起始位置。 游戏中有一些特殊的方格,它们具有不同的功能。例如,起飞点可以将玩家的棋子从起始位置移动到指定的方格上;遇机会卡时,玩家需要按照卡牌的指示执行相应的动作,如前进或后退;遇到彩虹桥时,玩家可以跳过一些方格,以更快地到达目标点。 游戏目标是让自己的棋子尽快地到达终点。当一个玩家的棋子到达终点时,他就赢得了比赛。游戏可以有两个或更多的玩家参与,每个玩家依次轮流掷骰子并移动棋子。 通过制作和玩Scratch飞行棋,玩家可以学习到很多编程概念,如变量、控制语句和事件处理等。此外,他们还可以锻炼自己的逻辑思维和决策能力。 总的来说,Scratch飞行棋是一种有趣和有教育意义的游戏,适合小朋友和初学者。通过这个游戏,玩家可以在编程的过程中体验游戏的乐趣,并进一步提升自己的编程技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值