Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package butka;
- import java.awt.*;
- import java.util.Random;
- import java.applet.*;
- import java.awt.event.*;
- import butka.Wait;
- public class UItest extends Applet implements MouseListener, KeyListener{
- Image dbImage;
- Graphics dbg;
- static Random randInt = new Random();
- private static int k,l; //Keyboard keys (instantaneous and last pressed)
- private static int hp=100; //Health
- private static int maxhp=100;
- private static int mp=100; //Mana
- private static int maxmp=100;
- private static int hpot,mpot=5; //Potions (health and mana)
- private static int money=900111; //Total money
- private static int cp, sp, gp, pp; //Monetary denominations
- private static int weapon,armour=0; //Wpn/Arm class
- private static int wpn1,wpn2,wpn3; //Weapon values
- private static int arm1,arm2,arm3,enc; //Armour values
- private static int item,cost; //Store values
- private static int dmg, repdmg=0; //Damage and Reported Damage
- // private static boolean dead=false; //if(dead==true)Game Over;
- String armourm = "Cloth";
- String armourt = "Shirt";
- String weaponm = "Wooden";
- String weapont = "Dagger";
- Toolkit tk=Toolkit.getDefaultToolkit();
- Image graphic = tk.getImage("C:\\Zopiac\\Graphics\\Wheel.png");
- public void init(){this.setSize(800,600);addKeyListener(this);addMouseListener(this);}
- public void paint(Graphics g){
- Wait.mSec(50);
- this.setSize(800,600);
- /*----------------Command interface-----------------------------------*/
- keyCheck();
- wpnCheck(weapon);
- armCheck(armour);
- /*----------------Status checker--------------------------------------*/
- // if(hp<=0){hp=0;dead=true;}
- if(hp>100)hp=100;
- if(mp>100)mp=100;
- /*----------------Deprecated money calculator-------------------------*/
- // cp=money;
- // while(cp>=100) if(cp>=100){sp++;cp-=100;}
- // while(sp>=100) if(sp>=100){gp++;sp-=100;}
- // while(gp>=100) if(gp>=100){pp++;gp-=100;}
- /*----------------Money calculation-----------------------------------*/
- pp=money/1000000;
- gp=(money-(10000*(100*pp)))/10000;
- sp=(money-(100*(100*gp)-(10000*pp)))/100;
- cp=(money-(100*sp)-(10000*gp)-(1000000*pp));
- if(pp>9999)pp=9999;
- /*----------------On-Screen Text--------------------------------------*/
- g.drawString("Key Pressed: "+l, 100, 180);
- //Status
- g.drawString("Health: "+hp, 20, 50);
- g.drawString("Mana: "+mp, 20, 70);
- g.drawString("Health Potions: "+hpot, 10, 100);
- g.drawString("Mana Potions : "+mpot, 10, 120);
- if(repdmg>0)g.drawString("Attack did "+repdmg+" damage!", 210, 110);
- //Equipment
- g.drawString("Weapon: "+weaponm+" "+weapont,50, 450);
- g.drawString("Armour: "+armourm+" "+armourt,50, 470);
- if(wpn3==0)g.drawString(
- "Attack: "+wpn1+"d"+wpn2
- +", "+wpn1+"-"+(wpn1*wpn2),
- 50, 500);
- if(wpn3 >0)g.drawString(
- "Attack: "+wpn1+"d"+wpn2+"+"+wpn3
- +", "+(wpn1+wpn3)+"-"+(wpn1*wpn2+wpn3),
- 50, 500);
- if(arm3==0)g.drawString(
- "Defence: "+arm1+"d"+arm2
- +", "+arm1+"-"+(arm1*arm2),
- 50, 520);
- if(arm3 >0)g.drawString(
- "Defence: "+arm1+"d"+arm2+"+"+arm3
- +", "+(arm1+arm3)+"-"+(arm1*arm2+arm3),
- 50, 520);
- g.drawString("Encumbrance: "+enc, 50, 540);
- //Money
- g.drawString("Money:", 740, 40);
- g.drawString(cp+"", 740, 60);
- g.drawString(sp+"", 740, 80);
- g.drawString(gp+"", 740, 100);
- g.drawString(pp+"", 740, 120);
- g.drawString("CP", 770, 60);
- g.drawString("SP", 770, 80);
- g.drawString("GP", 770, 100);
- g.drawString("PP", 770, 120);
- //Commands
- g.drawString("Q to hit yourself",100, 200);
- g.drawString("W to use magic",100, 220);
- g.drawString("A to use HP Pot",100, 240);
- g.drawString("S to use MP Pot",100, 260);
- g.drawString("Z to buy HP Pot (cost 4s50c)",100, 280);
- g.drawString("X to buy MP Pot (cost 6s50c)",100, 300);
- //Equipping
- g.drawString("G to equip wooden dagger", 300, 300);
- g.drawString("H to equip steel dagger", 300, 315);
- g.drawString("J to equip iron sword", 300, 330);
- g.drawString("K to equip steel broadsword", 300, 345);
- g.drawString("L to equip iron halberd", 300, 360);
- g.drawString("B to equip cloth shirt", 300, 400);
- g.drawString("N to equip cloth robe", 300, 415);
- g.drawString("M to equip leather baldric", 300, 430);
- g.drawString(", to equip chainmail shirt", 300, 445);
- g.drawString(". to equip steel breastplate", 300, 460);
- repaint();
- }
- public void update(Graphics g){
- if (dbImage == null){
- dbImage = createImage (800, 600);
- dbg = dbImage.getGraphics ();
- }
- dbg.setColor (getBackground ());
- dbg.fillRect (0, 0, 800, 600);
- dbg.setColor (getForeground());
- paint (dbg);
- g.drawImage (dbImage, 0, 0, this);
- }
- public void mouseMoved (MouseEvent e) {}
- public void mouseClicked (MouseEvent e) {}
- public void mouseEntered (MouseEvent e) {}
- public void mouseExited (MouseEvent e) {}
- public void mousePressed (MouseEvent e) {}
- public void mouseReleased(MouseEvent e) {}
- public void keyPressed (KeyEvent e) {
- k=e.getKeyCode();
- l=e.getKeyCode();
- repaint();
- }
- public void keyReleased (KeyEvent e) {
- k=0;
- repaint();
- }
- public void keyTyped (KeyEvent e) {}
- public static void attackSelf() {
- dmg = 0;
- for (int i=0;i<wpn1;i++)dmg+=randInt.nextInt(wpn2)+1;
- dmg+=wpn3;
- hp-=dmg;
- repdmg=dmg;
- dmg=0;
- //(randInt.nextInt(wpn1)*randInt.nextInt(wpn2))+wpn3;
- }
- public void wpnCheck(int weapon){
- switch (weapon){
- case 0:
- weaponm="Unarmed";
- weapont="";
- wpn1=1;
- wpn2=4;
- wpn3=0;
- break;
- case 1:
- weaponm="Wooden";
- weapont="Dagger";
- wpn1=2;
- wpn2=4;
- wpn3=0;
- break;
- case 2:
- weaponm="Steel";
- weapont="Dagger";
- wpn1=0;
- wpn2=4;
- wpn3=0;
- break;
- case 3:
- weaponm="Iron";
- weapont="Sword";
- wpn1=0;
- wpn2=4;
- wpn3=0;
- break;
- case 4:
- weaponm="Steel";
- weapont="Broadsword";
- wpn1=0;
- wpn2=4;
- wpn3=0;
- break;
- case 5:
- weaponm="Iron";
- weapont="Halberd";
- wpn1=0;
- wpn2=4;
- wpn3=0;
- break;
- case 6:
- weaponm="";
- weapont="";
- wpn1=0;
- wpn2=4;
- wpn3=0;
- break;
- case 7:
- weaponm="";
- weapont="";
- wpn1=0;
- wpn2=4;
- wpn3=0;
- break;
- case 8:
- weaponm="";
- weapont="";
- wpn1=0;
- wpn2=4;
- wpn3=0;
- break;
- case 9:
- weaponm="";
- weapont="";
- wpn1=0;
- wpn2=4;
- wpn3=0;
- break;
- case 10:
- weaponm="";
- weapont="";
- wpn1=0;
- wpn2=4;
- wpn3=0;
- break;
- }
- }
- public void armCheck(int armour){
- switch (armour) {
- case 0:
- armourm="Undressed";
- armourt="";
- arm1=0;
- enc=0;
- break;
- case 1:
- armourm="Cloth";
- armourt="Shirt";
- arm1=1;
- enc=0;
- break;
- case 2:
- armourm="Cloth";
- armourt="Robe";
- arm1=2;
- enc=0;
- break;
- case 3:
- armourm="Leather";
- armourt="Baldric";
- arm1=0;
- enc=0;
- break;
- case 4:
- armourm="Chainmail";
- armourt="Shirt";
- arm1=0;
- enc=0;
- break;
- case 5:
- armourm="Steel";
- armourt="Breastplate";
- arm1=0;
- enc=0;
- break;
- case 6:
- armourm="";
- armourt="";
- arm1=0;
- enc=0;
- break;
- case 7:
- armourm="";
- armourt="";
- arm1=0;
- enc=0;
- break;
- case 8:
- armourm="";
- armourt="";
- arm1=0;
- enc=0;
- break;
- case 9:
- armourm="";
- armourt="";
- arm1=0;
- enc=0;
- break;
- case 10:
- armourm="";
- armourt="";
- arm1=0;
- enc=0;
- break;
- }
- }
- static void keyCheck(){
- switch (k) {
- case 81://Attack Self
- attackSelf();
- k=0;
- break;
- case 87://Use Magic
- mp-=10;
- k=0;
- break;
- case 65://Use HPot
- if (hpot>0&&hp!=maxhp){hpot--;hp+=20;}
- k=0;
- break;
- case 83://Use MPot
- if (mpot>0&&mp!=maxmp){mpot--;mp+=20;}
- k=0;
- break;
- case 90:
- item=1;//Buy HPot
- buy();
- k=0;
- break;
- case 88://Buy MPot
- item=2;
- buy();
- k=0;
- break;
- case 71:weapon = 1;break;
- case 72:weapon = 2;break;
- case 74:weapon = 3;break;
- case 75:weapon = 4;break;
- case 76:weapon = 5;break;
- case 66:armour = 1;break;
- case 78:armour = 2;break;
- case 77:armour = 3;break;
- case 44:armour = 4;break;
- case 46:armour = 5;break;
- case 27:System.exit(0);
- }
- }
- public static void buy(){
- switch (item) {
- case 1:
- cost=450;
- break;
- case 2:
- cost=650;
- break;
- case 3:
- }
- if(money>=cost){
- money-=cost;
- switch (item) {
- case 1:
- hpot++;
- break;
- case 2:
- mpot++;
- break;
- case 3:
- }
- }
- item=0;
- cost=0;
- }
- }
Add Comment
Please, Sign In to add comment