位置: IT常识 - 正文

Cursor——ChatGPT的替代品【笔记】(chattr i)

编辑:rootadmin
Cursor——ChatGPT的替代品【笔记】 Cursor——ChatGPT的替代品【笔记】前言推荐Cursor——ChatGPT的替代品下载登录使用高级另外最后前言

推荐整理分享Cursor——ChatGPT的替代品【笔记】(chattr i),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:chat position,chat position,chat position,chattr -u,chattr -u,chat position,chattr -u,chattr -u,内容如对您有帮助,希望把文章链接给更多的朋友!

2023-3-31 22:00:44

以下内容源自《笔记》 仅供学习交流使用

推荐

什么? 你还没用过 Cursor? 智能 AI 代码生成工具 Cursor 安装和使用介绍

Cursor AI IDE 开发者工具

【黑科技】任何人都可以白嫖最强AI!!!

Cursor——ChatGPT的替代品下载

官网下载Cursor

登录

点击设置 点击sign in

可以使用github账号登录

使用

先别打开任何文件,就可以回答问题了

如果回答的是英文,就它让用中文回答 它能回答,编程问题

Cursor——ChatGPT的替代品【笔记】(chattr i)

如何回答,变成以外的问题,请看后面

可以发现,它默认的是python代码

新建一个文件 main,java 输入文件名,敲回车 编写区,Ctrl+L 就写出的是java代码了 怎么让它问答一个编程以外的问题

新建一个hello.txt文件 然后写一个编程之外的问题

测试有可能不成功

提问:写一封情书 提问:西安邮电大学简介

高级

参考 Cursor AI IDE 开发者工具

以下是扫雷程序

import java.util.Scanner;public class Minesweeper { private int[][] grid; private boolean[][] revealed; private boolean[][] mines; private int rows; private int cols; private int numMines; public Minesweeper(int rows, int cols, int numMines) { this.rows = rows; this.cols = cols; this.numMines = numMines; grid = new int[rows][cols]; revealed = new boolean[rows][cols]; mines = new boolean[rows][cols]; placeMines(); calculateNumbers(); } private void placeMines() { int count = 0; while (count < numMines) { int row = (int) (Math.random() * rows); int col = (int) (Math.random() * cols); if (!mines[row][col]) { mines[row][col] = true; count++; } } } private void calculateNumbers() { for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { grid[r][c] = countAdjacentMines(r, c); } } } public void reveal(int row, int col) { if (mines[row][col]) { gameOver(); return; } revealed[row][col] = true; if (grid[row][col] == 0) { for (int r = Math.max(0, row - 1); r <= Math.min(rows - 1, row + 1); r++) { for (int c = Math.max(0, col - 1); c <= Math.min(cols - 1, col + 1); c++) { if (!revealed[r][c]) { reveal(r, c); } } } } } private void gameOver() { System.out.println("Game over!"); System.exit(0); } public boolean isGameOver() { for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { if (mines[r][c] && !revealed[r][c]) { return false; } if (!mines[r][c] && !revealed[r][c]) { return false; } } } return true; } // This method returns the number of adjacent mines for a given cell private int countAdjacentMines(int row, int col) { int count = 0; for (int r = Math.max(0, row - 1); r <= Math.min(rows - 1, row + 1); r++) { for (int c = Math.max(0, col - 1); c <= Math.min(cols - 1, col + 1); c++) { if (mines[r][c]) { count++; } } } return count; }// This method returns the current state of the game as a string // Each cell is represented by a single character // If the cell is not revealed, it is represented by '-' // If the cell is revealed and contains a mine, it is represented by '*' // If the cell is revealed and does not contain a mine, it is represented by the number of adjacent mines public String toString() { StringBuilder sb = new StringBuilder(); for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { if (!revealed[r][c]) { sb.append("-"); } else if (mines[r][c]) { sb.append("*"); } else { sb.append(grid[r][c]); } } sb.append("\n"); } return sb.toString(); } // We need to add a main method to the Minesweeper class to continue the Minesweeper program // In the main method, we can create a new instance of the Minesweeper class and start the game // We can use a Scanner object to get input from the user and call the reveal method with the user's input // We can also use the isGameOver method to check if the game is over and end the game if necessary public static void main(String[] args) { Minesweeper game = new Minesweeper(10, 10, 10); Scanner scanner = new Scanner(System.in); while (!game.isGameOver()) { System.out.println(game.toString()); System.out.print("Enter row and column to reveal: "); int row = scanner.nextInt(); int col = scanner.nextInt(); game.reveal(row, col); } System.out.println(game.toString()); System.out.println("Game over!"); }}

运行结果

以下是GUI编写的扫雷程序

// Import necessary packages// The code provided does not contain any syntax errors that would prevent it from compiling. // If the user is experiencing compilation errors, they should check their Java environment and ensure that all necessary packages and dependencies are properly installed.import javax.swing.*;import java.awt.*;import java.awt.event.*;// Create a Minesweeper class that extends JFrame and implements ActionListenerpublic class Minesweeper extends JFrame implements ActionListener { // Declare necessary variables private Container contentPane; private JPanel gamePanel, buttonPanel; private JButton[][] buttons; private int[][] counts; private int size = 10; private int numMines = 10; // Create a constructor for the Minesweeper class public Minesweeper() { // Set the title of the JFrame setTitle("Minesweeper"); // Get the content pane of the JFrame contentPane = getContentPane(); // Set the layout of the content pane to BorderLayout contentPane.setLayout(new BorderLayout()); // Call the createGamePanel method to create the game panel createGamePanel(); // Call the createButtonPanel method to create the button panel createButtonPanel(); // Pack the JFrame pack(); // Set the JFrame to be visible setVisible(true); } // Create a method to create the game panel private void createGamePanel() { // Create a new JPanel for the game panel gamePanel = new JPanel(); // Set the layout of the game panel to GridLayout gamePanel.setLayout(new GridLayout(size, size)); // Create a new 2D array of JButtons for the buttons buttons = new JButton[size][size]; // Create a new 2D array of integers for the counts counts = new int[size][size]; // Initialize the buttons and counts arrays for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { buttons[i][j] = new JButton(); buttons[i][j].addActionListener(this); gamePanel.add(buttons[i][j]); counts[i][j] = 0; } } // Add the game panel to the content pane contentPane.add(gamePanel, BorderLayout.CENTER); } // Create a method to create the button panel private void createButtonPanel() { // Create a new JPanel for the button panel buttonPanel = new JPanel(); // Set the layout// Set the layout of the button panel to FlowLayout buttonPanel.setLayout(new FlowLayout()); // Create a new JButton for the "New Game" button JButton newGameButton = new JButton("New Game"); // Add an ActionListener to the "New Game" button newGameButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { newGame(); } }); // Add the "New Game" button to the button panel buttonPanel.add(newGameButton); // Add the button panel to the content pane contentPane.add(buttonPanel, BorderLayout.SOUTH);// Create a new JButton for the "Reset" button JButton resetButton = new JButton("Reset"); // Add an ActionListener to the "Reset" button resetButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { reset(); } }); // Add the "Reset" button to the button panel buttonPanel.add(resetButton); // Add the button panel to the content pane contentPane.add(buttonPanel, BorderLayout.SOUTH); // Create a new JButton for the "Settings" button JButton settingsButton = new JButton("Settings"); // Add an ActionListener to the "Settings" button settingsButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Call the showSettingsDialog method to show the settings dialog showSettingsDialog(); } }); // Add the "Settings" button to the button panel buttonPanel.add(settingsButton); // Add the button panel to the content pane contentPane.add(buttonPanel, BorderLayout.SOUTH); } // Create a method to generate the mines and update the counts private void generateMines(int row, int col) { // Declare necessary variables int mines = 0; int i, j; // Generate the mines while (mines < numMines) { i = (int)(Math.random() * size); j = (int)(Math.random() * size); if (counts[i][j] != -1 && !(i == row && j == col)) { counts[i][j] = -1; mines++; } } // Update the counts for (i = 0; i < size; i++) { for (j = 0; j < size; j++) { if (counts[i][j] == -1) { updateCounts(i, j); } } } } // Create a method to update the counts private void updateCounts(int row, int col) { // Declare necessary variables int i, j; // Update the counts for (i = row - 1; i <= row + 1; i++) { for (j = col - 1; j <= col + 1; j++) { if (i >= 0 && i < size && j >= 0 && j < size && counts[i][j] != -1) { counts[i][j]++; } } } } // Create a method to reveal the button at the specified row and column private void reveal(int row, int col) { // Check if the button is already revealed or flagged if (buttons[row][col].getText().length() > 0) { return; } // Check if the button contains a mine if (counts[row][col] == -1) { // Reveal all the mines and end the game for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (counts[i][j] == -1) { buttons[i][j].setText("*"); } } } JOptionPane.showMessageDialog(this, "You lose!"); newGame(); return; } // Reveal the button and check if the game is won // Reveal the button and check if the game is won buttons[row][col].setText(Integer.toString(counts[row][col])); if (checkWin()) { JOptionPane.showMessageDialog(this, "You win!"); newGame(); } } // Create a method to check if the game is won private boolean checkWin() { // Declare necessary variables int revealed = 0; // Check if all non-mine buttons are revealed for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (buttons[i][j].getText().length() > 0 || counts[i][j] == -1) { revealed++; } } } if (revealed == size * size) { return true; } return false; } // Create a method to start a new game private void newGame() { // Reset the counts and buttons arrays counts = new int[size][size]; for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { buttons[i][j].setText(""); counts[i][j] = 0; } } // Generate the mines and update the counts generateMines(-1, -1); } // Create a method to reset the game private void reset() { // Reset the counts and buttons arrays for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { buttons[i][j].setText(""); counts[i][j] = 0; } } } private void showSettingsDialog() { // Declare necessary variables JTextField sizeField = new JTextField(Integer.toString(size)); JTextField numMinesField = new JTextField(Integer.toString(numMines)); Object[] message = { "Size:", sizeField, "Number of Mines:", numMinesField }; // Show the settings dialog and update the settings int option = JOptionPane.showConfirmDialog(this, message, "Settings", JOptionPane.OK_CANCEL_OPTION); if (option == JOptionPane.OK_OPTION) { try { int newSize = Integer.parseInt(sizeField.getText()); int newNumMines = Integer.parseInt(numMinesField.getText()); if (newSize > 0 && newSize <= 30 && newNumMines >= 0 && newNumMines < newSize * newSize) { size = newSize; numMines = newNumMines; newGame(); } else { JOptionPane.showMessageDialog(this, "Invalid input!"); } } catch (NumberFormatException e) { JOptionPane.showMessageDialog(this, "Invalid input!"); } } } // Create an actionPerformed method to handle button clicks public void actionPerformed(ActionEvent e) { // Get the button that was clicked JButton button = (JButton)e.getSource(); // Find the row and column of the button int row = -1, col = -1; for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (buttons[i][j] == button) { row = i; col = j; break; } } } // Call the reveal method to reveal the button reveal(row, col); } // Create a main method to create a new Minesweeper object public static void main(String[] args) { new Minesweeper(); } // Create a method to flag the button at the specified row and column private void flag(int row, int col) { // Check if the button is already revealed if (buttons[row][col].getText().length() > 0) { return; } // Check if the button is already flagged if (buttons[row][col].getText().equals("F")) { buttons[row][col].setText(""); return; } // Flag the button buttons[row][col].setText("F"); } // Create a method to handle right-clicks on buttons private void handleRightClick(MouseEvent e) { // Get the button that was clicked JButton button = (JButton)e.getSource(); // Find the row and column of the button int row = -1, col = -1; for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (buttons[i][j] == button) { row = i; col = j; break; } } } // Call the flag method to flag the button flag(row, col); } // Override the mousePressed method to handle right-clicks on buttons public void mousePressed(MouseEvent e) { if (SwingUtilities.isRightMouseButton(e)) { handleRightClick(e); } } // Create a method to handle keyboard events public void keyPressed(KeyEvent e) { // Check if the "r" key is pressed if (e.getKeyCode() == KeyEvent.VK_R) { reset(); } // Check if the "n" key is pressed if (e.getKeyCode() == KeyEvent.VK_N) { newGame(); } // Check if the "s" key is pressed if (e.getKeyCode() == KeyEvent.VK_S) { showSettingsDialog(); } } // Create a method to initialize the game private void initGame() { // Set the size and number of mines size = 10; numMines = 10; // Create the counts and buttons arrays counts = new int[size][size]; buttons = new JButton[size][size]; // Create the game panel gamePanel = new JPanel(); gamePanel.setLayout(new GridLayout(size, size)); // Create the buttons and add them to the game panel for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { buttons[i][j] = new JButton(); buttons[i][j].addActionListener(this); buttons[i][j].addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { if (SwingUtilities.isRightMouseButton(e)) { handleRightClick(e); } } }); gamePanel.add(buttons[i][j]); } } // Add the game panel to the content pane contentPane.add(gamePanel, BorderLayout.CENTER); // Create the button panel createButtonPanel(); // Generate the mines and update the counts generateMines(-1, -1); }}

运行结果

另外

VSCode软件插件Chatmoss,也可以体验,但是好像有额度。

以下是GUI的扫雷程序

最后

2023-3-31 22:43:31

祝大家逢考必过 点赞收藏关注哦

本文链接地址:https://www.jiuchutong.com/zhishi/299706.html 转载请保留说明!

上一篇:CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念)、早期/中期/近期应用领域(偏具体应用)、经典CNN架构(偏具体算法)概述、常用工具/库/框架/产品、环境安装、常用数据集、编程技巧(cv计算机视觉定义)

下一篇:Selenium.Webdriver最新语法教程(附Chrome实例演示)

  • 苹果13promax自拍镜像在设置哪里(苹果13promax自拍怎么样)

    苹果13promax自拍镜像在设置哪里(苹果13promax自拍怎么样)

  • 苹果手机apn怎么设置(苹果手机apn怎么打开)

    苹果手机apn怎么设置(苹果手机apn怎么打开)

  • 钉钉安心工资条在哪里进入(钉钉安心工资条怎么提现)

    钉钉安心工资条在哪里进入(钉钉安心工资条怎么提现)

  • 华为matebook13连不上无线网怎么办(华为matebook13连接蓝牙鼠标)

    华为matebook13连不上无线网怎么办(华为matebook13连接蓝牙鼠标)

  • word2007页码怎么设置(word2007页码怎么设置奇偶页不同)

    word2007页码怎么设置(word2007页码怎么设置奇偶页不同)

  • 微信朋友圈的地址怎么设置(微信朋友圈的地址怎么改)

    微信朋友圈的地址怎么设置(微信朋友圈的地址怎么改)

  • 苹果x没有指纹锁吗(苹果13有没有指纹)

    苹果x没有指纹锁吗(苹果13有没有指纹)

  • 连信附近的人打招呼没有回复(连信附近的人打招呼删了怎么恢复)

    连信附近的人打招呼没有回复(连信附近的人打招呼删了怎么恢复)

  • 魅族17有光学防抖吗(魅族17有光学防抖功能吗)

    魅族17有光学防抖吗(魅族17有光学防抖功能吗)

  • 华为nova6有没有指纹解锁(华为nova6有没有红外线功能)

    华为nova6有没有指纹解锁(华为nova6有没有红外线功能)

  • 苹果原充电器多少电压(苹果原充电器多久充满)

    苹果原充电器多少电压(苹果原充电器多久充满)

  • load tray1是什么意思(load tray1 a4 210×297)

    load tray1是什么意思(load tray1 a4 210×297)

  • 苹果11没有指纹解锁方便吗(苹果11没有指纹锁吗)

    苹果11没有指纹解锁方便吗(苹果11没有指纹锁吗)

  • 华为畅享10是指纹解锁吗(华为畅享10指纹解锁不见了)

    华为畅享10是指纹解锁吗(华为畅享10指纹解锁不见了)

  • 华为手机备忘录不小心删掉怎么找回(华为手机备忘录怎么导入oppo手机)

    华为手机备忘录不小心删掉怎么找回(华为手机备忘录怎么导入oppo手机)

  • 华为p30pro和华为mate20pro区别(华为p30pro和华为p30的区别)

    华为p30pro和华为mate20pro区别(华为p30pro和华为p30的区别)

  • 数控编程6个步骤(数控编程6个步骤是什么)

    数控编程6个步骤(数控编程6个步骤是什么)

  • 荣耀v20支持屏幕解锁吗(荣耀v20屏幕是)

    荣耀v20支持屏幕解锁吗(荣耀v20屏幕是)

  • p30pro像素是多少(华为p30pro像素是多少)

    p30pro像素是多少(华为p30pro像素是多少)

  • qq空间违禁照片怎么恢复(qq空间上传的照片涉疑违规自己也不能看)

    qq空间违禁照片怎么恢复(qq空间上传的照片涉疑违规自己也不能看)

  • oppor11s隐藏相册在哪(oppoa11隐藏相册)

    oppor11s隐藏相册在哪(oppoa11隐藏相册)

  • iphonex处理器是a几(苹果x的处理器是a几)

    iphonex处理器是a几(苹果x的处理器是a几)

  • 华为5.8寸手机有哪些(华为5.8寸手机有啥型号)

    华为5.8寸手机有哪些(华为5.8寸手机有啥型号)

  • 今日头条如何私信(今日头条如何私聊关注的人)

    今日头条如何私信(今日头条如何私聊关注的人)

  • 关联qq为什么看不到了(关联QQ为什么看不到群消息)

    关联qq为什么看不到了(关联QQ为什么看不到群消息)

  • 分身大师怎么使用(分身大师怎么使用对方手机定位功能)

    分身大师怎么使用(分身大师怎么使用对方手机定位功能)

  • 汽车运输企业付给车主的运费算成本吗
  • 应付职工薪酬和工资总额的区别
  • 租地建厂房合同
  • 企业租车费用怎么处理方法
  • 劳务发票可以做费用吗怎么做
  • 汇算清缴应纳税所得额5万要交多少税
  • 软件企业两免三减半税收政策到期
  • 增值税专普票清卡失败的原因是什么?
  • 应收账款未计提坏账,但是确实收不回来
  • 坏账损失怎么核算
  • 增值税是什么鬼
  • 纳税能力体现的内容
  • 个体工商户需要做账吗
  • 管理费用的结转需要在明细账中体现吗
  • 税局代开专票作废怎么做账
  • 什么情况可以出境
  • 给股东分配股利
  • 购买礼品的会计科目
  • 分摊本月领用材料的成本差异
  • 收到投资方投入原材料
  • 外包社保会计分录
  • 预收账款为什么不属于金融负债
  • 产权登记在开发商名下怎么过户
  • 微信小程序使用记录删除
  • 二手办公楼交易税多少
  • 核定征收印花税的文件
  • 长期投资对投资方财务状况的实质性影响有哪些
  • 加计扣除减免政策
  • thinkphp跨域解决方案
  • echarts怎么样
  • 股权转让实操
  • hashmap教程
  • 冲减管理费用为什么放在借方
  • 进出口额等于进口额加出口额吗
  • sql server打开方式
  • mysql优化总结
  • python 动态
  • 公司购入的发明产品
  • 商铺转让费的会计分录
  • 知道实发工资怎么算应发工资计算器
  • 公司个人所得税申报操作流程
  • sql优化口诀
  • db2数据库创建索引语句
  • 企业所得税税前扣除管理办法2018
  • 小规模纳税人是季度报税吗
  • 挂靠指的是什么意思?
  • 进口海关是国内还是国外
  • 存货资产评估方法
  • 改变记帐方式的原因
  • 增值税月末结转处理
  • 持有至到期投资减值准备
  • 商贸企业发出商品怎么确认收入
  • 净利润为负数还计提盈余公积吗
  • 房地产企业所得税税负率是多少
  • 企业进项税额如何账务处理
  • 股东借款转实收资本
  • 事业单位收费可以收取相关服务费吗
  • 营改增后工程项目计价规则也随之发生了改变对还是错
  • 建账的要点
  • vnc server apk
  • 判断自己的脸型
  • ghost硬盘对拷反了
  • win7原始账号和密码
  • win8安全模式修复
  • linux bash sh
  • 重装win7系统后鼠标键盘不能用
  • java iterate()用法
  • bat基本语法
  • 深入理解关于教育两个大计
  • 安卓开发解析xml
  • html图像元素
  • jquery mobile实例
  • python迭代器生成器
  • python paramiko模块 判断过期
  • unity导出资源包
  • 安卓开发上下滑动功能界面
  • js中alert怎么用
  • 水电费收税
  • 重庆国家税务局发票流向查询
  • 车船税发票丢了怎么补办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设