주인장 스토리

ChatGPT 이야기 두번째. 프로그래밍 코드 생성.

레전후 2023. 2. 1. 12:02
반응형

ChatGPT는 프로그래밍 코드를 짜주기도 하는 것으로 유명하다.

간단한 코드는 별 의미 없다고 생각해서 꽤나 많은 오픈소스가 있을 것으로 예상되는 포커게임 개발 코드를 요구해 보았다.

 

결과는 아래와 같다..

 

-----------------------------------------------------

 

포커 게임을 자바스크립트로 구현하는 것은 복잡한 프로젝트이며, 구체적인 코드를 제공하기에는 부족한 정보가 많습니다. 하지만 간단한 프로그램을 구현하기 위해서는 다음과 같은 과정이 필요합니다:

  1. 포커 게임에 필요한 데이터 구조(예: 카드, 플레이어, 딜러, 카지노 등)를 정의합니다.
  2. 포커 게임의 로직(예: 카드 나누기, 딜러의 행동, 플레이어의 행동 등)을 구현합니다.
  3. 게임을 유저와 상호작용할 수 있는 그래픽 인터페이스를 구현합니다.

아래는 간단한 포커 게임의 자바스크립트 예제입니다:

 
const deck = [];
const suits = ['hearts', 'diamonds', 'spades', 'clubs'];
const values = ['ace', 2, 3, 4, 5, 6, 7, 8, 9, 10, 'jack', 'queen', 'king'];
 
for (let suit in suits) { for (let value in values) { deck.push(values[value] + ' of ' + suits[suit]); } }
 
console.log(deck);
 
 --------------------------------------------------------
 
카드 배열을 만드는 샘플 코드만 나왔다.
어쩌면.. 무리한 요구에 대한 현명한 답변이 나왔다고도 할 수 있다.
 
위의 결과를 보고.. 혹시나 해서 좀더 자세한 요구를 해보았다.
 
"자바스크립트로 개발한 포커게임에서 패를 나누는 코드를 만들어줘"
 
그랬더니 뒷통수를 한대 맞은 것 같은 놀라운 상황이 벌어졌다.
 
---------------------------------------------------------

패를 나누는 코드를 구현하기 위해서는 다음과 같은 과정이 필요합니다:

  1. 패의 덱(deck)을 정의합니다.
  2. 패를 섞는 shuffle 함수를 구현합니다.
  3. 패를 나누는 deal 함수를 구현합니다.

아래는 패를 나누는 자바스크립트 예제입니다:

const deck = [];
const suits = ['hearts', 'diamonds', 'spades', 'clubs'];
const values = ['ace', 2, 3, 4, 5, 6, 7, 8, 9, 10, 'jack', 'queen', 'king'];
 
// Create deck of cards
for (let suit in suits) {
   for (let value in values) {
        deck.push(values[value] + ' of ' + suits[suit]);
   }
}
 
// Shuffle the deck
function shuffle(deck) {
    for (let i = deck.length - 1; i > 0; i--) {
         let j = Math.floor(Math.random() * (i + 1));
         [deck[i], deck[j]] = [deck[j], deck[i]];
    }
    return deck;
}
 
// Deal the cards
function deal(deck, numOfPlayers, numOfCards) {
    let players = [];
    for (let i = 0; i < numOfPlayers; i++) {
          players[i] = []; } for (let i = 0; i < numOfCards; i++) {
              for (let j = 0; j < numOfPlayers; j++) {
                    let card = deck.shift(); players[j].push(card);
              }
          }
    return players;
}
 
const shuffledDeck = shuffle(deck);
const players = deal(shuffledDeck, 4, 5);
 
console.log(players);

이 코드는 4명의 플레이어에게 각 5장씩의 패를 나누는 것을 보여줍니다. 원하는 방식에 따라 변경할 수 있습니다.

 --------------------------------------------------------
 
헐??
 
처음의 결과에 더해서 구체적인 특정 행동에 대한 함수까지 같이 짜주는게 아닌가!!?
 
한번에 큰 프로젝트를 요구하면 ChatGPT가 대충 무시하고 큰 그림만 잡아준다고 하면..
작은 단위로 요구하면 그에 맞게 척척 답을 내려주는 것을 볼 수 있다.
 
그야말로 초깔끔한 코드다. 주석 처리.. 보기 좋게 칸을 내려주는 센스, 함수명, 변수명.. 등.
 
프로그래머의 멸종이 다가오는 소리가 들리는듯 하다.
 
ChatGPT는 사용할수록 놀라워서 전세계가 들썩거리는게 충분히 납득이 된다.
 
불과 1년 전만해도 AI 활용은 상상만 가득했다.
작년 하반기 노벨AI를 써서 그림을 만들어보면서 AI 기술에 대한 놀라움이 한번 있었는데 이번 ChatGPT로 쐐기를 박았다.
 
이제는 AI 고도화와 이를 어떻게 활용할지만 남았다.
AI 고도화는 여러분의 몫이 아니니.. AI 활용능력을 키워서 본인의 가치를 높이는 것을 준비해야 한다.

아마도 전 세계 큰 자본들이 가장 AI를 활용하고 싶은 분야는 단연코 금융 분야일 것이다. 

투자회사 AI 간 주식투자 전쟁을 상상하면 왠지 모를 웃음이 나온다. 먼 미래의 일은 아닐 것이다.

반응형