View Full Version: piece of advice...

Fire Emblem Wars > Life, the Universe, and the Earth (LUE) > piece of advice...



Title: piece of advice...
Description: learn from my mistake


LoZfan03 - February 29, 2008 07:56 AM (GMT)
don't save large midterm programming assignments for the last minute. I have been programming in Java for about 4 hours straight now. it's almost 2am here. I have more to go. if everything goes right, I still have a good ways to go. it's due 9am. I can do it. the later it gets, the slower I go. I don't even have any pop handy. the thing keeping me awake right now is my roommate's atrocious snoring. he's louder asleep than awake, how does that work? oh well, he's good the rest of time

sigh, back to it. if I get done, I can look forward to dreaming in JavaScript O_O

SeverIan. - February 29, 2008 08:15 AM (GMT)
Dude,
I started a 10 page paper for english that's due at 10 AM or so tonight (I can probably afford to turn it in at 11).

It's brutal because I'm exhausted. Normally would probably be ok but I didn't really get much sleep yesterday either.

I will probably take one break at 7:30 to go to the dining hall and drink their coffee and then come back to the library to finish. I am CRAWLING forward. Thankfully I have an outline w/ pages and quotes but I am typing very slowly. Also I started a post in the "And the winner is" thread and worked on it for like 40 minutes. Was actually a good way to rest and focus on less serious less urgent stuff. But I don't encourage you to do the same sorta thing :)

Good luck.

LoZfan03 - February 29, 2008 09:22 AM (GMT)
well, I'm done. nearly 3:30 am here. everything went wonderfully the first time and except for a couple times I put X instead of Y and vica versa, they did what they were supposed to. I can sleep now *sigh of relief*

SeverIan. - February 29, 2008 10:03 AM (GMT)
I am on page 7 @_Z

Just to make it clear I am half asleep and half crazy.

Arcan - February 29, 2008 02:17 PM (GMT)
Hey...I did the same thing last night ;p
Of course, I'm still a senior in HS, so it was only an eight page paper, but yeah...strange coincidence.

SeverIan. - February 29, 2008 07:25 PM (GMT)
It's actually due at 11:59 PM. I guess I should be glad I got it done now, but instead I'm going to bed once I do a few things on this here compy. Probably wake up at 6, dinner, revise essay, sleep again and get up again around 11 pm for weekend.

nightwalker - March 1, 2008 12:56 PM (GMT)
you guys are crazy. I don't know if I'd be able to do that.

Lades - March 2, 2008 11:33 AM (GMT)
Lades assignments are done in a different manner.

Program due last monday.
Web Hosting assignment due last thursday.
Networking assignment due last thursday.
Gonna do them tomorrow.


It's a beautiful thing.

Alex - March 2, 2008 03:48 PM (GMT)
What did you have to code? O_O

Post the source code please. :)

LoZfan03 - March 2, 2008 05:02 PM (GMT)
who me? it's a maze runner deal. you've got three mice and three cats. each time a mouse moves, all the cats move closer to the nearest mouse (to the best extent they can). there are 7 different classes, plus the input file for the maze.

I'm sure if I had done it at some reasonable hour, it would have gone a good bit quicker, but that wasn't really an option by then.

and FRICK, I knew it. I forgot to make the method to make the cats stop considering a mouse once it exits the maze. that was the very last part I programmed in, soooo it makes sense ^^;; anyway, here's the code if you really want it

Project2.java
CODE
import java.awt.HeadlessException;
import java.io.FileNotFoundException;
import java.io.IOException;

import javax.swing.JOptionPane;

public class Project2 {

public static void main(String[] args) throws HeadlessException, FileNotFoundException, IOException {
 
       //(new MazeController(JOptionPane.showInputDialog("Maze file name:"))).start();
 (new MazeController("maze.txt")).start();
}
}


MazeController.java
CODE
import java.awt.Point;
import java.io.FileNotFoundException;
import java.io.IOException;

import javax.swing.JOptionPane;


public class MazeController {

Maze m;
boolean[] moving = new boolean[3];
MouseController mc;
Mouse[] mouse = new Mouse[3];
Cat[] cat = new Cat[3];
int day = 0;
String record = "";
int[] timer = new int[3];

public MazeController(String file) throws FileNotFoundException, IOException {
 m = new Maze(file);
 mc = new MouseController();
 Point[] starting = new Point[6];
 
 
 int length = (int)m.getSize().getX();
 int width = (int)m.getSize().getY();
 int I = 0;
 
 for (int Q = 0; Q < 3; Q++) {moving[Q] = true;}
 
 do {
  Point p = new Point((int)Math.floor(length*Math.random()), (int)Math.floor(width * Math.random()));
 
  boolean valid = m.isHallway(p); //random point is hall
  if (valid) {
   for (int j = 0; j < i; j++) {
    valid = valid && !p.equals(starting[j]);
   } //random point hasn't been used
  }
 
  if (valid) {
   cat[i] = new Cat(p, i);
   starting[i] = p;
   i++;
  }
 } while (i < 3);
 do {
  Point p = new Point((int)Math.floor(length*Math.random()), (int)Math.floor(width*Math.random()));
  boolean valid = m.isHallway(p); //random point is hall
 
  if (valid) {
   for (int j = 0; j < i; j++) {
    valid = valid && !p.equals(starting[j]);
   } //random point hasn't been used
  }
 
  if (valid) {
   mouse[i-3] = new Mouse(p, cat[0], cat[1], cat[2], (i-3), mc);
   starting[i] = p;
   i++;
  }
 } while (i < 6);
 
 for (int M = 0; M < 3; M++) {
  for (int N = 0; N < 3; N++) {
   mouse[M].addObserver(cat[N]);
  }
  mouse[M].addObserver(mc);
 }
 
 Point[] ps = new Point[3];
 for (int L = 0; L < 3; L++) {
  ps[L] = mouse[L].getPosition();
  timer[L] = 0;
 }
 for (int L = 0; L < 3; L++) {
  cat[L].receiveSpots(ps);
 }
}

public void start() {
 
 record += "   Day 0:\n";
 for (int I = 0; i < 3; i++) {
  record += "Mouse " + (i+1) + ": (" + (int)mouse[i].getPosition().getX() + ", " + (int)mouse[i].getPosition().getY() + ")\n";
 }
 for (int I = 0; i < 3; i++) {
  record += "Cat " + (i+1) + ": (" + (int)cat[i].getPosition().getX() + ", " + (int)cat[i].getPosition().getY() + ")\n";
 }
 
 
 do {
  for (int I = 0; i < 3; i++) {
   if (moving[i]) {
    map();
    mouse[i].move(m);
    timer[i]++;
    catchcheck();
    leftcheck();
   }
  }
  day++;
  record += "\n   Day " + day + ":\n";
  for (int I = 0; i < 3; i++) {
   if (moving[i])
   {record += "Mouse " + (i+1) + ": (" + (int)mouse[i].getPosition().getX() + ", " + (int)mouse[i].getPosition().getY() + ")\n";}
  }
  for (int I = 0; i < 3; i++) {
   record += "Cat " + (i+1) + ": (" + (int)cat[i].getPosition().getX() + ", " + (int)cat[i].getPosition().getY() + ")\n";
  }
 
 } while ((moving[0] || moving[1] || moving[2]) && day < 100);
 
 for (int I = 0; i < 3; i++) {
  record += "Mouse " + (i+1) + ": " + timer[i] + " days\n";  
 }
 
 System.out.println(record);
}

private void catchcheck() {
 for (int I = 0; i < 3; i++) {
  if (moving[i]) {
   for (int j = 0; j < 3; j++) {
    if ((mouse[i].getPosition().equals(cat[j].getPosition()))) {
     moving[i] = false;
     mouse[i].eaten();
     record += "Mouse " + (i+1) + " got eaten.\n";
     System.out.println("Mouse " + (i + 1) + " was eaten.");
    }
   }
  }
 }
}

private void leftcheck() {
 for (int I = 0; i < 3; i++) {
  if (moving[i]) {
   Point p = m.getSize();
   Point u = mouse[i].getPosition();
   moving[i] = u.getX() < p.getX() && u.getX() > -1 && u.getY() < p.getY() && u.getY() > -1;
   if (!(moving[i])) {
    System.out.println("Mouse " + (i+1) + " left the maze.");
    record += "Mouse " + (i+1) + " escaped.\n";
   }
  }
 }
}

private void map() {
 char[][] map = m.getLayout();
 
 for (int I = 0; i < 3; i++) {
  if (moving[i]) {
  map = change(mouse[i], map);
  }
  map = change(cat[i], map);
 }
 String print = "      Day " + day + ":     \n\n";
 for (int I = 0; i < 16; i++)
 {
  for (int j = 0; j < 18; j++)
  {
   print += map[i][j];
  }
  print += "\n";
 }
 System.out.println(print + "\n1-3 = Mice\nA-C = Cats\n# = multiple mice\n* = multiple cats\n? = Cat(s) and Mouse(Mice)");
 //JOptionPane.showMessageDialog(null, mouse[0].getPosition() + "\n" + mouse[1].getPosition() + "\n" + mouse[2].getPosition() + "\n"
 //  + cat[0].getPosition() + "\n" + cat[1].getPosition() + "\n" + cat[2].getPosition());
}

private char[][] change(Animal a, char[][] map) {
 boolean mcheck = false, ccheck = false;
 
 if (a instanceof Mouse) {
  Mouse mo = (Mouse)a;
 
  for (int I = 0; i < 3; i++) {
   if (!(mouse[i].getNumber() == mo.getNumber())
     && mouse[i].getPosition().equals(mo.getPosition())) {
    mcheck = true;
   }
  }
  for (int I = 0; i < 3; i++) {
   if (cat[i].getPosition().equals(mo.getPosition())) {
    ccheck = true;
   } //these have to be if/thens to avoid switch back to false
  }
 
  if (!mcheck && !ccheck) {
   switch (mo.getNumber()) {
   case 0:
    map[(int)mo.getPosition().getX()][(int)mo.getPosition().getY()] = '1';
    break;
   case 1:
    map[(int)mo.getPosition().getX()][(int)mo.getPosition().getY()] = '2';
    break;
   case 2:
    map[(int)mo.getPosition().getX()][(int)mo.getPosition().getY()] = '3';
    break;
   }
  }
  else if (mcheck && !ccheck) {
   map[(int)mo.getPosition().getX()][(int)mo.getPosition().getY()] = '#';
  }
  else if (ccheck) {
   map[(int)mo.getPosition().getX()][(int)mo.getPosition().getY()] = '?';
  }
 }
 else {
  Cat c = (Cat)a;
 
  for (int I = 0; i < 3; i++) {
   if (!(cat[i].getNumber() == c.getNumber())
     && cat[i].getPosition().equals(c.getPosition())) {
    ccheck = true;
   }
  }
  for (int I = 0; i < 3; i++) {
   if (mouse[i].getPosition().equals(c.getPosition())) {
    mcheck = true;
   }
  }
 
  if (!mcheck && !ccheck) {
   switch (c.getNumber()) {
   case 0:
    map[(int)c.getPosition().getX()][(int)c.getPosition().getY()] = 'A';
    break;
   case 1:
    map[(int)c.getPosition().getX()][(int)c.getPosition().getY()] = 'B';
    break;
   case 2:
    map[(int)c.getPosition().getX()][(int)c.getPosition().getY()] = 'C';
    break;
   }
  }
  else if (!mcheck && ccheck) {
   map[(int)c.getPosition().getX()][(int)c.getPosition().getY()] = '*';
  }
  else if (mcheck) {
   map[(int)c.getPosition().getX()][(int)c.getPosition().getY()] = '?';
  }
 }
 return map;
}

}


Animal.java (my first interface, awwww)
CODE
import java.awt.Point;

/*
* Created by Joseph Ambrose
*
* Animal interface
*
* methods: -move
*    -getPosition
*
*/

public interface Animal {

/*
 * move this Animal to a different point in the given maze
 */
public void move(Maze m);

/*
 * returns the Animal's current location
 */
public Point getPosition();


}


Mouse.java
CODE
import java.awt.Point;
import java.util.Observable;


public class Mouse extends Observable implements Animal {

private Point p;
private int num;

/**
 * create a Mouse at given point
 * add the 3 cats as observer
 */
public Mouse(Point p, Cat a, Cat b, Cat c, int num, MouseController mc) {
 
 this.p = p;
 this.num = num;
 
 addObserver(a);
 addObserver(b);
 addObserver(c);
 addObserver(mc);
}

/**
 *
 */
public void move(Maze m) {
 setChanged();
 notifyObservers(m);
 clearChanged();
}

public Point getPosition() {
 return p;
}

public int getNumber() {
 return num;
}

public void eaten() {
 setChanged();
 notifyObservers(null);
 clearChanged();
}

/**
 *
 * @ require - a point this mouse can move to (hall and only one space away)
 * @ ensure - mouse's location = given point
 */
public void recommendMove(Point p) {
 this.p = p;
}

}


Cat.java
CODE
import java.awt.Point;
import java.util.Observable;
import java.util.Observer;

import javax.swing.JOptionPane;

public class Cat implements Animal, Observer {

private Point p;
private boolean[] chase = new boolean[3];
private Point[] mousespot = new Point[3];
private int num;

/**
 * create a new Cat at given Point
 */
public Cat(Point p, int num) {
 
 this.p = p;
 this.num = num;
 
 for (int I = 0; i < 3; i ++) {
  chase[i] = true;
 }
}

/**
 * @ require - a valid maze to move in
 *
 * @ ensure - the cat moves one space, toward the closest mouse if possible
 */
public void move(Maze m) {
 
 // 1 - north
 //  2 - south
 //  3 - west
 //  4 - east
 
 switch (facing(m)) {
 case 1:
  p.translate(-1, 0);
  break;
 case 2:
  p.translate(1, 0);
  break;
 case 3:
  p.translate(0, -1);
  break;
 case 4:
  p.translate(0, 1);
  break;
 default:
  JOptionPane.showMessageDialog(null, "Stop the freaking program, something screwed up!");
 }
}

/**
 * @ require - a maze to check for possible moves in
 *
 * @ ensure - int represting direction of optimal possible movement is returned
 */
private int facing(Maze m) {
 
 int closest = closestmouse();
 
 if (closest == -1) {
  if (m.isHallway(new Point((int) p.getX() - 1, (int) p.getY()))) {
   return 1;
  }
  else if (m.isHallway(new Point((int) p.getX() + 1, (int) p.getY()))) {
   return 2;
  }
  else if (m.isHallway(new Point((int) p.getX(), (int) p.getY() - 1))) {
   return 3;
  }
  else if (m.isHallway(new Point((int) p.getX(), (int) p.getY() + 1))) {
   return 4;
  }
 }
 else {
  Point a = mousespot[closest];
 
  if (Math.abs((a.getX() - p.getX())) > Math.abs(a.getY() - p.getY())) { //vertical diff is greater than horizontal
   if (a.getX() < p.getX()) { //mouse is north
    if (checkNorth(m)) { //square to north is open
     return 1;
    }
    else if (a.getY() <= p.getY()) { //straight north or north-west, but can't move north
     if (checkWest(m)) {
      return 3;
     }
     else if (checkEast(m)) {
      return 4;
     }
     else {
      return 2;
     }
    }
    else { //north-east and can't move north
     if (checkEast(m)) {
      return 4;
     }
     else if (checkWest(m)) {
      return 3;
     }
     else {
      return 2;
     }
    }
   } //end mouse-north
   else { //mouse is south
    if (checkSouth(m)) { //square to south is open
     return 2;
    }
    else if (a.getY() <= p.getY()) { //straight south or south-west, but can't move south
     if (checkWest(m)) {
      return 3;
     }
     else if (checkEast(m)) {
      return 4;
     }
     else {
      return 1;
     }
    }
    else { //south-east and can't move south
     if (checkEast(m)) {
      return 4;
     }
     else if (checkWest(m)) {
      return 3;
     }
     else {
      return 1;
     }
    }
   } //end mouse-south
  } //end vertical difference = greater
 
  else { //horizontal difference is greater/equal
   if (a.getY() < p.getY()) { //mouse is west
    if (checkWest(m)) { //west is open
     return 3;
    }
    else if (a.getX() <= p.getX()) { //straight west or north-west, can't go west
     if (checkNorth(m)) {
      return 1;
     }
     else if (checkSouth(m)) {
      return 2;
     }
     else {
      return 4;
     }
    }
    else { //south-west, can't go west
     if (checkSouth(m)) {
      return 2;
     }
     else if (checkNorth(m)) {
      return 1;
     }
     else {
      return 4;
     }
    }
   } //end west
   else { //mouse is east
    if (checkEast(m)) { //east is open
     return 4;
    }
    else if (a.getX() <= p.getX()) { //straight east or north-east, can't go west
     if (checkNorth(m)) {
      return 1;
     }
     else if (checkSouth(m)) {
      return 2;
     }
     else {
      return 3;
     }
    }
    else { //south-east, can't go east
     if (checkSouth(m)) {
      return 2;
     }
     else if (checkNorth(m)) {
      return 1;
     }
     else {
      return 3;
     }
    }
   } //east
  } //end horizontal difference = greater
 }
 
 
 JOptionPane.showMessageDialog(null, "Something went wrong horribly with chase method");
 return -1;
}

private boolean checkNorth(Maze m) {
 return m.isHallway(new Point((int)p.getX() - 1, (int)p.getY()));
}
private boolean checkSouth(Maze m) {
 return m.isHallway(new Point((int)p.getX() + 1, (int)p.getY()));
}
private boolean checkWest(Maze m) {
 return m.isHallway(new Point((int)p.getX(), (int)p.getY() - 1));
}
private boolean checkEast(Maze m) {
 return m.isHallway(new Point((int)p.getX(), (int)p.getY() + 1));
}

/**
 * @ ensure - number of closest mouse is return unless
 *     only remaining mouse is underneath (-1 is then returned)
 */
private int closestmouse() {
 int closest = -1;
 double distance = 35; //34 is the greatest distance possible in the current maze
 
 for (int I = 0; i < 3; i++) {
  if (chase[i]) { //if mouse is still a target
   if (!(p.equals(mousespot[i]))) { //ignore mouse underneath
    if (Math.abs(mousespot[i].getX() - p.getX()) //if mouse is closer than closest so far
      + Math.abs(mousespot[i].getY() - p.getY()) < distance)
    {
     distance = + Math.abs(mousespot[i].getX() - p.getX()) + Math.abs(mousespot[i].getY() - p.getY());
     closest = i;
    }
   }
  }
 }
 return closest;
}

public Point getPosition() {
 
 return p;
}

public void receiveSpots(Point[] ps) {
 mousespot = ps;
}

/**
 * @ require - either a valid maze or a null value
 *
 * @ ensure - if null is returned, stop chasing that mouse
 *      if a valid maze is returned, update the mouse's position and tell the cat to move
 */
public void update(Observable mouse, Object maze) {
 
 if (maze == null) {
  chase[((Mouse)mouse).getNumber()] = false;
 }
 else {
  mousespot[((Mouse)mouse).getNumber()] = ((Mouse)mouse).getPosition();
  move((Maze)maze);
 }
}

public int getNumber() {
 return num;
}
}


Maze.java
CODE
import java.io.*;
import java.util.*;

/*
* Joseph Ambrose
*
* Maze class for maze project
*
*/

import java.awt.*;
import javax.swing.*;

public class Maze {

private char[][] layout;
private int x, y;
private int l, w;

public Maze(String file) throws FileNotFoundException, IOException {
 
 Scanner mazefile = new Scanner(new File(file));
 l = mazefile.nextInt();
 w = mazefile.nextInt();
 layout = new char[l][w];
 
 
 for (int I = 0; i < l; i++)
 {
  for (int j = 0; j < w; j++)
  {
   if (mazefile.next().equals("W"))
    {layout[i][j] = 'W';}
   else
    {layout[i][j] = 'H';}
  }
 }
}

public boolean isHallway(Point p)
/**
 *
 * @ ensure - true is returned if the point is a hallway or outside the maze
 *    
 */
 {
  return ((p.getX() >= 0 && p.getX() < l && p.getY() >= 0 && p.getY() < w) &&
    !(layout[(int) p.getX()][(int) p.getY()] == 'W')) ||
    !(p.getX() >= 0 && p.getX() < l && p.getY() >= 0 && p.getY() < w);
 }


public boolean isWall(Point p)
/**
 * @ ensure - true is returned if the point is a wall and inside the maze
 *  
 */
 {
  return (p.getX() >= 0 && p.getX() < l && p.getY() >= 0 && p.getY() < w) &&
    (layout[(int) p.getX()][(int) p.getY()] == 'W');
 }
 
public Point getSize()
{
 return new Point(l, w);
}

public char[][] getLayout()
{
 char[][] map = new char[l][w];
 
 for (int I = 0; i < l; i++)
 {
  for (int j = 0; j < w; j++)
  {
   if (layout[i][j] == 'W')
    {map[i][j] = 'W';}
   else
    {map[i][j] = 'H';}
  }
 }
 return map;
}
}


MouseController.java
CODE
import java.awt.Point;
import java.util.*;

import javax.swing.JOptionPane;


public class MouseController implements Observer {

public void update(Observable mouse, Object maze) {
 
 if (!(maze == null)) {
 
 Scanner input = new Scanner(System.in);
 boolean done = false;
 do {
  System.out.println("  Move mouse " + (((Mouse)mouse).getNumber() + 1) + ".\n Please use up, down, left or right");
  System.out.print("?");
  String answer = input.next();
 
  Point p = ((Mouse)mouse).getPosition();
 
  if (answer.equals("up")) {
   if (((Maze)maze).isHallway(new Point( (int) p.getX() - 1, (int) p.getY()))) {
    ((Mouse)mouse).recommendMove(new Point((int)p.getX()-1, (int) p.getY()));
    done = true;
   }
   else {
    System.out.println("Can't move there.\nProblem: there's a wall above current point");
   }
  }
  else if (answer.equals("down")) {
   if (((Maze)maze).isHallway(new Point( (int) p.getX() + 1, (int) p.getY()))) {
    ((Mouse)mouse).recommendMove(new Point((int)p.getX()+1, (int) p.getY()));
    done = true;
   }
   else {
    System.out.println("Can't move there.\nProblem: there's a wall below current point");
   }
  }
  else if (answer.equals("left")) {
   if (((Maze)maze).isHallway(new Point( (int) p.getX(), (int) p.getY()-1 ))) {
    ((Mouse)mouse).recommendMove(new Point((int)p.getX(), (int) p.getY()-1 ));
    done = true;
   }
   else {
    System.out.println("Can't move there.\nProblem: there's a wall to left of current point");
   }
  }
  else if (answer.equals("right")) {
   if (((Maze)maze).isHallway(new Point( (int) p.getX(), (int) p.getY()+1 ))) {
    ((Mouse)mouse).recommendMove(new Point((int)p.getX(), (int) p.getY()+1 ));
    done = true;
   }
   else {
    System.out.println("Can't move there.\nProblem: there's a wall to right of current point");
   }
  }
  else {
   System.out.println("Invalid input.\nPlease select from the given commands.");
  }
 
 } while (!done);
}
}

}


and finally, maze.txt
CODE
16 18
W H W W W W W W W W W W W W W W W W
W H H H H H H H H H H H H H H W H W
W H W W W W W H W H W W H W H W H W
W H W H H H W H W H W H H W H W H W
W H W H W H W H W H W H W W H H H W
W H W H W H W H W H W H H H W W W W
W H W H W W W H W H W H W H H H H W
W H W H H H H H W H W H H W W W H W
W H W W W H W W W H W W W H H H H H
W H H H W H H H W H W H W H W W W W
W W W H W W W H W H W H W H H H H W
W H W H W H H H W H W H W W W W H W
W H H H W W W H W H W H H H H H H W
W H W W W H W W W H W H W W W W W W
W H H H H H H H H H H H H H H H H W
W H W W W W W W W W W W W W W W W W


I"m not very good at the javadoc comments. I usually try and write in the pre/postcondition stuff after I'm done. I see the use of them, but everything works out in my and sometimes it's hard to get it out of there in some meaningful way

Alex - March 2, 2008 11:24 PM (GMT)
I un feel like looking through all that code. O_o. What level are you taking? I'm in AP Programming AB and I never have had to do anything that big, lulz.

And also, you should probably do the preconditions/postconditions first before you write stuff. ;O

nightwalker - March 3, 2008 04:19 AM (GMT)
That explains why I don't do computer programming.

Lades - March 3, 2008 04:39 AM (GMT)
*jawdrop*



Next semester is sooooooooooooo gonna suck!

LoZfan03 - March 3, 2008 06:32 AM (GMT)
QUOTE (Alex @ Mar 2 2008, 06:24 PM)
I un feel like looking through all that code. O_o.  What level are you taking?  I'm in AP Programming AB and I never have had to do anything that big, lulz.

And also, you should probably do the preconditions/postconditions first before you write stuff. ;O

that's CS250 around these parts, Algorithms and Data Structure. next we go into exception handling, oh joy. I actually do like it, it's just that it takes some effort to start. I think it has something to do with the whole class approach. there's no good stopping and starting parts. unlike when I whipped up a Visual BASIC judging program, it just went straight down the line. sure, there was serious inefficiency and repetition going on, but it was straightforward at least :P
EDIT - that's second semester, freshman year for a serious planned CS major

and yeah, I suppose that'd be the easy way to go about it. I don't like it for some reason. I guess I'll have to force myself until it becomes habit.

Alex - March 3, 2008 11:35 AM (GMT)
lulz college and CS major... at least software engineers get paid good moniez =]

Cadin - March 3, 2008 03:08 PM (GMT)
Red bull. Enough said. :)

nightwalker - March 5, 2008 04:00 AM (GMT)
hmm... I'm staying up late tonight... finishing a smaller project. Apparently I haven't learned from your mistake yet.

LoZfan03 - March 5, 2008 07:02 AM (GMT)
I have failed. my life hasn't even served to warn others...I have no meaning...time for bed ^_^

nightwalker - March 6, 2008 03:10 AM (GMT)
I'll try harder next time. Tell me if your professor liked it or not.

Durendal - April 15, 2008 03:50 PM (GMT)
QUOTE (Cadin @ Mar 3 2008, 10:08 AM)
Red bull and coffee Enough said. :)

fixed.

LoZfan03 - April 15, 2008 05:27 PM (GMT)
ah, yes, he liked it. I got full credit even though I forgot to account for a couple loopholes. also, I started my 3rd project a whole day ahead of time. worked out a lot better

in other news, I really don't like Red Bull. had some once and I only finished it so it wouldn't be wasted. I don't know about coffee either...

nightwalker - April 18, 2008 05:12 AM (GMT)
I hate the taste of coffee but sometimes have to drink it because I need instant energy, or I need to crash in thirty minutes. Red bull is amazing I think.

KuraiKitsune - April 22, 2008 03:03 AM (GMT)
Ick, Red Bull. :/

The only Red Bull I liked was in The Last Unicorn. (If ANYONE got that reference, I'll love thee forever. XD)

Coffee is good. Try an Eye Opener. Three shots of espresso into a mocha (which already had one) makes sure that you sure aren't going to fall asleep anytime soon. xD

Karn - April 22, 2008 03:31 AM (GMT)
QUOTE (KuraiKitsune @ Apr 21 2008, 10:03 PM)
Ick, Red Bull. :/

The only Red Bull I liked was in The Last Unicorn. (If ANYONE got that reference, I'll love thee forever. XD)

Coffee is good. Try an Eye Opener. Three shots of espresso into a mocha (which already had one) makes sure that you sure aren't going to fall asleep anytime soon. xD

When I first heard of Red Bull I thought it might be in some way a homage to The Last Unicorn. I really liked the book, but it's been forever since I've read it.

LoZfan03 - April 22, 2008 04:27 AM (GMT)
QUOTE (KuraiKitsune @ Apr 21 2008, 10:03 PM)
Ick, Red Bull. :/

The only Red Bull I liked was in The Last Unicorn. (If ANYONE got that reference, I'll love thee forever. XD)

Coffee is good. Try an Eye Opener. Three shots of espresso into a mocha (which already had one) makes sure that you sure aren't going to fall asleep anytime soon. xD

I totally thought about reading that book! >_>

I did read Into the Land of the Unicorns once, and I'm, er, man enough to admit it. It wasn't half bad either.

SeverIan. - April 22, 2008 05:17 AM (GMT)
QUOTE (KuraiKitsune @ Apr 21 2008, 10:03 PM)
Ick, Red Bull. :/

The only Red Bull I liked was in The Last Unicorn. (If ANYONE got that reference, I'll love thee forever. XD)

Coffee is good. Try an Eye Opener. Three shots of espresso into a mocha (which already had one) makes sure that you sure aren't going to fall asleep anytime soon. xD

I have never read the book but the movie was badass.

I abstain from the usage of caffeine. I prefer to run off of pure adrenaline; the later it is, the more I have to do, the more my eyes burn, all the better to make me work.

Karn - April 22, 2008 05:20 AM (GMT)
I hear that the movie sucked in comparison.

KuraiKitsune - April 22, 2008 08:54 PM (GMT)
I'm an avid fan of both. :lol: Loved the book, adored Studio Ghibli's animation work. (Yes, it was animated by Ghibli. There's a little bit of trivial information. x3) I can say that I've got the soundtrack on my MP3 player, too.

Good thing that Amalthea's voice was substituted in the soundtrack. Not to bash the woman, but her in-movie singing is sub-par to the artist that performed the soundtrack.

Met the author at Anime Expo, too. Peter S. Beagle's a nice guy. :D

Bought the Amalthea concept art while I was there, too- 'twas a tad pricey, but more than worth it. :P




Hosted for free by InvisionFree