Why do you hate white-space
You can only do two types of attacks, punch and kick. Type somthing like 'kick him in the face' or 'punch his head off' Kill him before he kills you.If your feet get damaged/broken, they'll do less damage. So it may be better to punch instead.
Defeating a ninja is like dividing by zero: it just can't happen.
This game is so simple yet so clever. You could have a whole list of After Fight statistics like:How many undamaged body parts left: Yours vs TheirsMost heavily damaged body part: Yours vs TheirsMonetary cost of damage: Yours vs TheirsYou could even put a "Survival Mode" in where you get money at the end of a fight to repair yourself and just keep fighting until you die horribly from a lucky dismembering punch to the torso.
Code: [Select]public static NinjaBody getNinjaBody(){ NinjaBody ninjaBody = new NinjaBody(); String[]sides = {"Left","Right"}; String[]parts = {"Arm","Forearm","Hand","Thigh","Shin","Foot"}; String[]body = {"Head","UpperTorso","LowerTorso"}; String[]digits = {"Finger","Toe"}; for(int i=0; i<body.length; i++) { ninjaBody.addPart( new BodyPart(body[i]) ); }//4i for(int i=0; i<parts.length ;i++) { ninjaBody.addPart( new BodyPart(String.format("%s %s",sides[0],parts[i])) ); ninjaBody.addPart( new BodyPart(String.format("%s %s",sides[1],parts[i])) ); }//4i for(int i=0; i<10; i++) { ninjaBody.addPart( new BodyPart(digits[0]) ); ninjaBody.addPart( new BodyPart(digits[1]) ); }//4i return ninjaBody;}//me get ninja Body
public static NinjaBody getNinjaBody(){ NinjaBody ninjaBody = new NinjaBody(); String[]sides = {"Left","Right"}; String[]parts = {"Arm","Forearm","Hand","Thigh","Shin","Foot"}; String[]body = {"Head","UpperTorso","LowerTorso"}; String[]digits = {"Finger","Toe"}; for(int i=0; i<body.length; i++) { ninjaBody.addPart( new BodyPart(body[i]) ); }//4i for(int i=0; i<parts.length ;i++) { ninjaBody.addPart( new BodyPart(String.format("%s %s",sides[0],parts[i])) ); ninjaBody.addPart( new BodyPart(String.format("%s %s",sides[1],parts[i])) ); }//4i for(int i=0; i<10; i++) { ninjaBody.addPart( new BodyPart(digits[0]) ); ninjaBody.addPart( new BodyPart(digits[1]) ); }//4i return ninjaBody;}//me get ninja Body
I'm going to add the internal organs to the torso. (There should already be eyes and nose, but they rearly get hit)You hit him in his Pancreas
I blame the QA department.
By the look of that stack trace that windows wouldn't let me look at because it was busy unhelpfully trying to be helpful but really just denying me access to the stuff I need - I'd blame recursion.
Have you tried manually updating Punkbuster?
Fellow adventurer, turn back while you can! For here begins the roguelike Iter Vehemens ad Necem, a Violent Road to Death. If you choose to travel along it, you will dive into countless exciting adventures to gain items of great magic, attain powerful equipment made of mysterious materials, bathe in the blessings of mighty gods and recruit loyal allies of various shapes and sizes. Unfortunately, along the way you will also often be dangerously injured, poisoned, catch numerous diseases, lose several limbs and transform into manifold different kinds of pitiful creatures in the darkest depths of hostile dungeons. And, at the end of the road, you are bound to perish in a most gruesome and painful way. Don't say we didn't warn you.
Iter Vehemens Ad Necem: http://ivan.sourceforge.net/No longer developed. Didn't get too far, but the mechanics are very interesting, especially the body part and materials system. You can get your arm sliced off, turn it into banana and eat it... among other interesting possibilities.Oh, and it's ridiculously difficult. I don't believe that anybody has beaten it without cheating. Difficulty scales with how well you're doing... sort of.
I came to this thread Expecting a DLC for Ninja Attack.
Exciting features coming in the next version of Ninja AttackUnlockable unlocks - Earn points to unlock items like the Fists of steel, and the Pants of tightness.Always online DRM - The game will check with the server every two milliseconds. If a connection is not found, it will report you to the FBI and shutdown your computer.Two new maps - Fight Ninjas on the Tokyo docks, and in a Chinese drug factory.New Ninja boss - The mega ultra robot ninja, so powerful he'll kill you before you even think about starting the game.Invisible microtransactions - Your credit card will be charged without you even knowing.Multiplayer - Your home address is transmitted to your opponent, so he can exact revenge in real life after you have defeated him.Blood - So much blood!
Can I get these without having to buy Ninja Attack Premium?I already paid for the game and don't see why I should pay extra for the DLC....
Exciting features coming in the next version of Ninja AttackUnlockable unlocks
Now all you need is to make a map out of ascii characters.That way you can give the player an objective to get to and give the shop a physical location.
import java.util.ArrayList;import java.util.Random;import java.awt.*;import javax.swing.*;import javax.swing.ImageIcon;import java.awt.event.*;import javax.swing.event.*;import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.Canvas;import java.awt.Dimension;import javax.swing.WindowConstants;import java.awt.event.KeyListener;import java.awt.event.KeyEvent;import java.awt.image.BufferStrategy;import java.awt.Color;import java.awt.Graphics2D;import javax.swing.ImageIcon;import java.util.ArrayList;/**A test of using a canvas and Key Listener to navigate around the Naruto Map * @author Tiwa * @version mon 27 aug 2012@Wed Oct 17 07:51:47 NZDT 2012 <- moved to RogueLike@Wed Oct 17 20:30:06 NZDT 2012 <- test complete: Monospace enabled */public class TestMapPanel extends Canvas implements KeyListener{protected final int WIDTH=500;protected final int HEIGHT=500;protected final int OFFSET_WIDTH=200;// protected final int WIDTH=600;// protected final int HEIGHT=600;protected final int barHeight=30;protected final int tileSize=10;private BufferStrategy strategy;protected boolean gameRunning=true;// protected final Travel travel=new Travel();// protected final Tile[][]TILES;// protected Tile myTile=new Tile();// protected ImageIcon bgimage=new ImageIcon("narutomap.png");protected final char[][]grid=new char[WIDTH/tileSize][WIDTH/tileSize];// protected final char[][]grid=new char[5][5];protected int playerX=0; protected int playerY=0;protected final int screenTop=10;protected final Random rnd=new Random();// protected String[]stats={"Name: Bob","Strength: 10","Speed: 5","Armour: 5","Weapon: Sword"};protected boolean mv_blocked;protected String blocked_message="Your way is blocked!"; public TestMapPanel(){ // WIDTH=bgimage.getIconWidth(); // HEIGHT=bgimage.getIconHeight(); JFrame frame=new JFrame("Tiwas Roguelike Game");// frame.setUndecorated(true); JPanel panel=(JPanel)frame.getContentPane(); panel.setPreferredSize(new Dimension(WIDTH+OFFSET_WIDTH,HEIGHT)); panel.setLayout(null); setBounds(0,0,WIDTH+OFFSET_WIDTH,HEIGHT); panel.add(this); setIgnoreRepaint(true); frame.pack(); frame.setResizable(false); frame.setVisible(true); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); addKeyListener(this); createBufferStrategy(2); strategy=getBufferStrategy(); // myTile.setSize(tileSize); // myTile.setX(0); // myTile.setY(0); // myTile.setType('L'); // myTile.addItem("Naruto"); // myTile.setImage(new ImageIcon("narutobody.jpg")); // TILES[0][0]=myTile;for(int x=0;x<grid.length;x++){ for(int y=0;y<grid[x].length;y++){ grid[x][y]='.'; }//4y }//4x grid[playerX][playerY]='@';requestFocus(); gameLoop(); }//con /** Main Game Loop */ public void gameLoop(){String[]stats={"Name: Bob","Strength: 10","Speed: 5","Armour: 5","Weapon: Sword"};Font font = new Font("Monospaced", Font.BOLD, 14); long lastLoopTime = System.currentTimeMillis(); while(gameRunning){ long delta = System.currentTimeMillis() - lastLoopTime; lastLoopTime = System.currentTimeMillis(); Graphics2D g = (Graphics2D)strategy.getDrawGraphics(); g.setColor(Color.WHITE);g.fillRect(0,0,WIDTH+OFFSET_WIDTH,HEIGHT); // g.drawImage(bgimage.getImage(),0,0,WIDTH,HEIGHT,null); g.setColor(Color.BLACK);g.setFont(font); int tileWidth=getWidth()/tileSize; int tileHeight=getHeight()/tileSize;for(int x=0;x<grid.length;x++){ /*for(int y=0;y<TILES[x].length;y++){ g.drawRect(x*tileSize,y*tileSize,tileSize,tileSize); // Tile tile=TILES[x][y]; char tile=grid[x][y]; if(tile!=null){g.drawImage(ResizeImage.getImage(tile.getImage(),tileSize,tileSize).getImage(),x*tileSize,y*tileSize,null); g.drawChars(tile,tileSize,tile.length,drawChars(char[] data, int offset, int length, int x, int y)Draws the text given by the specified character array, using this graphics context's current font and color.char[] c = { 'W', 'a', 't', 'c', 'h', ' ', 'i', 't', ' ', 'D','u', 'k', 'e', '!' };g.drawChars(c, 0, c.length, 10, 30); }//fi tile not null }//y*/// g.drawChars(grid[x],0,grid[x].length,0,x*tileSize);// g.drawChars(grid[x],1,grid[x].length,0,x*tileSize);//bad offset??g.drawChars(grid[x],0,grid[x].length,0,x*tileSize+screenTop);if(x<stats.length)g.drawString(stats[x],WIDTH-100,x*tileSize+screenTop);}//xif(mv_blocked)g.drawString(blocked_message,WIDTH-100,stats.length*tileSize+screenTop); g.dispose(); strategy.show(); try {Thread.sleep(10); }catch(Exception eek) {//new Help(eek.toString());// eek.printStackTrace();JOptionPane.showMessageDialog(this,eek.toString(),"Error in main loop",JOptionPane.INFORMATION_MESSAGE);}//do nothing }//while game is running System.exit(0); }//method /** * The following methods are implemented by the Key Listener */ public void keyPressed(KeyEvent e) {if (e.getKeyCode() == KeyEvent.VK_LEFT) {// movePlayer(playerX-1,playerY);// movePlayer(playerX,playerY+1);movePlayer(playerX,playerY-1);}//if you press left if (e.getKeyCode() == KeyEvent.VK_RIGHT) {// movePlayer(playerX+1,playerY);// movePlayer(playerX,playerY-1);movePlayer(playerX,playerY+1);}//if you press right // if (e.getKeyCode() == KeyEvent.VK_DOWN && !pressD) { if (e.getKeyCode() == KeyEvent.VK_DOWN){// movePlayer(playerX,playerY+1);// movePlayer(playerX-1,playerY);movePlayer(playerX+1,playerY);}//if you press right if (e.getKeyCode() == KeyEvent.VK_UP) {// movePlayer(playerX,playerY-1);// movePlayer(playerX+1,playerY); movePlayer(playerX-1,playerY);}//if you press right }//method public void keyReleased(KeyEvent e) { }//method public void keyTyped(KeyEvent e) { if (e.getKeyChar() == 27) { // System.exit(0); gameRunning=false; }//if you press escape (keyChar 27) }//methodprotected void movePlayer(int x,int y){grid[playerX][playerY]='.';blocked_message="";boolean blockedx=true;boolean blockedy=true;if(x>-1 && x<grid.length){playerX=x;blockedx=false;}//fi xif(y>-1 && y<grid.length){playerY=y;blockedy=false;}//fi xgrid[playerX][playerY]='@';if(!blockedx && !blockedy)mv_blocked=false;else {mv_blocked=true;if(blocked_message.length()==0)blocked_message="Your way is blocked!";}// repaint(); }//me move player// protected void checkCoordinate(int num,int } // class TestMap