简单的贪吃蛇小游戏

/**
*贪吃蛇原始版:让单字母贪吃蛇C动起来,并根据玩家光标键更改运动方向
*/


import static javaconsole.JavaConsole.*;

public class  SimpleSnake
{
    public static void main(String[] args) 
    {
            final int ESC = 27;        //ESC键
            final int UP = 72;        //向上的光标键
            final int DOWN = 80;    //向下的光标键
            final int LEFT = 75;    //向左的光标键
            final int RIGHT = 77;    //向右的光标键

            final int RIGHT_DIR = 1;            //蛇的运动方向:1右2下3左4上
            final int DOWN_DIR    = 2;
            final int LEFT_DIR    = 3;
            final int UP_DIR    = 4;

            int dir = RIGHT_DIR;                //蛇的初始运动方向向右

            set_size(80,25);
            set_title("简单原始版贪吃蛇游戏!");
            set_color(0,0x3);

            cls();

            int x = 40;//贪吃蛇的x坐标
            int y = 11;//贪吃蛇的y坐标

            gotoxy(x,y);
            System.out.print("C");
            
            getkey();

            while(true)
            {
                if(kbhit())        //如果玩家按下键
                {
                    //1.接收按键(上下左右光标键和ESC键)
                    int key = getkey();

                    switch(key)
                    {
                        case UP:
                            dir = UP_DIR;        //向上
                            break;
                        case DOWN:
                            dir = DOWN_DIR;        //向下
                            break;
                        case LEFT:
                            dir = LEFT_DIR;        //向左
                            break;
                        case RIGHT:
                            dir = RIGHT_DIR;    //向右
                            break;
                        case ESC:        //ESC退出游戏
                            System.exit(0);
                    }
                }
                
                //擦除原来的贪吃蛇
                delay(100);
                gotoxy(x,y);
                System.out.print(" ");

                //没有按键,让蛇沿着原来的方向运动
                switch(dir)
                {
                    case RIGHT_DIR:            //向右运动
                    x = x + 1;
                    if(x >= 79)
                    {
                        x = 79;
                    }
                    break;

                    case DOWN_DIR:            //向下运动
                    y = y + 1;
                    if(y >= 24)
                    {
                        y = 24;
                    }
                    break;

                    case LEFT_DIR:        //向左运动
                    x = x - 1;
                    if(x <= 0)
                    {
                        x = 0;
                    }
                    break;

                    case UP_DIR:            //向上运动
                    y = y - 1;
                    if(y <= 0)
                    {
                        y = 0;
                    }
                }

                //在新的位置处绘制贪吃蛇
                gotoxy(x,y);
                System.out.print("C");
            }
    }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值