Skip to content

Instantly share code, notes, and snippets.

@HaruhiroTakahashi
Created May 19, 2015 00:26
Show Gist options
  • Save HaruhiroTakahashi/bdf349aa8924cd3dd17f to your computer and use it in GitHub Desktop.
Save HaruhiroTakahashi/bdf349aa8924cd3dd17f to your computer and use it in GitHub Desktop.
public class Console
{
/**
* 序章を表示
*/
static void putJyosyou()
{
put("邪龍ギムレーが" + "世界を滅ぼそうとしています。");
putStatus();
}
/**
* ステータスを表示
*/
public static void putStatus()
{
put("-------------------------");
put( part01.name + " LV" + part01.lv + " HP" + part01.hp+ " " + part01.gold + "G");
put("-------------------------");
}
/**
* GAME OVER 画面の表示
*/
static void putGameOver()
{
put(part01.name + "は邪龍ギムレーに敗れましたorz");
put("GAME OVER");
}
/**
* GAME CLEAR 画面の表示
*/
static void putGameClear()
{
String s0 = part01.name + "は邪龍ギムレーを倒しました!";
put(s0);
put("レベル" + part01.lv);
if (part01.lv > 200){
put( "なので邪龍ギムレーはゴミでしたwwwwwww");
}else if (part01.lv > 120){
put( "でしたが倒せました。" );
}else if (part01.lv > 80){
put( "なので余裕でした。");
}else if (part01.lv > 50){
put( "でしたが倒せました。");
}else{
put( "でしたので苦戦しました。");
}
put("GAME CLEAR!");
}
/**
* 引数で指定された文字列を表示(str)
*/
static void put(String str)
{
System.out.println(str);
}
}
public class part01
{
public static String name = "ルキナ"; //プレイヤー名前
public static int lv = 30; //プレイヤーレベル
public static int hp = 30; //プレイヤーのHP
public static long gold = 500000000L; //プレイヤーの所持金
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(); //クリア画面を表示
}
}
/**
* コマンドを表示する
*/
public static void putCommand() throws java.io.IOException
{
Console.put("1. 邪龍ギムレーを倒しに行く");
Console.put("2. 修行する");
Console.put("3. 宿屋に泊る");
switch ( inputCommand() ){ //1.邪龍ギムレーを倒しに行く
case '1' :{
Console.put( "邪龍ギムレーが現れた!" );
break ;
}
case '2' :{ //2.修行する
Syugyou();
break ;
}
case '3' :{ // 3.宿屋に泊る
if ( gold >= 10 ){
hp = lv;
gold -= 10;
}
Console.putStatus();
putCommand();
break ;
}
}
}
/**
*修行する
*/
public static void Syugyou() throws java.io.IOException
{
java.util.Random r = new java. util.Random();
// 敵出現
int e = r.nextInt( 3 ) + 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();
}
}
/**
* 入力ストリームからデータの次のバイト(10,13)を読み込む。
* 改行は認識されない。
*/
public static int inputCommand() throws java.io.IOException
{
int c = System.in.read();
if ( c == 10 || c == 13){ // 改行コード(CR 又は LF)
return( inputCommand() );
}
return( c );
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment