[CS 1-2 | 프로그램 설계 방법론] VS Code에서 Java 개발환경 셋팅하는 법
·
CS 대학강의
Vs code로 Java 개발환경 셋팅해주려고 JDK 버전 여러번 설치한 흔적들... 들어가며 이번 포스팅의 목적은 Vs Code에서 Java 개발환경을 셋팅하는 방법에 대해서 포스팅하도록 하겠다. 생각보다, 설정해주는 방법이 까따로웠고 Java 프로그래밍 언어에 대해서 깊이있게 되돌아 보며, 생각해볼 수 있었던 뜻깊은 경험이 되었다. VS Code 확장 패키지 - Extension Pack for Java 설치 Vs Code에서 지원하는 확장 프로그램에서 Extension Pack for Java를 설치한다. 이는, Java의 실행 디버거 및 컴파일러 역할인 Java Virtual Machine을 이용할 수 있도록 Vs Code 상의 확장 프로그램이다. 이 확장 프로그램을 토대로 JDK를 설정해줌으로써..
[CS 1-2 | 프로그램 설계 방법론] JAVA로 블랙잭 프로그램 제작
·
CS 대학강의
블랙잭 기획 블랙잭은 플레이어가 갖고있는 카드 점수의 합입 21을 넘지 않는 한도 내에서, 타 사용자와 겨루어 점수가 높으면 이기는 게임이다. 블랙잭에서 카드는 스페이드, 하트, 클럽, 다이아몬드 4가지 무늬가 있다. 무늬별로 A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K의 13가지 카드 숫자가 존재한다. (카드는 52장으로 구성된다.) 카드 배점 A 카드는 1점 또는 11점 중 유리한 대로 선택할 수 있다. J, Q, K카드는 10점이다. 블랙잭 게임 동작 손님의 이름을 입력받는다. 카드 1벌(52장)을 잘 섞어서 사용한다. 다 쓰면 1벌을 "새로" 만들어 다시 잘 섞어서 사용한다. 처음에 카드는 처음 2장씩 나누어준다. (게임 기본값) (카드 배분 순서는 손님 -> 딜러 -> ..
[CS 1-2 | 프로그램 설계 방법론] Java GUI로 슬라이드 퍼즐게임 제작 13주차
·
CS 대학강의
슬라이드 퍼즐게임 - GUI 구현 [Layout & ActionListener 처리] 코드 구현 - 초기 GUI Ver.1 슬라이드 퍼즐 게임의 Model 클래스 {PuzzlePice} - 퍼즐 조각 데이터를 관리하는 Model 클래스 package slidePuzzle_GUI; // 퍼즐 조각 Data Class public class PuzzlePiece { private int face; /** Constructor - PuzzlePiece 퍼즐 조각을 만듬 * @param value - 퍼즐 조각 위에 표시되는 값 */ public PuzzlePiece(int value) { face = value; } /** face - 조각의 액면 값을 리턴 */ public int face() { retur..
[CS 1-2 | 프로그램 설계 방법론] abstract 클래스, Interface, 상속이란
·
CS 대학강의
abstract 클래스 public abstract class CardPlayer implements CardPlayerBehavior { private Card[] hand; // 갖고 있는 카드 private int card_count; // 갖고 있는 카드의 장 수 /** Constructor CardPlayer - max_cards 카드를 수용가능한 Card 배열 객체를 만들어 CardPlayer 생성 * @param max_cards - 들고 있을 수 있는 카드의 최대 장수 */ public CardPlayer(int max_cards) { hand = new Card[max_cards]; card_count = 0; } /** wantsACard - 카드 한 장을 받겠는지 답한다. * @ret..
[CS 1-2 | 프로그램 설계 방법론] Java GUI 12주차
·
CS 대학강의
GUI - Graphical User Interface 클라이언트와 문자가 아닌 눈에 보이는 다른 것들로 소통 이제 본격적으로 클라이언트와의 이벤트 처리요소가 새롭게 추가되었다. 기존에는 콘솔에서만 소통했으면, GUI라는 새로운 클라이언트 이벤트가 추가되어 이에 대해서 고려하는 MVC 아키텍처 설계를 진행해야한다. 아예 새로운 MVC 아키텍처가 아닌 여기서 GUI 이벤트 처리를 위한 클래스가 확장된다. (확장의 확장의 확장) Event-Driven Programming 사용자 주도로 수시로 발생하는 일을 처리하는 GUI 프로그래밍이다. Event-handler = Action Listener 액션 이벤트가 발생하기를 기다리고 있다가, 액션 이벤트가 발생하면 처리 (액션 이벤트 예외처리) Java GUI ..
[CS 1-2 | 프로그램 설계 방법론] 배열 객체 & MVC 아키텍처 설계 실제 프로그램에 적용해보기 9주차
·
CS 대학강의
배열 동일한 타입의 값을 정해진 개수만큼 나란히 이어 붙여 놓은 구조 # 배열 특징 배열array은 객체object 배열 생성시 각 원소는 기본값으로 초기화 # 사례 학습 - 놀이 카드 해당 사례학습은.. 구조화되지 않은 설계로 인해 패스하도록 하겠다.. - 설계를 제대로 하지않으면, 개발을 할 때 막막하다~ 2차원 배열 2차원 배열은 1차원 배열에 또다른 1차원 배열을 합쳐서 생성된 "배열 객체"이다. 다음과 같이 2차원 배열 객체를 생성할 수 있다. int [][] a = new int[3][4]; 그러면, 아래와 같이 "배열 객체"가 존재하게 되는 것이다 가로줄의 수는 1차원 배열 형태로 찾으면 되고, 세로줄의 수는 2차원 배열 형태로 한 행을 기준으로 세로줄 의 수를 찾는다. 들쭉날쭉 배열 Rag..
프로그램 설계 방법론 - #08 [반복문 설계 & MVC 아키텍처 | 공굴리기]
·
CS 대학강의
반복 횟수 고정 - While 반복 횟수를 알고 있을 때 다음과 같은 반복구조를 나타낸다. 가장 흔한 반복구조 int n = GOAL_VALUE; int count = 0; while (count < n) { // 코드 count += 1; } 반복 횟수 사전 예측 불가 반복 횟수를 알고 있지 않을 때 다음과 같은 반복구조를 나타낸다. 사용자의 입력에 따른 반복을 할 때 흔히 쓰는 반복구조이다. boolean processing = true; while (processing) { // 입력 if (/* 종료 신호 수신 */) processing = false; else { // 코드 } } # 반복 횟수 사전 예측 불가 - 예시코드 시험 점수 평균을 구해주는 코드이다. 다음은 사용자의 입력을 받고, 사용..