ãã£ã±ã趣å³ã®ããã°ã©ãã³ã°ã¯æ¥½ããï¼Part4ï¼
ï¼Part3ããï¼
Â
ãã¯ãã¨ããããChatGPTã¯ä¸è½ã§ã¯ãªãã¨ãããã¨ã§ï¼ãã¨ãã¨æç« ãçæããæ©è½ã«ç¹åãããã®ã ãï¼è«¦ããã°ããã®ã«ããã¤ããå度ãã©ã¤ãããã¨ã«ãã¾ããã
ãRubyã§ã ããªãPrologããããã
ã¨ãããã¨ã§ãä»åº¦ã¯ãããªæãã§ãChatGPTã«ãé¡ããã¾ããã
Â
以ä¸ã®Prologã®ããã°ã©ã ãJavaè¨èªã«æ¸ãæãã¦ãã ããã
%;;;; -*- Â coding: utf-8 -*-
%
% tofu.prolog  -  ã¤ã¹ã«ã³ãã«ã®ãã¼ãå±ã²ã¼ã ï¼Prologçï¼
% Â by ãããã (take at takeoka.net)
% Â ver.1.0
% Â 2012/DEC/09
% Â for SB-Prolog or GNU Prolog
%
% Copyright (C) 1978 - 2000 by Nobuhide Tsuda
% http://vivi.dyndns.org/tofu/tofu.html
% èä½æ¨©ã¯æ´¥ç°ä¼¸ç§ãã ([email protected]) ã«ããã¾ãã
%
% ãã® Prologçã¯ããããã ããããããã
% æ°¸éåä¸éæ°ã®([email protected]) perlç tofu.plãå ã«
% æ¸ãç´ãããã®ã§ãã
%
%
% consult('/home/take/src/tofuya/tofu-prolog/tofu.prolog').
% ?- tofu.% millisleep
%#+sbcl (defun millisleep(x) (sleep (/ x 1000)))
millisleep(X) :- XX is X/1000.0, sleep(XX).
% ä¹±æ°åæå
:- dynamic(irandom/2).
defRand :- retractall(irandom(_,_)),defRand1.
defRand :- defRand1.defRand1 :-
  current_prolog_flag(prolog_name,'GNU Prolog'),
  %%for GnuProlog
  !,asserta((irandom(R,N) :- !,random(RR),R is floor(RR * N + 0.0))).
defRand1 :-
  %%for SWIProlog
  !,asserta((irandom(R,N) :- (!,R is random(N)))).% 0 - 100ã®æ´æ°ä¹±æ°
random100(R) :- irandom(R, 101).ï¼ä»¥ä¸ç¥ï¼
Â
以ä¸ã¯Javaè¨èªã«æ¸ãæããããã°ã©ã ã§ãã
import java.util.Random;
import java.util.Scanner;public class TofuGame {
  private static Random random = new Random();  private static void millisleep(long milliseconds) {
    try {
      Thread.sleep(milliseconds);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
  }  private static int random100() {
    return random.nextInt(101);
  }  private static int calc(int comp, int hare, int ame) {
    int x;
    if (hare >= 50) {
      x = 500;
    } else if (ame > 30) {
      x = 100;
    } else {
      x = 300;
    }
    return Math.min(comp / 40, x);
  }  private static void disp(String str) {
    System.out.print(str);
  }  private static void displn(String str) {
    System.out.println(str);
  }  private static void dispShojikin(String name, int gold) {
    int ggg = gold / 1000;
    System.out.print("  " + name + " " + gold + " å  ");
    for (int i = 0; i < ggg; i++) {
      System.out.print("â ");
    }
    for (int i = 0; i < Math.max(30 - ggg, 0); i++) {
      System.out.print("â¡");
    }
    System.out.println();
  }  private static void dispYohou(int hare, int kumori, int ame) {
    int hhh = hare * 10 / 25;
    int kkk = kumori * 10 / 25;
    int aaa = 1000 / 25 - (hhh + kkk);
    System.out.println();
    System.out.println("ææ¥ã®å¤©æ°äºå ±ï¼ æ´ã " + hare + "%  ããã " + kumori + "% Â é¨ " + ame + "%");
    for (int i = 0; i < hhh; i++) {
      System.out.print("â");
    }
    for (int i = 0; i < kkk; i++) {
      System.out.print("ã»");
    }
    for (int i = 0; i < aaa; i++) {
      System.out.print("â");
    }
    System.out.println();
  }  private static int inpTofu(int limit) {
    Scanner scanner = new Scanner(System.in);
    while (true) {
      System.out.print("ãã¼ããä½åä½ãã¾ããï¼ï¼ï¼ã" + limit + "ï¼> ");
      int x = scanner.nextInt();
      if (x > 0 && x <= limit) {
        return x;
      }
    }
  }  private static int profit(int n, int sold) {
    return Math.min(sold, n) * 50 - (n * 40);
  }  private static void dispResult(int player, int comp) {
    if (player > comp) {
      System.out.println("ããªãã®åã¡ã§ãã");
    } else if (player < comp) {
      System.out.println("ã³ã³ãã¥ã¼ã¿ã®åã¡ã§ãã");
    } else {
      System.out.println("å¼ãåãã§ãã");
    }
  }  private static void tofu() {
    defRand();
    displn("ã¤ã¹ã«ã³ãã«ã®ãã¼ãå±ã²ã¼ã (Javaç)");Â
ï¼ä¸ç¥ï¼
Â
ãã®ããã«ä¿®æ£ãããã¨ã§ããã¬ã¤ã¤ã¼ã¨ã³ã³ãã¥ã¼ã¿ã®ãã¼ãã®ä½æã天åã®è¨å®ãå©çã®è¨ç®ãªã©ãè¡ããã¾ããã²ã¼ã ã¯ææéã30,000å以ä¸ã«ãªããã©ã¡ããã®åå©æ¡ä»¶ãæºããããã¾ã§ç¶ãã¾ãã
(ChatGPT)
Â
ã¨ããã¾ãè¡ãããã«æããã®ã§ãããå¿ è¦ã¨ãªãã¡ã½ãããä½æ ãæãã¦ããã®ã§ãã
Â
calc ã¡ã½ããã表示ãã¦
ç³ã訳ããã¾ããããæä¾ãããã³ã¼ãã«ã¯
calc
ã¡ã½ãããå«ã¾ãã¦ãã¾ããããããããå¥ã®ã³ã¼ããã¡ã½ãããåç §ãã¦ããå¯è½æ§ãããã¾ãããããã¯ãcalc
ã¡ã½ããã«ã¤ãã¦è©³ç´°ãªèª¬æãæãã¦ããã ããã°ããã®å 容ã«åºã¥ãã¦ãæä¼ãã§ããããããã¾ããããæä¾ããã ããæ å ±ãä¸ååãªå ´åã¯ã追å ã®è©³ç´°ãæãã¦ããã ãã¾ããï¼ï¼ChatGPT)
Â
ãããããå ã®ã½ã¼ã¹ã³ã¼ãã«calcã¡ã½ããã«ç¸å½ããé¨åã¯å«ã¾ãã¦ãã¾ãããã©ããã§æãè½ã¡ãã®ã ããã¨ãããã¨ã§ãä»åº¦ã¯ChatGPTãçæããJavaè¨èªã®ã½ã¼ã¹ãè²¼ãä»ãã¦ã¿ãã®ã§ãã
Â
ãã®Javaã®ã³ã¼ããæ£ããä¿®æ£ãã¦ãã ããã
import java.util.Random;
import java.util.Scanner;public class TofuGame {
  private static Random random = new Random();  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("ã¤ã¹ã«ã³ãã«ã®ãã¼ãå±ã²ã¼ã (Javaç)");
    System.out.println("ã«ã¼ã«èª¬æãã¾ããï¼[y/n]");
    String input = scanner.nextLine();
    if (input.equalsIgnoreCase("y")) {
      displayRules();
    }
    tofu();
    System.out.println("ãã¬ã¤ãç¶ãã¾ããï¼[y/n]");
    input = scanner.nextLine();
    if (input.equalsIgnoreCase("y")) {
      main(args);
    }
  }ï¼ä»¥ä¸ç¥ï¼
Â
ä¿®æ£ãããã³ã¼ãã¯ä»¥ä¸ã®éãã§ãã
ï¼ã³ã¼ãã¯ç¥ï¼
ããã§ä¿®æ£ãå®äºãã¾ãããä¿®æ£ããã³ã¼ãã試ãã¦ã¿ã¦ãã ãããä¿®æ£å 容ã¯ãä¸è¦ãª
main
ã¡ã½ãããåé¤ããcalc
ã¡ã½ããã追å ãã¦ããç¹ã§ããã¾ããé¢æ°åã®æ¥æ¬èªè¡¨è¨ãè±èªè¡¨è¨ã«ä¿®æ£ãã¦ãã¾ãããä¸æãªç¹ãããã°ãé æ ®ãªããç¥ãããã ããã
ï¼ChatGPT)
Â
ãªãã¨ãªããã¾ãè¡ã£ããããªæ«å°¾ã®æç« ã§ããããçµå±ã¯æªå®æã®ããã°ã©ã ã§ãããªãã£ãã®ã§ããå½ç¶ã§ããããããã¨ãã¨ä»æ§ãä¸æã ã¨è¨ã£ã¦æãè½ã¡ã¦ããcalcã¡ã½ãããä½ã®æ å ±ãä¸ããªãç¶æ³ã§âåæã«çæâããã®ã§ãããã
Â
ï¼Part5ã¸ã¤ã¥ãï¼