이메일

구글 : kdj777ehdwns@gmail.com
네이버 : kdj777ehdwns@naver.com
epsckr2016.blogspot.com

2016년 9월 27일 화요일

[이클립스] 가위바위보 수행평가

가위바위보+10번누르면전적+x누르면닫기


import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class srpgame extends Frame implements ActionListener {
 Button scissors, rock, paper, end;
 Image img1, img2, img3;
 int usr, com;
 boolean win, tie, lose;
 int cnt, cwin, close, ctie;  //cnt=전체횟수, cwin=이긴횟수 close=진횟수 ctie=비긴횟수

 public static void main(String[] args) {
  srpgame f = new srpgame( "가위바위보 Ver 1.0" );
  f.setSize( 500, 500 );
  f.setVisible( true );
 }

 public srpgame( String title ) {
  super( title );
  setLayout( new FlowLayout() );
  scissors = new Button( "가위" );
  rock = new Button( "바위" );
  paper = new Button( " 보 " );
  end  = new Button( "종료" );
  add( scissors ); add( rock);
  add( paper );  add( end );
  scissors.addActionListener( this );
  rock.addActionListener( this);
  paper.addActionListener( this);
  end.addActionListener( this );
  img1 = Toolkit.getDefaultToolkit()
  .getImage( "C:\\Users\\user\\workspace\\RPSgame\\src\\image\\img1.png" );
  img2 = Toolkit.getDefaultToolkit()
  .getImage( "C:\\Users\\user\\workspace\\RPSgame\\src\\image\\img2.png" );
  img3 = Toolkit.getDefaultToolkit()
  .getImage( "C:\\Users\\user\\workspace\\RPSgame\\src\\image\\img3.png" );
  usr = 0; com = -1;
  cnt = 0; cwin = 0; close = 0; ctie = 0; // 초기화
 }

 public void actionPerformed( ActionEvent  e ) {
  cnt++; //누른횟수 기억,누를때마다 증가
  if( e.getSource() == end ) System.exit( 0 );
  if( e.getSource() == scissors ) usr = 1;
  if( e.getSource() == rock ) usr = 2;
  if( e.getSource() == paper ) usr = 3;
  com = ( int ) ( Math.random() * 3 ) + 1;
  repaint();
 }


 public void paint( Graphics g ) {
  g.drawImage(img1, 100, 100, 100, 100, this );
  g.drawImage(img2, 200, 100, 100, 100, this );
  g.drawImage(img3, 300, 100, 100, 100, this );
  win=false; lose=false; tie=false;
  switch( usr ) {
  case 1: g.drawImage(img1, 100, 250, 100, 100, this ); break;
  case 2: g.drawImage(img2, 100, 250, 100, 100, this ); break;
  case 3: g.drawImage(img3, 100, 250, 100, 100, this ); break;
  default: g.drawString("", 100, 250 );
  }
  switch( com ) {
  case 1: g.drawImage(img1, 300, 250, 100, 100, this ); break;
  case 2: g.drawImage(img2, 300, 250, 100, 100, this ); break;
  case 3: g.drawImage(img3, 300, 250, 100, 100, this ); break;
  default: g.drawString("", 300, 250 );
  }
  if ( usr == com ) tie = true;
  else if( usr == 1 && com == 2 ) lose = true;
  else if( usr == 1 && com == 3 ) win = true;
  else if( usr == 2 && com == 1 ) win = true;
  else if( usr == 2 && com == 3 ) lose = true;
  else if( usr == 3 && com == 1 ) lose = true;
  else if( usr == 3 && com == 2 ) win = true;
  if( tie ) {
 g.drawString( "비김", 200, 400 );
      ctie++;
  }
  else if( win ) {
 g.drawString( "승리", 200, 400);
      cwin++;
  }
  else if( lose ) {
 g.drawString( "패배", 200, 400);
      close++;
  }
  if( cnt == 10 ) {
 g.drawString( cwin+"승, "+close+"패, "+ctie+"무", 300,400 );
  } addWindowListener( new java.awt.event.WindowAdapter() {
  public void windowClosing( java.awt.event.WindowEvent e ) {
System.exit( 0 );
}
});
 }
}


날짜 : 2016년 09월 27일

댓글 없음:

댓글 쓰기