質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

1931閲覧

クラス図の分け方が分かりません

Tensaiman

総合スコア10

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2017/06/06 06:51

import java.awt.;
import java.awt.event.
;
import java.awt.Font;
import java.util.Random;

public class MainFrame extends GameFrame implements KeyListener,MetronomeInterface{
Bgm b1,b2,b3;
Image img,img1,img2,img3,img4,img5,img6,img7;
EnemyZako[] ez = new EnemyZako[50];
Bullet [] tm = new Bullet[1000];
ZBullet [] ztm = new ZBullet[1000];
TBBullet[] tbm = new TBBullet[1000];
Haikei[] h = new Haikei[5];
Player p;
Boss bo;
Bullet b;
int gameMode;//0オープニング 1本編
int to;
int tama;
int ztama;
int baku;
int ta=0;
int bta=0;
int count;
int count2 = 0;
int life = 3;
boolean tu = false;
Metronome mt = new Metronome(0,1000,this);
Metronome2 mo = new Metronome2(0,1000,this);

public MainFrame(){ super("Ex999"); Random rnd = new Random(); img = getToolkit().getImage("Image/c3.png"); for(int z=0;z<ez.length;z++){ int ran = rnd.nextInt(600); int ran1 = rnd.nextInt(80) - 100; int ran2 = rnd.nextInt(300) + 20; ez[z] = new EnemyZako(img,ran,ran1,30,28,ran2); } img6 = getToolkit().getImage("Image/自機.gif"); p = new Player(img6,400,500,18,32,50,ez,this); img7 = getToolkit().getImage("Image/弾.PNG"); for(int i=0;i<tm.length;i++){ tm[i] = new Bullet(img7,-100,-100,15,20,50,ez,this); } img4 = getToolkit().getImage("Image/s.PNG"); for(int m=0;m<ztm.length;m++){ ztm[m] = new ZBullet(img4,-100,-100,20,19,50,ez,this); } img4 = getToolkit().getImage("Image/s.PNG"); for(int l=0;l<tbm.length;l++){ tbm[l] = new TBBullet(img4,-100,-100,20,19,50,ez,this); } img2 = getToolkit().getImage("Image/haikei.gif"); h[0] = new Haikei(img2,0,0,800,600,50); h[1] = new Haikei(img2,0,-600,800,600,50); h[2] = new Haikei(img2,0,-1200,800,600,50); h[3] = new Haikei(img2,0,-1800,800,600,50); h[4] = new Haikei(img2,0,-2400,800,600,50); img5 = getToolkit().getImage("Image/tb.PNG");//中ボス bo = new Boss(img5,300,40,128,200,10); img3 = getToolkit().getImage("Image/GameOver.gif"); addKeyListener(this); p.start(); for(Haikei he:h)he.start(); for(Bullet ze:tm)ze.start(); gameMode = 0;//オープニング start(); } public void paint(Graphics g){ if(gameMode==0){//オープニング g.setColor(Color.black); g.fillRect(0,0,800,600); g.setColor(Color.white); Font font = new Font("Dialog",Font.BOLD,30); g.setFont(font); g.drawString("マリオの逆襲",300,200); g.drawString("ENTER START",285,380); }else if(gameMode==1){//本編 for(int d=0;d<h.length;d++)h[d].draw(g); g.setColor(Color.white); g.setFont(new Font("Monospaced" , Font.PLAIN, 13)); g.drawString("TIME:"+count,740,50); g.setColor(Color.white); g.drawString("残機:"+life,8,50); if(tu == true)bo.draw(g); for(int z=0;z<ez.length;z++)ez[z].draw(g); p.draw(g); for(int i=0;i<tm.length;i++)tm[i].draw(g); for(int i=0;i<ztm.length;i++)ztm[i].draw(g); for(int i=0;i<tbm.length;i++)tbm[i].draw(g); }else if(gameMode==2){//ゲームオーバー g.fillRect(0,0,800,600); g.setColor(Color.white); Font font = new Font("Dialog",Font.BOLD,80); g.setFont(font); g.drawString("Game Over",190,250); } } public void call(){ if(gameMode==1){ count--; if((count % 2 ==0)&&(count!= 0)){ kougeki(); } if(count<1){ bo.start(); tu = true; mt.cancel(); repaint(); } } } public void call2(){ if(count == 0){ //zako(); count2++; if((count2 % 1 ==0)&&(count2!= 0)){ kougeki2(); } } } /*public void zako(){ Random rnd = new Random(); img = getToolkit().getImage("Image/c3.png"); for(int z=0;z<ez.length;z++){ int ran = rnd.nextInt(600); int ran1 = rnd.nextInt(80) - 100; int ran2 = rnd.nextInt(300) + 20; ez[z] = new EnemyZako(img,ran,ran1,30,28,ran2); repaint(); } }*/ public void kougeki(){ for(int i=0;i<ez.length;i++){ if(ez[i].rectangle.y%20==0){ ztm[ta].flg=true; ztm[ta].rectangle.x = ez[i].rectangle.x; ztm[ta].rectangle.y = ez[i].rectangle.y; ztm[ta].start(); ta+=1; if(ta>=ztm.length){ ta=0; } } } } public void kougeki2(){ tbm[bta].flg=true; tbm[bta].rectangle.x = bo.rectangle.x; tbm[bta].rectangle.y = bo.rectangle.y; tbm[bta].start(); bta+=1; if(bta>=tbm.length){ bta=0; } }

/**
キーを押しているときの処理を記述
/
public void keyPressed(KeyEvent z) {
if(z.getKeyCode()==KeyEvent.VK_ENTER){
if(gameMode==0){
gameMode = 1;
count = 40;
for(EnemyZako we:ez)we.start();
}
}
if(gameMode==1){
if(z.getKeyCode()==KeyEvent.VK_UP){
p.isUp=true;
}
if(z.getKeyCode()==KeyEvent.VK_DOWN){
p.isDown=true;
}
if(z.getKeyCode()==KeyEvent.VK_LEFT){
p.isLeft=true;
}
if(z.getKeyCode()==KeyEvent.VK_RIGHT){
p.isRight=true;
}
if(z.getKeyCode()==KeyEvent.VK_SPACE){
tm[tama].isUp=true;
tm[tama].flg=true;
tm[tama].rectangle.x = p.rectangle.x+15;
tm[tama].rectangle.y = p.rectangle.y+5;
tama+=1;
if(tama>=tm.length){
tama=0;
}
}
}
if(z.getKeyCode()==KeyEvent.VK_ESCAPE&&gameMode==2){
System.exit(0);
}
if(z.getKeyCode()==KeyEvent.VK_CONTROL&&gameMode==2){
gameMode=0;
}
}
/

キーを離したときの処理を記述
/
public void keyReleased(KeyEvent z){
if(z.getKeyCode()==KeyEvent.VK_UP){
p.isUp=false;
}
if(z.getKeyCode()==KeyEvent.VK_DOWN){
p.isDown=false;
}
if(z.getKeyCode()==KeyEvent.VK_LEFT){
p.isLeft=false;
}
if(z.getKeyCode()==KeyEvent.VK_RIGHT){
p.isRight=false;
}
}
/

*キーをタイプしたときの処理を記述
*/
public void keyTyped(KeyEvent z){
}
//分けた図を書いてください>_<

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s.t.

2017/06/06 06:53

まずは自分で書いてみてください。
A-pZ

2017/06/06 07:49

コードはコードブロックで囲いましょう。
m.ts10806

2017/06/06 07:50

>>「分けた図を書いてください>_<」 丸投げはご法度ですよ。
guest

回答1

0

正直に言います。あなたはプログラマに向いていません。もし職業にしようとしているのなら他の職業をオススメします。挫折するだけですよ。

まずは自分で考えましょう。そして、何が分からないのかを明確にしましょう。それがプログラマの本質にも当てはまります。

投稿2017/06/06 07:00

_Victorique__

総合スコア1392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問