드 ¶
~cpp code
import javax.swing.JOptionPane;
public class NumberBaseBallGame {
private String resultNumber;
private String userNumber;
public static void main(String[] args) {
NumberBaseBallGame game = new NumberBaseBallGame();
game.excute();
}
public void excute() {
// make a result number
createResultNumber();
do {
// input number from user
inputNumber();
// show score
JOptionPane.showMessageDialog(null, checkScore());
} while(checkScore() != "You are correct!");
}
public String inputNumber() {
return userNumber = JOptionPane.showInputDialog(null, "Enter number what you think");
}
public void createResultNumber() {
String fstNum, secNum, trdNum;
do {
fstNum = "" + (Math.random()*10);
secNum = "" + (Math.random()*10);
trdNum = "" + (Math.random()*10);
}while(fstNum.equals(secNum) || secNum.equals(trdNum) || fstNum.equals(trdNum));
resultNumber = fstNum + secNum + trdNum;
}
public String checkScore() {
int numOfStrike = 0;
int numOfBall = 0;
for (int i = 0 ; i < 3 ; i++) {
for (int j = 0 ; j < 3 ; j++) {
if (resultNumber.charAt(i) == userNumber.charAt(j)) {
if (i == j) {
numOfStrike++;
} else {
numOfBall++;
}
}
}
}
if (numOfStrike == 3)
return "You are correct!";
else
return "" + numOfStrike + " Strike, " + numOfBall + " Ball";
}
///////////////////////////////////////////////////////////////
public void setResultNumber(String resultNumber) {
this.resultNumber = resultNumber;
}
public String getUserNumber() {
return userNumber;
}
public String getResultNumber() {
return resultNumber;
}
}
드 ¶
~cpp code
import junit.framework.TestCase;
public class NumberBaseBallGameTest extends TestCase {
public NumberBaseBallGame object;
protected void setUp() throws Exception {
object = new NumberBaseBallGame();
}
protected void tearDown() throws Exception {
}
public void testInputNumber() {
String testString = object.inputNumber();
if (testString.charAt(0) == '1' &&
testString.charAt(1) == '2' &&
testString.charAt(2) == '3')
assertTrue(true);
else
assertTrue(false);
}
public void testCreateResultNumber() {
object.createResultNumber();
assertNotSame(object.getResultNumber().charAt(0), object.getResultNumber().charAt(1));
assertNotSame(object.getResultNumber().charAt(1), object.getResultNumber().charAt(2));
assertNotSame(object.getResultNumber().charAt(0), object.getResultNumber().charAt(2));
}
public void testCheckScore() {
object.inputNumber();
object.setResultNumber("132");
assertEquals("1 Strike, 2 Ball", object.checkScore());
}
}
담 ¶
- TDD로 만들려고 되고 꽤나 많 리^^; 로그램 라기 보단 를 로그램 되는 느낌 ;;; 만 많 방법라 로 더 봐겠~ -
- 드를 갖고 떻게 는 모르겠. import junit.framework.TestCase 구문 던데 것 디 가 나? -_-;; - 문명
- 단 무고 . JUnit는 방법 나 려깐. -
- 단 무고 . JUnit는 방법 나 려깐. -
- 내 경로는 둘리기 보다는 를 구로 기는 드가 것 같당. 가 리를 는 길로 는 더라
- JUnit 4.1 다. 3~4 는 4.1 반 되 겠. 다 보, 4.1 배 교까 Overloading되 다. 다 를 보. SeeAlso JUnit in CenterStage --NeoCoin
- JUnit 4.1 다. 3~4 는 4.1 반 되 겠. 다 보, 4.1 배 교까 Overloading되 다. 다 를 보. SeeAlso JUnit in CenterStage --NeoCoin
~java
package test;
import java.util.Arrays;
import org.junit.Test;
import static org.junit.Assert.*;
public class JUnit41Test {
@Test
public void name() {
String[] actual = { "1", "2", "3" }, expect = { "1", "2", "3" };
Integer[] actual2 = { 1, 2, 3 }, expect2 = { 1, 2, 3 };
assertEquals(Arrays.asList(actual), Arrays.asList(expect));
assertEquals(actual, expect);
assertEquals(actual2, expect2);
}
}
~java
import java.util.Arrays;
import junit.framework.TestCase;
public class JUnit38Test extends TestCase {
public void name() {
String[] actual = { "1", "2", "3" }, expect = { "1", "2", "3" };
Integer[] actual2 = { 1, 2, 3 }, expect2 = { 1, 2, 3 };
assertEquals(Arrays.asList(actual), Arrays.asList(expect));
assertEquals(actual, expect);
assertEquals(actual2, expect2);
}
}
~python
# -*- coding: cp949 -*-
LENGTH,START,END,TURN_LIMIT=3,100,999,8
def Answer():
from random import randint
while True:
answer = str(randint(START,END))
if len(set(answer)) == LENGTH: return answer
def Question():
while True:
try:
question=raw_input('를 력 . : ')
if len(question) == LENGTH and len(set(question)) == LENGTH:
return question
else: raise ValueError
except ValueError:
print '--0로 는, 겹 는 %d개를 .--'%LENGTH
def Compare(answer,question):
strike,ball,out=0,0,0
for idx,i in enumerate(question):
if question[idx] == answer[idx]:strike += 1
elif i in answer: ball +=1
else: out+=1
return [strike,ball,out]
def Show(sbo,count, end=True):
if isEnd:print '%d 라 !' % count
else: print '%d %d 라 %d 볼 %d ' % tuple([count]+sbo)
answer=Answer()
print answer
for count in xrange(1,TURN_LIMIT+1):
sbo = Compare(answer,Question())
isEnd = sbo[0] == LENGTH
Show(sbo,count,isEnd)
if isEnd:break
else:print '%d 다.' %count
- ㅋ... Python... 보고 만 기 괜 라고 각 들더군^^ -
- 나는 Python든, Perl든 반드 된다고 각다. 그래 다른 들 다. 를들 Java Collection Framework를 고는 만 나갔는데, STL과 Python 고 나까 게 게 되더구나.
- 들 로는 단 때 기보다 기보다 늘 IDLE나 rib(ruby)를 . 를들 et-house급드 in CenterStage 같 경 그래. 그리고 드 군 때 땅로 논. SeeAlso 구 in CenterStage
- 나 과는 리는 모다. 강 Python 보 면 본 군. Ruby SVN history를 보 많 남고.. 느 되는 것 같. --NeoCoin
- 나는 Python든, Perl든 반드 된다고 각다. 그래 다른 들 다. 를들 Java Collection Framework를 고는 만 나갔는데, STL과 Python 고 나까 게 게 되더구나.
- Python Good~! 는 만 .. ㅋ - (namsnag)
JTDStudy/과










