U E D R , A S I H C RSS

정모/2011.4.4/Code Race

레�튼 �수와 함께 하는 CodeRace

  • PairProgramming
    • 1,2학년-3,4학년ì�´ 한 팀ì�„ ì�´ë£¬ë‹¤.
    • ë‘�명ì�´ 하나ì�˜ 모니터를 ë³´ê³  하나ì�˜ 키보드로 프로그래ë°� 해야 한다.
  • ì—­í• 
    • Navigator : Driverì—�게 어떻게 해야할지 알려주는 ì—­í• . 키보드를 ì§�ì ‘ 잡지 않는다.
    • Driver : Navigatorê°€ 알려주는대로 실제 코딩하는 ì—­í• . Navigatorì�˜ 지시 ì—†ì�´ 혼ìž� 코딩하지 않는다.
    • 3분마다 ì—­í• ì�„ 바꾸는ë�° 스위치 모션ì�„ 취한 ë’¤ ìž�리를 바꿔야 한다.
  • ë°°ê²½
    • A마ì�„ê³¼ B마ì�„ 사ì�´ì—�는 ê°•ì�´ 있다.
    • 배를 타지 않고 ê°•ì�„ ê±´ë„� 수 없다.
    • 등장하는 모든 ì�¸ë¬¼ì�´ ê°•ì�„ 건너 다른 마ì�„로 가야한다.
  • ì§„í–‰
    1. 레�튼 �수가 A마��서 배를 타고 강� 건너 B마�로 간다.
    2. 레�튼 �수가 A마�� 있다면 B마�로, B마�� 있다면 A마�로 간다.
    3. 루�� 등장
      1. 루�는 어려서 혼�서는 배를 탈 수 없다.
    4. 나� 아저씨 등장
      1. 나� 아저씨는 레�튼 �수가 없으면 루�를 강� �져버린다.
    5. 알고보니 배가 2�승�었다.
  • ë‚´ê°€ ì�´ê±¸ ì§„í–‰ìƒ�황ì�„ 다 알고 다시 프로그래ë°�한다면...

쓰레기

public class person {

	static private String name = "";
	static boolean isOnShip;
	public String city;
	
	public person(String name){this.name = name;}
	public void moveCity(){
		// A->B, B->A
		if(isOnShip != true)
			return;
		
		if(city == "A"){
			city = "B";
	
		}else if(city == "B"){
			city = "A";
		}
		isOnShip = false;

	System.out.println(name + "�/는 지금 "+city+"�있다");
	}
}
public class Raton {

	private static String city = "A";
	
	
	public static void main(String[] args) {
		// A -> B
//		System.out.println(city);
//		city = "B";
//		System.out.println(city);
//		
//		// A->B, B->A
//		if(city == "A"){
//			city = "B";
//		}else if(city == "B"){
//			city = "A";
//		}
//		System.out.println(city);
//		
		// 2�승 배
		person Luke = new person("루�");
		person Raton = new person("레�튼");
		person Bad = new person("나�아저씨");
		
		Luke.city = "A";
		Raton.city = "A";
		Bad.city = "A";

		Luke.isOnShip = true;
		Raton.isOnShip = true;
		
		Luke.moveCity();
		Raton.moveCity();
		
		Raton.moveCity();
		
	}
}

핸드�� 죽었슴다

#include<iostream>
using namespace std;

void main(){
	char location1 = 'A';
	char location2 = 'A';
	char location3 = 'A';
	
	while (1) {
	cout << "레�튼� 현재 위치 " << location1 << endl;
	cout << "루�� 현재 위치 " << location2 << endl;
	cout << "나� 아저씨� 현재 위치 " << location3 << endl;

	int i1 = -1, i2 = -1;
		
	cout << "배� 탈 사람�? (레�튼:1, 루�:2, 나�아저씨:3, �:0) ";
		cin >> i1;
		cin >> i2;
		if(i1 == 1 && i2 == 2){
			location1 = location1=='B'?'A':'B';
			location2 = location2=='B'?'A':'B';
		}
		if (i1 == 2 && i2 == 3){
			location2 = location2=='B'?'A':'B';
			location3 = location3=='B'?'A':'B';
		}
		if (i1 == 1 && i2 == 3){
			location1 = location1=='B'?'A':'B';
			location3 = location3=='B'?'A':'B';
		}
		if (i1 == 1 && i2 == 0) location1 = location1=='B'?'A':'B';
		if (i1 == 2 && i2 == 0) location2 = location2=='B'?'A':'B';
		if (i1 == 3 && i2 == 0) location3 = location3=='B'?'A':'B';
		if (location1 != location2 && location2 == location3) {
			cout << "루�가 죽었슴다 ㅡㅡ" << endl;
			return;
		}
	cout << endl;
	}
}

Untitled.txt


#include <stdio.h>


typedef struct _h {
	int id;
} human;

typedef struct _t {
	human h[3];
} town;

int main(int argc, const char **argv) {
	human raten, ruke, bad, pl1, pl2, pl3;
	town a, b;
	
	a.h[0] = raten;
	a.h[1] = ruke;
	a.h[2] = bad;
	
	b.h[0] =a.h[0];
	b.h[1]=a.h[1];
	a.h[0]=pl1;
	a.h[1]=pl2;
	
	a.h[0]=b.h[0];
	b.h[0]=pl1;
	
	b.h[0]=a.h[0];
	b.h[2]=a.h[2];
	a.h[0]=pl1;
	a.h[2]=pl3;
	
	return 0;
}

기�충

public class Ship {
	
	public int maxNum;
	public int cur;
	
	public Ship(int n){
		maxNum = n;
		cur = 0;
	}
	public void take(){
		cur++;
	}
	public void getOff(){
		cur--;
	}
	public boolean cross(){
		return (maxNum >= cur);
	}
}


public class BadUncle {
	public boolean location;
	
	public BadUncle(){location = true;}
	
	public void ThrowRook(ProfessorR r, Child c) {
		if( r.location != c.location && location == c.location )
			killRook();
	}

	public void crossRiver() {
		if(location) location = false;
		else location = true;
	}
	
	public void printLocation() {
		String str = (location)? "A" : "B";
		System.out.println("Uncle loc : " + str);
	}

	private void killRook() {
		System.out.println("루� 죽� ㅋ");		
	}	

}


public class Child {
	public boolean location;
	
	public Child() {
		location = true;
	}
	
	public void crossRiver(ProfessorR r) {
		if( r.location == location ) {
			if(location) {
				location = false;
				r.location = false;
			}
			else {
				location = true;
				r.location = true;
			}
		}
	}
	
	public void printLocation() {
		String str = (location)? "A" : "B";
		System.out.println("Child loc : " + str);
	}
}


public class ProfessorR {
	public boolean location;
	
	public ProfessorR() {
		location = true;
	}
	
	public void crossRiver() {
		if(location) location = false;
		else location = true;
	}
	
	public void printLocation() {
		String str = (location)? "A" : "B";
		System.out.println("Professor loc : " + str);
	}
	
	public static void main(String[] args) {
		ProfessorR test = new ProfessorR();
		Child rook = new Child();
		test.printLocation();
		test.crossRiver();
		test.printLocation();
		test.crossRiver();
		test.printLocation();
		rook.printLocation();
		rook.crossRiver(test);
		rook.printLocation();
		test.printLocation();
		
		BadUncle b = new BadUncle();
		
		test.crossRiver();
		b.crossRiver();
		test.printLocation();
		b.printLocation();
		rook.printLocation();
		b.ThrowRook(test, rook);
		
	}


}

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:50
Processing time 0.0060 sec