勇者与羁绊 游戏开发日志(十)

开发进度

优化了手牌的显示

实现过程

想要的效果是手牌会像扇形一样摊开。
然后鼠标移上去这张牌就会放大。

手牌扇形展开

重新写了手牌显示的方式。
因为是扇形展开,所以实际上,每一张卡牌的中心点,都位于这个扇形的弧线上。
首先要确定的是,这条弧线所在圆的表达式。
因此需要三个参数:圆心坐标(x,y)和半径r

	private const float R = 2100.0f;//半径
    private const float Y = 2000.0f;//圆心Y值

圆心Y值与半即R是我设置的一个常量,可以适当调整,但是R-Y的值,就是位于中间的这张牌的Y的坐标值,所以R-Y应当为一个适当的固定值。
圆心X值就是屏幕的中心位置,即

	float p0 = Screen.width/2;

然后,要给每一张卡牌分配角度,
比如手牌有5张牌,则每张牌应为-10,-5,0,5,10这个角度。
另外还需确定卡牌的角度范围,比如只能位于-10°~10°之间。
因此,可以先通过卡牌数量,来求得相邻两张卡牌之间的角度间隔。

		//计算每张牌之间的角度间隔
        float deg_space;
        
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单的勇者斗恶龙游戏的JAVA代码,但需要说明的是,这只是一个简单的示例,如果您想要开发一个完整的游戏,需要更多的时间和精力。 以下是一个简单的勇者斗恶龙游戏的JAVA代码: ```java import java.util.Random; import java.util.Scanner; public class DragonSlayerGame { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Random random = new Random(); //初始化勇者和恶龙的属性 int heroHP = 100; int dragonHP = 200; System.out.println("勇者斗恶龙游戏开始!"); while (true) { //勇者攻击 int heroAttack = random.nextInt(20) + 1; System.out.println("勇者发起了攻击,造成了 " + heroAttack + " 点伤害!"); dragonHP -= heroAttack; //判断恶龙是否死亡 if (dragonHP <= 0) { System.out.println("恭喜你,击败了恶龙!"); break; } //恶龙攻击 int dragonAttack = random.nextInt(30) + 1; System.out.println("恶龙发起了攻击,造成了 " + dragonAttack + " 点伤害!"); heroHP -= dragonAttack; //判断勇者是否死亡 if (heroHP <= 0) { System.out.println("很遗憾,勇者被恶龙击败了!"); break; } //打印当前的血量 System.out.println("勇者的血量:" + heroHP); System.out.println("恶龙的血量:" + dragonHP); //等待用户输入 System.out.println("请按回车键继续游戏..."); scanner.nextLine(); } } } ``` 以上代码实现了一个简单的勇者斗恶龙游戏,每次游戏中,勇者和恶龙都会攻击对方,直到其中一方的血量降为0,游戏结束。 请注意,这只是一个简单的示例,您需要更多的时间和精力来完善和优化这个游戏

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值