Created
May 28, 2015 07:57
-
-
Save HaruhiroTakahashi/1aed3333addbc7e57ea5 to your computer and use it in GitHub Desktop.
2015-05-28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package Java; | |
public class Console | |
{ | |
/** | |
* 序章を表示します | |
*/ | |
public static void putJyosyou() | |
{ | |
put("ギムレーが" + "世界を滅ぼそうとしています。"); | |
putStatus(); | |
} | |
public static void putStatus() | |
{ | |
put("---------------------------------------"); | |
put( getStatusString()); | |
put("---------------------------------------"); | |
} | |
public static String getStatusString() | |
{ | |
return(" "+part01.name + " LV" + part01.lv + " HP" + part01.hp + " "+part01.gold+"円"); | |
} | |
/** | |
* ゲームオーバー画面を表示します | |
*/ | |
public static void putGameOver() | |
{ | |
put(part01.name + "はギムレーに敗れましたorz"); | |
put("GAME OVER"); | |
} | |
/** | |
* ゲームクリア画面を表示します | |
*/ | |
public static void putGameClear() | |
{ | |
String s0 = part01.name + "はギムレーを倒しました!"; | |
put(s0); | |
System.out.print("レベル" + part01.lv); | |
if(part01.lv>200){ | |
put("なのでギムレーはゴミでした。www"); | |
}else if(part01.lv>120){ | |
put("なのでギムレーは弱すぎでした。"); | |
}else if(part01.lv>80){ | |
put("なので余裕でした。"); | |
}else if(part01.lv>50){ | |
put("でしたが倒せました。"); | |
}else{ | |
put("でしたので苦戦しました。"); | |
} | |
put("GAME CLEAR!"); | |
} | |
/** | |
* 引数で指定された文字列を表示します | |
* | |
* @param str 表示対象の文字列 | |
*/ | |
public static void put(String str) | |
{ | |
System.out.println(str); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package Java; | |
import java.io.IOException; | |
public class part01 | |
{ | |
static String name = "ルキナ"; | |
static int lv = 30; //プレイヤーのレベル | |
static int hp = 30; //プレイヤーのHP | |
static double gold=50.0; //プレイヤーの所持金 | |
public static void main(String[] args) throws java.io.IOException | |
{ | |
Console.putJyosyou(); //序章を表示 | |
putCommand(); //コマンドを表示 | |
if(hp==0){ | |
return; | |
} | |
//魔王を倒しに行く | |
if(lv<40){ //レベルが40未満の場合 | |
Console.putGameOver(); //ゲームオーバー画面を表示 | |
}else{ //レベルが40以上の場合 | |
Console.putGameClear(); //ゲームクリアの画面を表示 | |
} | |
} | |
/** | |
* コマンドを表示します。 | |
* | |
* @exception IOException 入出力エラーが発生した場合 | |
*/ | |
public static void putCommand() throws java.io.IOException | |
{ | |
Console.put("1. 邪竜ギムレーを倒しに行く"); | |
Console.put("2. 修行する"); | |
Console.put("3. 宿屋に泊まる"); | |
// int c = inputCommand(); | |
switch(inputCommand()){ | |
case '1':{ //1. 魔王を倒しに行く | |
Console.put("邪竜ギムレーが現れた!"); | |
break; | |
} | |
case '2':{ //2. 修行する | |
syugyou(); | |
break; | |
} | |
case '3':{ //3.宿屋に泊まる | |
if(gold>9.95){ | |
hp=lv; | |
gold -= 9.95; | |
} | |
Console.putStatus(); | |
putCommand(); | |
break; | |
} | |
} | |
} | |
/** | |
* 修行する | |
*/ | |
public static void syugyou() throws java.io.IOException | |
{ | |
java.util.Random r = new java.util.Random(); | |
//敵出現 | |
int e = r.nextInt(9)+1; //敵の数 | |
Console.put(" 敵が " + e + " 匹、現れた"); | |
String m = "(´・ω・`)"; | |
String s = ""; | |
for(int i=0; i<e; i=i+1){ | |
s = s + m; | |
} | |
Console.put(s); | |
//HPを減らす | |
int d = r.nextInt(8); | |
hp -= d; | |
if(hp<0){ | |
hp = 0; | |
} | |
Console.put(name + " は、 "+ d +" ポイントのダメージを受けた!"); | |
//レベル上昇 | |
lv += e; | |
Console.put("レベルが"+lv+"になった"); | |
Console.putStatus(); | |
if(hp==0){ | |
Console.put("GAME OVER"); | |
}else{ | |
putCommand(); | |
} | |
} | |
/** | |
* 入力ストリームからデータの次のバイトを読み込みます。 | |
* 改行コードは無視されます。 | |
* | |
* @return データの次のバイト ストリームの終わりに達した場合は-1 | |
* @IOException 入出力エラーが発生した場合 | |
*/ | |
public static int inputCommand() throws java.io.IOException | |
{ | |
int c = System.in.read(); | |
if(c==10 || c==13){ //改行コード(CR又はLF)の場合 | |
return(inputCommand()); | |
} | |
return(c); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package Java; | |
import java.awt.Color; | |
import java.awt.Font; | |
import java.awt.Image; | |
import java.awt.image.BufferedImage; | |
import java.io.File; | |
import javax.imageio.ImageIO; | |
import javax.swing.ImageIcon; | |
import javax.swing.JFrame; | |
import javax.swing.JLabel; | |
import javax.swing.JPanel; | |
public class part18 | |
{ | |
public static void main(String[] args) throws java.io.IOException | |
{ | |
System.out.println("やっはろー"); | |
// ウインドウフレームを作成し、表示 | |
JFrame jf = new JFrame(); | |
jf.setBounds(20, 40, 1000, 800); | |
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | |
// 親パネルを作成し、フレームに貼り付け | |
JPanel jp = new JPanel(new java.awt.GridLayout(3, 1)); | |
jp.setBackground(Color.BLACK); | |
jf.add(jp); | |
//フォントを作成 | |
Font f = new Font(Font.MONOSPACED, | |
Font.BOLD, | |
40); | |
// レイアウト1行目 | |
// パネルを作成し、親パネルに貼り付け | |
JPanel jpChild = new JPanel(); | |
jpChild.setBackground(Color.BLUE); | |
jp.add(jpChild); | |
// ラベルを作成し、子パネルに貼り付け | |
JLabel jlChild = new JLabel(Console.getStatusString()); | |
jlChild.setFont(f); | |
jlChild.setForeground(Color.WHITE); | |
jpChild.add(jlChild); | |
// レイアウト2行目 | |
// パネルを作成し、親パネルに貼り付け | |
JPanel jpChild2 = new JPanel(); | |
jpChild2.setBackground(Color.CYAN); | |
jp.add(jpChild2); | |
/* | |
// 選択肢をパネルに貼り付け | |
JLabel jlMain = new JLabel("<html>1. 魔王を倒しに行く<br>2. 修行する<br>3. 宿屋に泊まる"); | |
jlMain.setFont(f); | |
jpChild2.add(jlMain); | |
*/ | |
// モンスターをパネルに貼り付け | |
File file = new File("test1.jpeg"); //ファイルを開く | |
BufferedImage ba = ImageIO.read(file); //画像全体を読み込む | |
int cw = 44; //セルサイズ・幅 | |
int ch = 44; //セルサイズ・高さ | |
int sw = 200; //表示サイズ・幅 | |
int sh = 200; //表示サイズ・高さ | |
putMonster(jpChild2, ba, 3, 4, cw, ch, sw, sh); //モンスター 3-4 表示 | |
putMonster(jpChild2, ba, 6, 4, cw, ch, sw, sh); //モンスター 6-4 表示 | |
putMonster(jpChild2, ba, 9, 4, cw, ch, sw, sh); //モンスター 9-4 表示 | |
// レイアウト3行目 | |
// ラベルを作成し、親パネルに貼り付け | |
JLabel jl = new JLabel("魔王が世界を滅ぼそうとしています。"); | |
jl.setFont(f); | |
jl.setForeground(new Color(255, 128, 0)); | |
jp.add(jl); | |
// 表示 | |
jf.setVisible(true); | |
} | |
/** | |
* モンスターを表示します。 | |
* | |
* @param jpChild2 表示対象パネル | |
* @param ba 画像全体 | |
* @param x 表示するセル座標x | |
* @param y 表示するセル座標y | |
* @param cw セルの大きさ・幅 | |
* @param ch セルの大きさ・高さ | |
* @param sw 表示サイズ・幅 | |
* @param sh 表示サイズ・高さ | |
*/ | |
static void putMonster(JPanel jpChild2, BufferedImage ba, int x, int y, int cw, int ch, int sw, int sh) | |
{ | |
BufferedImage bs = ba.getSubimage(cw*x, ch*y, cw, ch); | |
Image im = bs.getScaledInstance(sw, sh, Image.SCALE_DEFAULT); | |
ImageIcon ii = new ImageIcon(im); //JLabel用に型変換 | |
JLabel jlImage = new JLabel(ii); //画像部品を作成 | |
jlImage.setSize(sw, sh); //画像サイズを設定 | |
jpChild2.add(jlImage); //画像を貼り付け | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment