내 코드는 임의로 생성 된 Rpg와 유사한 항목의 통계가 표시되는 창을 엽니 다. 내 문제는 이제 어떻게 작성해야하는지 모르기 때문에 새 항목을 생성합니다. 당신이 버튼을 누르면. libgdx 프레임 워크를 사용하고 있습니다. 코딩에 관해서, 나는 피 묻은 루키입니다. 그리고 이것은 제 첫 번째 어플리케이션입니다. 당신이 자신을 말했듯이, 당신이 신인이다새로운 무작위 값 생성
package com.mygdx.test;
import java.util.Random;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class Itemgenerator extends ApplicationAdapter {
private SpriteBatch batch;
private BitmapFont font;
Color rarityColor;
String rarity;
Random randomPrefix = new Random();
Random randomName = new Random();
Random randomRarity = new Random();
Random randomItemType = new Random();
Random randomItemLevel = new Random();
Random randomDamage = new Random();
Random randomWeaponSpeed = new Random();
Random randomStrengh = new Random();
Random randomEndurance = new Random();
Random randomCritical = new Random();
Random randomWisdom = new Random();
String [] Prefix = {"Blunt", "Sharp", "Jagged", "Grandmaster's", "Knight's", "Apprentice's","Crude", "Godly", "Flawless", "Barbaric", "Horrific", "Hiddeous", "Demonic", "Dull", "Bloody", "Holy", "Engergiced", "Fast", "Otherworldly", "Well-Worn", "Elegant","Vigilant", "Surpressing" ,"Destroying", "Vampiric", "Intimidating"};
String [] Name = {" Soulsplitter"," Axe", " Sword", " Spear", " Bow", " Longbow", " Staff", " God Eater", " Doomsday Device", " Excalibur", " Nature's Call", " Forest Spirit", " Dragon's Breath", " God's Wrath", " Buster", " Peace Keeper", " Jackhammer", " Battleaxe", " Emperor's Lance", " Tsunami", " Hurricane"};
String [] ItemType = {"Axe", "Sword", "Broadsword", "Dagger", "Bow","Longbow","Staff","Spear","Hammer"};
int index = randomPrefix.nextInt(Prefix.length);
int index1 = randomName.nextInt(Name.length);
int index2 = randomItemType.nextInt(ItemType.length);
int ItemLevel = randomItemLevel.nextInt(1000);
int Damage = randomDamage.nextInt(25000);
int WeaponSpeed = randomWeaponSpeed.nextInt(100);
int WeaponStrengh = randomStrengh.nextInt(350);
int WeaponEndurance = randomEndurance.nextInt(350);
int weaponCritical = randomCritical.nextInt(350);
int weaponWisdom = randomWisdom.nextInt(350);
@Override
public void create() {
batch = new SpriteBatch();
font = new BitmapFont();
}
@Override
public void render() {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
font.draw(batch,Prefix[index]+ Name[index1], 0, 300);
if(ItemLevel<=101){
rarity = "Common";
font.draw(batch, rarity, 0, 280);
}
else if(ItemLevel<=251){
rarity = "Uncommon";
font.draw(batch, rarity, 0, 280);
}
else if(ItemLevel<=401){
rarity = "Rare";
font.draw(batch, rarity, 0, 280);
}
else if(ItemLevel<=551){
rarity = "Magical";
font.draw(batch, rarity, 0, 280);
}
else if(ItemLevel<=626){
rarity = "Epic";
font.draw(batch, rarity, 0, 280);
}
else if(ItemLevel<=736){
rarity = "Unique";
font.draw(batch, rarity, 0, 280);
}
else if(ItemLevel<=876){
rarity = "Legendary";
font.draw(batch, rarity, 0, 280);
}
else if(ItemLevel<=1000){
rarity = "Glitched";
font.draw(batch, rarity, 0, 280);
}
if (rarity == "Common"){
font.setColor(Color.WHITE);
}
else if(rarity == "Uncommon"){
font.setColor(Color.LIME);
}
else if(rarity == "Rare"){
font.setColor(Color.BLUE);
}
else if(rarity == "Magical"){
font.setColor(Color.PURPLE);
}
else if(rarity == "Epic"){
font.setColor(Color.PINK);
}
else if(rarity == "Unique"){
font.setColor(Color.YELLOW);
}
else if(rarity == "Legendary"){
font.setColor(Color.ORANGE);
}
else if(rarity == "Glitched"){
font.setColor(Color.RED);
}
font.draw(batch, "ItemLevel: "+ItemLevel, 140, 280);
font.draw(batch, ItemType[index2], 0, 260);
font.draw(batch, "Damage: "+Damage, 0, 220);
font.draw(batch, "Weaponspeed: "+WeaponSpeed, 140, 220);
font.draw(batch, "+"+WeaponStrengh+" Strengh", 0, 200);
font.draw(batch, "+"+WeaponEndurance+" Endurance", 0, 180);
font.draw(batch, "+"+weaponCritical+" Critical Strike", 0, 160);
font.draw(batch, "+"+weaponWisdom+" Wisdom", 0, 140);
batch.end();
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
}
단지 관측 - 당신은 실제로 10 가지 랜덤 인스턴스가 필요하지 않습니다. 그냥 하나 만들고 다시 사용하십시오. –
무작위로 개체를 쓰는 중 ... –
모든'random.nextInt() ...'를 함수에 넣으십시오. 버튼을 눌렀을 때 그 기능을 호출하십시오. –