⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mycan.java

📁 j2me的一款钓鱼的游戏
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			g.drawImage(helptwo[1][0], 150, 175, Graphics.TOP | Graphics.LEFT);

		}
		if (count % 11 >= 0 && count % 11 <= 5) {
			g.drawImage(helptwo[0][1], 7, 0, Graphics.TOP | Graphics.LEFT);
			g.drawImage(helptwo[0][1], 117, 0, Graphics.TOP | Graphics.LEFT);
			g.drawImage(helptwo[1][1], 97, 175, Graphics.TOP | Graphics.LEFT);
			g.drawImage(helptwo[1][1], 150, 175, Graphics.TOP | Graphics.LEFT);

		}

	}

	// 总控制
	public void keyPressed(int keyCode) {
		int keystate = getGameAction(keyCode);
		switch (gamestate) {
		case LOG:
			log++;
			count += 60;
			repaint();
			break;
		case MENU:

			controlMenu(keystate);
			break;
		case RUN:
			if (keyCode == 49) {

				gamestate = PAUSE;

			}

			controlPlayer(keystate);

			break;
		case PAUSE:

			gamestate = RUN;

			break;
		case GAMEOVER:
			gamestate = MENU;
			break;
		case SHOP:
			controlShop(keystate);
			break;
		case HELP:
			gamestate = MENU;

			break;
		case WRITE:
			selectName(keystate);
			break;
		case RANK:
			gamestate = MENU;

			break;
		}
	}

	// 控制鱼
	void controlFish() {
		for (int i = 0; i < npc.size(); i++) {
			Fish temp = (Fish) npc.elementAt(i);
			if (temp.isfish) {

				temp.setdirect(Fish._UP);
				temp.turnV(1);
				player.isback = true;
			}
		}
	}

	// 控制玩家
	void controlPlayer(int keyCode) {

		switch (keyCode) {

		case LEFT:
			if (player.isMove()) {

				player.setdirect(173);
				player.move();
			}

			break;
		case RIGHT:
			if (player.isMove()) {

				player.setdirect(174);
				player.move();
			}

			break;
		case UP:
			if (!player.isShark && player.isfish) {

				controlFish();
			}
			break;
		case DOWN:
			player.contorlLine();

			break;
		case FIRE:

			if (player.alive(1) != 0) {

				shop.dx = 70;
				shop.dy = 98;
				fire = true;
				shop.count = 0;
				stopFish();
			}
			player.delone(1);

			break;

		}
	}

	// 控制菜单
	void controlMenu(int keystate) {

		switch (keystate) {
		case UP:
			if (frame > 0) {
				frame--;
			} else {
				frame = 3;
			}
			break;
		case DOWN:
			if (frame < 3) {
				frame++;
			} else {
				frame = 0;
			}
			break;

		case LEFT:
			if (frame > 0) {
				frame--;
			} else {
				frame = 3;
			}
			break;

		case RIGHT:
			if (frame < 3) {
				frame++;
			} else {
				frame = 0;
			}
			break;
		case FIRE:
			switch (frame) {
			case 0:
				player = new Play();
				gamestate = LOGOG;

				break;
			case 1:
				turnH();
				break;
			case 2:
				drawrank = true;
				gamestate = RANK;

				break;

			case 3:
				mymid.exit();
				break;
			}
			break;
		}
	}

	// 控制留名
	void selectName(int keystate) {

		switch (keystate) {
		case UP:
			if (ky - NW <= 116) {
				ky = 164;
				namenum += 21;
			} else {
				ky -= NW + 2;
				namenum -= 7;
			}
			break;
		case DOWN:
			if (ky + NW >= 164) {
				ky = 116;
				namenum -= 21;
			} else {
				ky += NW + 2;
				namenum += 7;
			}
			break;

		case LEFT:
			if (kx - NW <= 25) {
				kx = 132;
				namenum += 6;
			} else {
				kx -= NW + 4;
				namenum -= 1;
			}
			break;

		case RIGHT:
			if (kx + NW >= 132) {
				kx = 25;
				namenum -= 6;
			} else {
				kx += NW + 4;
				namenum += 1;
			}
			break;
		case FIRE:

			String a = "" + (char) namenum;

			if (namenum < 'Z' + 1 && winname.length() < 6) {
				winname.append(a);

			}
			a = "";

			if (namenum == 'Z' + 1 && winname.length() > 0) {

				winname.deleteCharAt(winname.length() - 1);

			}
			if (namenum == 'Z' + 2) {
				Myrms mrs = new Myrms();
				String wa = winname.toString();
				mrs.addR(wa, playgoal);
				drawrank = true;
				gamestate = RANK;

				mrs.close();
				// --------------------------

				winname.delete(0, winname.length() - 1);

			}

			break;

		}
	}

	// 控制商店
	void controlShop(int keystate) {
		switch (keystate) {

		case DOWN:
			shop.turnY();
			break;
		case FIRE:
			switch (shop.ly) {
			case 2:
				level++;

				gamestate = LOGOG;
				break;
			case 27:
				if (player.getGoal() > 100) {

					player.buyone(0);

					shop.drawBlank();
				}
				break;
			case 52:
				if (player.getGoal() > 200) {
					player.buyone(1);
					shop.drawBlank();
				}
				break;
			case 77:
				if (player.getGoal() > 300) {
					player.buyone(2);
					shop.drawBlank();
				}
				break;
			}

			break;
		}
	}

	protected void showNotify() {

		new Thread(this).start();
	}

	// 判断鱼
	void judgeFish() {

		for (int i = 0; i < npc.size(); i++) {
			Fish temp = (Fish) npc.elementAt(i);
			if (temp.isCatch(player.getX(), player.getY())) {

				temp.setXY(player.getX() - 6, player.getY());
				temp.turnV(0);
				temp.frame = 0;
				money = temp.getCoin();
				player.isfish = true;

			}
		}
	}

	// 停止鱼
	void stopFish() {
		for (int i = 0; i < npc.size(); i++) {
			Fish temp = (Fish) npc.elementAt(i);
			temp.turnV(0);
		}

	}

	// 动鱼
	void moveFish() {
		for (int i = 0; i < npc.size(); i++) {
			Fish temp = (Fish) npc.elementAt(i);
			temp.turnV(1);
		}
	}

	// 判断鲨鱼
	void judgeSK() {

		if (sk.isCatch(player.getX(), player.getY())) {

			sk.count++;
			player.isfish = true;
			player.isShark = true;
			sk.stay = true;

			if (sk.count == 100) {
				player.isfish = false;
				player.isShark = false;

				sk.stay = false;
				sk.count = 0;

			} else if (player.alive(0) != 0) {
				player.isfish = false;
				player.isShark = false;

				sk.stay = false;
				sk.count = 0;
				player.delone(0);

			}
		}
	}

	// 判断箱子
	void judgeBox() {
		if (shop.openBox(player.getX(), player.getY()) && player.alive(2) != 0) {
			shop.isopen = true;
			shop.boxcount++;
			player.isfish = true;
			if (shop.boxcount == 60) {
				shop.setbox = false;
				player.isfish = false;
				int a = (rand.nextInt(9) + 1) * 100;
				player.setGoal(a);
				player.delone(2);

			}
		}

	}

	// 鱼移动
	void moveNPC() {
		for (int i = 0; i < npc.size(); i++) {
			Fish temp = (Fish) npc.elementAt(i);
			temp.move();
		}

	}

	// 判断游戏
	void judgeGame() {
		if (m.count >= 2950) {

			if (!isOver()) {

				Myrms mrs = new Myrms();
				try {
					if (mrs.rs.getNextRecordID() <= 4) {
						gamestate = WRITE;
					} else if (mrs.rs.getNextRecordID() >= 4) {

						byte[] temp = mrs.rs.getRecord(3);
						Winner win = new Winner(temp);
						if (playgoal > win.count) {
							gamestate = WRITE;
						} else {

							gamestate = GAMEOVER;

						}
					}
				} catch (RecordStoreNotOpenException e) {

					e.printStackTrace();
				} catch (RecordStoreException e) {

					e.printStackTrace();
				}
				mrs.close();
			} else {

				shop = new Shop();
				gamestate = SHOP;

			}
			log = 0;
		}
	}

	// 控制计数器
	int countUp(boolean a) {
		if (a) {
			count++;
			if (count == 10000) {
				count = 0;
			}
			if (count == 60) {
				log = 1;
			}
		} else {
			count = 0;
		}
		return count;
	}

	void logic() {

		switch (gamestate) {
		case LOGOG:

			log++;

			if (log >= 60) {
				initializeMap();
				shop.count = 0;
				gamestate = RUN;

			}

			break;
		case RUN:

			m.circulateMap();

			m.countUp(true);
			addNpc();
			moveNPC();
			// -----------------------
			sk.move();

			if (!player.isfish && !player.isShark) {

				judgeFish();
			}
			if (sk.iscome) {
				judgeSK();
			}
			if (shop.setbox) {

				judgeBox();
			}
			if (m.count == 1000) {
				shop.setbox = true;
			}
			if (m.count % 300 == 0) {

				addSk();
			}
			if (fire) {
				shop.dcount++;
				if (shop.dcount == 750) {
					moveFish();
				}
			}
			judgeGame();
			shop.count++;
			if (shop.setbox && !shop.isopen) {

				shop.moveBox();
			}
			playgoal = player.getGoal();
			// --------------------------------

			if (player.alive(1) == 0 && shop.count == 30) {
				fire = false;
			}

			break;

		}
	}

	public void run() {
		while (true) {

			try {

				logic();
				repaint();

				Thread.sleep(33);

			} catch (InterruptedException e) {

				e.printStackTrace();
			}
		}

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -