植物卡片框

*/

public class PlantsBar implements GuiConstnat {

// 卡片格子数量

private int plantSum;

// 太阳数量和卡片选择窗口

private Image seedBank;

// 卡片

private SeedCard[] cards;

// 太阳数量

private int lights;

// 画笔颜色,显示太阳数量

private Font lightFont;

public PlantsBar() {

seedBank = ImageUtil.loadImage("SeedBank.png");

// allSeedImg = ImageUtil.loadImage("allseeds.png");

plantSum = 7;

cards = new SeedCard[plantSum];

for (int i = 0; i < plantSum; ++i) {

cards[i] = new SeedCard(new Point(SEED_OFFSET + ADD_SUN_OFFSET(CARD_WIDTH + CARD_GAP_W) * i, TOP_OFFSET), new Point(i,

0));

}

lightFont = new Font(Font.DIALOG, Font.BOLD, 20);

lights = 1000;

}

public void gameUpdate(long time) {

for (SeedCard sc : cards) {

sc.gameUpdate();

}

}

// 选择植物卡片

public PlantType selectedPlant(Point pos) {

// 判断是否坐标是否在指定范围

if ((pos.x > SEED_OFFSET + ADD_SUN_OFFSET)

&& (pos.x < SEED_OFFSET + ADD_SUN_OFFSETseedBank.getWidth(null)) && (pos.y > TOP_OFFSET)

&& (pos.y < TOP_OFFSET + seedBank.getHeight(null))) {

// 判断哪一张卡片被选择,是否可选

for (SeedCard sc : cards) {

if (sc.mouseIn(pos.x, pos.y) && sc.isEnable()) {

if (lights >= sc.getCost()) {

System.out.println("This plant will use our "sc.getCost() + " lights. we have" + lights);

sc.reset();

lights -= sc.getCost();return sc.getPlantType();

}

}

}

}

return PlantType.NONE;

}

public void draw(Graphics g) {

g.drawImage(seedBank, GuiConstnat.SEED_OFFSET, 0, null);

for (SeedCard sc : cards) {

sc.draw(g);

}

g.setColor(Color.BLACK);

g.setFont(lightFont);

g.drawString(String.valueOf(lights), SEED_OFFSETADD_SUN_COUNT_X_OFFSET, ADD_SUN_COUNT_y_OFFSET);

// cards[0].draw(g);

/*g.drawImage(allSeedImg, SEED_OFFSET + ADD_SUN_OFFSET, TOP_OFFSET,

SEED_OFFSET + ADD_SUN_OFFSET + CARD_WIDTH, TOP_OFFSET + CARD_HEIGHT,

0, 0, CARD_WIDTH, CARD_HEIGHT, null);

*/

}

// 收集阳光

public void collectSun(int num) {

lights += num;

}

}

关于使用java实现植物大战僵尸游戏就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果喜欢这篇文章,不如把它分享出去让更多的人看到。

java植物大战僵尸 论文_java实现植物大战僵尸游戏相关推荐

  1. 基于java二手书论文_java毕业设计_springboot框架的二手书交易管理与实现

    今天介绍一个java毕设题目, 题目内容为springboot框架的二手书交易管理与实现, 是一个采用b/s结构的javaweb项目, 采用java语言编写开发工具eclipse, 项目框架jsp+s ...

  2. java学习体会论文_Java I/O学习心得一

    Java的I/O是一个庞大的文件操作系统,初学者往往对I/O的使用比较迷茫,优点丈二和尚摸不着头脑的感觉.即便是使用java I/O处理了自己的实际需求仍然不知其所以然.当然我也是这样,所以几天以前我 ...

  3. java五子棋gui代码_java GUI实现五子棋游戏

    本文实例为大家分享了java实现五子棋游戏GUI,供大家参考,具体内容如下 引用包 //{Cynthia Zhang} import java.awt.*; import java.awt.event ...

  4. java实现智能拼图_java实现拼图小游戏

    一个简单的拼图小游戏,供大家参考,具体内容如下 1.首先设计视图面板. 2.添加所需要的图片按钮. 3.最主要的是设计监听事件,添加图片的监听按钮,设定移动空白图片周围的按钮. 4.判断是否成功 . ...

  5. java中人机猜拳_Java实现人机猜拳游戏

    本文实例为大家分享了Java实现人机猜拳游戏的具体代码,供大家参考,具体内容如下 实现: User类 public class User { private String name; private ...

  6. java五子棋课程设计_JAVA课程设计+五子棋游戏

    1. 团队课程设计博客链接 2. 个人负责模块或任务说明 1.在同伴构建好初始框图的情况下,编写一个继承JPanel类,实现添加控件. 2.编写paintComponent类,实现绘画棋盘还有棋子. ...

  7. java贪吃蛇代码_java实现贪吃蛇游戏代码(附完整源码)

    先给大家分享源码,喜欢的朋友点此处下载. 游戏界面 GUI界面 java实现贪吃蛇游戏需要创建一个桌面窗口出来,此时就需要使用java中的swing控件 创建一个新窗口 JFrame frame = ...

  8. java挡板怎么写_Java挡板接小球游戏

    版权声明:© 2018 chashu All Rights Reserved.https://blog.csdn.net/tongshuyang/article/details/83054905 虽然 ...

  9. java简易版连连看_Java版连连看小游戏

    2.[代码][Java]代码 package com; import java.awt.Color; import java.awt.EventQueue; import java.awt.Graph ...

最新文章

  1. 医工汇聚 智竞心电 | 首届中国心电智能大赛开启招募
  2. PaperNotes(7)-GANs模式坍塌/训练不稳定
  3. 微课|中学生可以这样学Python(2.2.4节):逻辑运算符
  4. mongoDb 给表添加+ 删除字段
  5. Python(42)_文件操作
  6. OpenCV读取RTSP视频流
  7. Qt5 QtQuick系列----QtQuick的Secne Graph剖析(1)
  8. java cookie详解
  9. JAVA 类和对象的实例
  10. 2021农行研发中心面试题总结
  11. 爬虫,爬取句子迷《龙族》
  12. 第01章 Tableau数据可视化概述
  13. 华为魔术2手机拆机图解_荣耀Magic2做工如何?荣耀Magic2拆解图解评测 (全文)
  14. 【汇正财经】上证50逆势收涨,大盘健康震固
  15. java trove_trove4j高性能Java集合库
  16. 易基因|一文读懂精准简化基因组甲基化测序(RRBS+oxRRBS)分析怎么做
  17. 《程序开发心理学》几点核心理解
  18. Python知识点大全--如何学好Python
  19. 这是你们要的临时接收短信的虚拟手机号
  20. 史上最全,最实用Win10 CMD命令快捷键

热门文章

  1. Java创建RPG游戏角色
  2. IEEE Access 上岸指南
  3. DHCP欺骗攻击(yersinia应用)
  4. 手把手教在VMware虚拟机中安装Windows11系统
  5. 寻找突破口语学习技巧
  6. python3群控手机_带你用 Python 实现自动化群控(入门篇)
  7. 2021寒假——洛谷刷题计划(35题)
  8. 【探花交友DAY 02】项目搭建和用户登录功能的实现
  9. AVR 定时器快速PWM模式使用
  10. Intellij idea Ultimate版本学生免费注册使用步骤以及Github学生包