⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 septon

📁 一些JAVA的小程序
💻
📖 第 1 页 / 共 4 页
字号:
XX  public void setCardFlag()X  {X    cardFlag = true;X  }XX  public void clearCardFlag()X  {X    cardFlag = false;X  }XX  public boolean getCardFlag()X  {X    return cardFlag;X  }X  X  // Called when this occupies pl's last territory.X  public void vanquished(Player pl)X  {X    // Take the player's cards.X    pile.addPile(pl.getPile());XX    // Check to see if we've won the game.X    if (countries.size() == Country.NUM_COUNTRIES) {X      System.out.println(name + " wins!");X      System.exit(0);X    }X  }}SHAR_EOF  $shar_touch -am 1210132596 'Player.java' &&  chmod 0644 'Player.java' ||  $echo 'restore of' 'Player.java' 'failed'  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then    md5sum -c << SHAR_EOF >/dev/null 2>&1 \    || $echo 'Player.java:' 'MD5 check failed'7d4eb58698f45b5fe8206e2d70614af0  Player.javaSHAR_EOF  else    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'Player.java'`"    test 4110 -eq "$shar_count" ||    $echo 'Player.java:' 'original size' '4110,' 'current size' "$shar_count!"  fifi# ============= Pile.java ==============if test -f 'Pile.java' && test "$first_param" != -c; then  $echo 'x -' SKIPPING 'Pile.java' '(file already exists)'else  $echo 'x -' extracting 'Pile.java' '(text)'  sed 's/^X//' << 'SHAR_EOF' > 'Pile.java' &&// CS 582 - Fall 1996 - OSU// Jean-Guy SpetonXimport java.util.*;Xpublic class Pile{X  protected Vector cards;XX  public Pile()X  {X    cards = new Vector();X  }X  X  public void addCard(Card c)X  {X    cards.addElement(c);X  }XX  public void addPile(Pile p)X  {X    while (p.size() > 0) {X      Card c = p.removeCardAt(0);X      addCard(c);X    }X  }X  X  public Card cardAt(int i)X  {X    return (Card)cards.elementAt(i);X  }XX  public Card removeCardAt(int i)X  {X    Card c = (Card)cards.elementAt(i);X    cards.removeElementAt(i);X    return c;X  }X  X  public Enumeration elements()X  {X    return cards.elements();X  }XX  public int size()X  {X    return cards.size();X  }}SHAR_EOF  $shar_touch -am 1210132596 'Pile.java' &&  chmod 0644 'Pile.java' ||  $echo 'restore of' 'Pile.java' 'failed'  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then    md5sum -c << SHAR_EOF >/dev/null 2>&1 \    || $echo 'Pile.java:' 'MD5 check failed'31e72ae43a6475a0b0dadf97a2151ba6  Pile.javaSHAR_EOF  else    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'Pile.java'`"    test 686 -eq "$shar_count" ||    $echo 'Pile.java:' 'original size' '686,' 'current size' "$shar_count!"  fifi# ============= DrawPile.java ==============if test -f 'DrawPile.java' && test "$first_param" != -c; then  $echo 'x -' SKIPPING 'DrawPile.java' '(file already exists)'else  $echo 'x -' extracting 'DrawPile.java' '(text)'  sed 's/^X//' << 'SHAR_EOF' > 'DrawPile.java' &&// CS 582 - Fall 1996 - OSU// Jean-Guy SpetonXimport java.util.*;Xpublic class DrawPile extends Pile{X  public DrawPile()X  {X    for (int i = 0; i < Card.NUM_CARDS; i++) {X      addCard(new Card(i));X    }X    shuffle();X  }XX  public Card drawTopCard()X  {X    if (size() > 0) {X      return removeCardAt(0);X    }X    else {X      return null;X    }X  }XX  public void shuffle()X  {X    Vector v = new Vector(cards.size());X    Random rand = new Random();XX    while (cards.size() > 0) {X      int i = Math.abs(rand.nextInt()) % cards.size();X      Object o = cards.elementAt(i);X      cards.removeElementAt(i);X      v.addElement(o);X    }XX    cards = v;X  }}SHAR_EOF  $shar_touch -am 1210132596 'DrawPile.java' &&  chmod 0644 'DrawPile.java' ||  $echo 'restore of' 'DrawPile.java' 'failed'  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then    md5sum -c << SHAR_EOF >/dev/null 2>&1 \    || $echo 'DrawPile.java:' 'MD5 check failed'07c2b3ad93b040c367eca3ee94529d78  DrawPile.javaSHAR_EOF  else    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'DrawPile.java'`"    test 670 -eq "$shar_count" ||    $echo 'DrawPile.java:' 'original size' '670,' 'current size' "$shar_count!"  fifi# ============= Card.java ==============if test -f 'Card.java' && test "$first_param" != -c; then  $echo 'x -' SKIPPING 'Card.java' '(file already exists)'else  $echo 'x -' extracting 'Card.java' '(text)'  sed 's/^X//' << 'SHAR_EOF' > 'Card.java' &&// CS 582 - Fall 1996 - OSU// Jean-Guy SpetonXimport java.awt.*;Xpublic class Card{X  // Number of cards in a complete deck.  Specifically, one for eachX  // country plus 2 wild cards.X  public static int NUM_CARDS;XX  // Designs and countries of each card.X  private static int designs[];X  private static int countries[];X  X  public final static int ARTILLERY = 0;X  public final static int CAVALRY   = 1;X  public final static int INFANTY   = 2;X  public final static int WILD      = 3;XX  private static String designNames[] = {X    "Artillery", "Cavalry", "Infantry", "*Wild*"X  };X  private static String countryNames[];X  X  // Static initializer.X  staticX  {X    NUM_CARDS = Country.NUM_COUNTRIES + 2;XX    designs = new int[NUM_CARDS];X    countries = new int[NUM_CARDS];X    countryNames = new String[NUM_CARDS];XX    for (int i = 0; i < Country.NUM_COUNTRIES; i++) {X      designs[i] = i % 3;X      countries[i] = i;X      countryNames[i] = Country.getName(i);X    }XX    // Wild cards won't have country names.X    designs[NUM_CARDS - 2] = designs[NUM_CARDS - 1] = WILD;X    countries[NUM_CARDS - 2] = NUM_CARDS - 2;X    countries[NUM_CARDS - 1] = NUM_CARDS - 1;X    countryNames[NUM_CARDS - 2] = countryNames[NUM_CARDS - 1] = "";X  }XX  // Determines if a card set is a tradeable set.X  public static boolean isSet(Card c1, Card c2, Card c3)X  {X    int numWilds = 0, numMissing = 3;XX    // Count number of wild cards.X    if (c1.design == WILD) { numWilds++; }X    if (c2.design == WILD) { numWilds++; }X    if (c3.design == WILD) { numWilds++; }XX    // Trivial case first -- all designs the same.X    if ((c1.design == c2.design) && (c2.design == c3.design)) {X      return true;X    }XX    // Another trivial case -- 2 wild cards.X    if (numWilds == 2) {X      return true;X    }XX    // Determine which designs there are.X    for (int i = 0; i < 3; i++) {X      if ((c1.design == i) || (c2.design == i) || (c3.design == i)) {X	numMissing--;X      }X    }XX    if (((numMissing - numWilds) == 0) ||          // 3 different designsX	((numMissing == 2) && (numWilds == 1))) {  // same design w/ wildX      return true;X    }XX    return false;X  }X    X  private int design;X  private int country;X  private boolean selected;XX  public Card(int i)X  {X    this(designs[i], countries[i]);X  }X  X  public Card(int design, int country)X  {X    this.design = design;X    this.country = country;X    selected = false;X  }XX  public int getDesign()X  {X    return design;X  }XX  public int getCountry()X  {X    return country;X  }XX  public boolean isSelected()X  {X    return selected;X  }X  X  public void toggleSelected()X  {X    selected = !selected;X  }XX  public void paint(Graphics g, int x, int y, int w, int h)X  {X    FontMetrics fm = g.getFontMetrics();X    int designWidth = fm.stringWidth(designNames[design]);X    int countryWidth = fm.stringWidth(countryNames[country]);X    int stringHeight = fm.getHeight();X    X    if (selected) {X      g.setColor(Color.black);X      g.fillRect(x+2, y, w-4, h);X      g.setColor(Color.white);X      g.drawLine(x+2, y+(h/2), x+w-2, y+(h/2));X      X      g.setColor(Color.white);X      g.drawString(designNames[design],X		   x+((w - designWidth)/2),X		   ((h/2) - (stringHeight/2)) );X      g.setColor(Color.pink);X      g.drawString(countryNames[country],X		   x+((w - countryWidth)/2),X		   ((h/2) - (stringHeight/2)) + h/2 );X    }X    else {X      g.setColor(Color.black);X      g.drawRect(x+2, y, w-4, h);X      g.drawLine(x+2, y+(h/2), x+w-2, y+(h/2));XX      g.setColor(Color.blue);X      g.drawString(designNames[design],X		   x+((w - designWidth)/2),X		   ((h/2) - (stringHeight/2)) );X      g.setColor(Color.red);X      g.drawString(countryNames[country],X		   x+((w - countryWidth)/2),X		   ((h/2) - (stringHeight/2)) + h/2 );X    }X  }XX  public String toString()X  {X    return "[design=" + designNames[design] +X      ",country=" + countryNames[country] + "]";X  }}SHAR_EOF  $shar_touch -am 1210132696 'Card.java' &&  chmod 0644 'Card.java' ||  $echo 'restore of' 'Card.java' 'failed'  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then    md5sum -c << SHAR_EOF >/dev/null 2>&1 \    || $echo 'Card.java:' 'MD5 check failed'c145c49ddb10f9019d0247986fc07952  Card.javaSHAR_EOF  else    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'Card.java'`"    test 3951 -eq "$shar_count" ||    $echo 'Card.java:' 'original size' '3951,' 'current size' "$shar_count!"  fifi# ============= PileCanvas.java ==============if test -f 'PileCanvas.java' && test "$first_param" != -c; then  $echo 'x -' SKIPPING 'PileCanvas.java' '(file already exists)'else  $echo 'x -' extracting 'PileCanvas.java' '(text)'  sed 's/^X//' << 'SHAR_EOF' > 'PileCanvas.java' &&// CS 582 - Fall 1996 - OSU// Jean-Guy SpetonXimport java.awt.*;X// Risk-specific widget to display Cards in a Pile.class PileCanvas extends Canvas{X  // The maximum number of "top" cards to display.X  private final static int MAX_CARDS_SHOWN = 5;XX  private Risk risk;X  X  public PileCanvas(Risk risk)X  {X    this.risk = risk;X    setBackground(Color.white);X  }XX  // AWT methods.XX  // Toggle a card's selected state, unless doing so would result inX  // more than 3 selected cards.X  public boolean mouseDown(Event event, int x, int y)X  {X    int i = x / (size().width / MAX_CARDS_SHOWN);X    Pile pile = risk.getCurrentPlayer().getPile();X    int numSelected = 0;XX    for (int j = 0; j < MAX_CARDS_SHOWN; j++) {X      if (j < pile.size()) {X	if (pile.cardAt(j).isSelected()) {X	  numSelected++;X	}X      }X    }XX    if (i < pile.size()) {X      if (pile.cardAt(i).isSelected() || (numSelected < 3)) {X	pile.cardAt(i).toggleSelected();X	repaint();X      }X    }XX    risk.checkCardSet();X    X    return true;X  }X  X  public void paint(Graphics g)X  {X    Pile pile = risk.getCurrentPlayer().getPile();X    Dimension d = size();X    int cardWidth = d.width / MAX_CARDS_SHOWN;X    int cardHeight = d.height - 1;XX    for (int i = 0; i < MAX_CARDS_SHOWN; i++) {X      if (i == pile.size()) {X	break;X      }XX      Card c = pile.cardAt(i);X      c.paint(g, cardWidth * i, 0, cardWidth, cardHeight);X    }X  }}SHAR_EOF  $shar_touch -am 1210132696 'PileCanvas.java' &&  chmod 0644 'PileCanvas.java' ||  $echo 'restore of' 'PileCanvas.java' 'failed'  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then    md5sum -c << SHAR_EOF >/dev/null 2>&1 \    || $echo 'PileCanvas.java:' 'MD5 check failed'c4456e92ff52453df48cb4b65b0c609f  PileCanvas.javaSHAR_EOF  else    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'PileCanvas.java'`"    test 1424 -eq "$shar_count" ||    $echo 'PileCanvas.java:' 'original size' '1424,' 'current size' "$shar_count!"  fifi# ============= Makefile ==============if test -f 'Makefile' && test "$first_param" != -c; then  $echo 'x -' SKIPPING 'Makefile' '(file already exists)'else  $echo 'x -' extracting 'Makefile' '(text)'  sed 's/^X//' << 'SHAR_EOF' > 'Makefile' &&XJAVAC  = javacJFLAGS = -gXSRCS = Risk.java World.java Country.java Player.java Pile.java DrawPile.java Card.java PileCanvas.javaOBJS = $(SRCS:.java=.class)XX.SUFFIXES: .java .classXX.java.class:X	$(JAVAC) $(JFLAGS) $<Xall: $(OBJS)X	@echo "Done!"Xagain:X	@rm -f $(OBJS)X	@make JFLAGS=$(JFLAGS)Xshar:X	shar $(SRCS) Makefile >risk.sharSHAR_EOF  $shar_touch -am 1210141896 'Makefile' &&  chmod 0644 'Makefile' ||  $echo 'restore of' 'Makefile' 'failed'  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then    md5sum -c << SHAR_EOF >/dev/null 2>&1 \    || $echo 'Makefile:' 'MD5 check failed'7ce7bf1c39e600425cdb88b31858780f  MakefileSHAR_EOF  else    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'Makefile'`"    test 340 -eq "$shar_count" ||    $echo 'Makefile:' 'original size' '340,' 'current size' "$shar_count!"  fifirm -fr _sh13934exit 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -