位置: 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实例演示)

  • 苹果短信已读是对方看了吗(苹果短信已读是看到了吗)

    苹果短信已读是对方看了吗(苹果短信已读是看到了吗)

  • 电话被拉黑对方关机怎么提示(电话被拉黑对方能收到短信吗)

    电话被拉黑对方关机怎么提示(电话被拉黑对方能收到短信吗)

  • 抖音上显示删掉的通讯录好友怎么办(抖音删除了作品为啥还会显示)

    抖音上显示删掉的通讯录好友怎么办(抖音删除了作品为啥还会显示)

  • 微博直播怎么看回放(微博直播怎么看实时评论)

    微博直播怎么看回放(微博直播怎么看实时评论)

  • 京东买空调包安装吗(京东买空调包安装收打孔费吗)

    京东买空调包安装吗(京东买空调包安装收打孔费吗)

  • 超感光摄像头是什么意思(超感光摄像头是什么)

    超感光摄像头是什么意思(超感光摄像头是什么)

  • 乐视手机怎么分屏(乐视手机如何分屏?)

    乐视手机怎么分屏(乐视手机如何分屏?)

  • 华为m6平板8.4支持手写笔吗(华为m6平板8.4寸高能版评测)

    华为m6平板8.4支持手写笔吗(华为m6平板8.4寸高能版评测)

  • 华为手机小眼睛图标是什么(华为手机小眼睛标志怎么去掉)

    华为手机小眼睛图标是什么(华为手机小眼睛标志怎么去掉)

  • ios13设备管理不见了(ios13.6 设备管理)

    ios13设备管理不见了(ios13.6 设备管理)

  • 模拟摄像头和数字摄像头的区别(模拟摄像头和数字摄像头接线区别)

    模拟摄像头和数字摄像头的区别(模拟摄像头和数字摄像头接线区别)

  • eva-al00是什么型号(eva al00是华为什么型号)

    eva-al00是什么型号(eva al00是华为什么型号)

  • 移动光猫重置了怎么办(移动光猫重置了上不了网)

    移动光猫重置了怎么办(移动光猫重置了上不了网)

  • 剪切的文件还能恢复吗(剪切出去的文件还能恢复吗)

    剪切的文件还能恢复吗(剪切出去的文件还能恢复吗)

  • wps怎么批量制作条码(wps怎么批量制作图片)

    wps怎么批量制作条码(wps怎么批量制作图片)

  • 手机安装不了qq怎么回事(手机安装不了QQ浏览器)

    手机安装不了qq怎么回事(手机安装不了QQ浏览器)

  • 抖音客服怎么联系(抖音客服怎么联系在线客服)

    抖音客服怎么联系(抖音客服怎么联系在线客服)

  • 苹果11有手写功能吗(苹果11手写功能键盘怎么设置)

    苹果11有手写功能吗(苹果11手写功能键盘怎么设置)

  • 转转卖出的东西怎么重新上架(转转卖出的东西的钱什么时候到账)

    转转卖出的东西怎么重新上架(转转卖出的东西的钱什么时候到账)

  • 怎么关闭杀毒软件(咋关闭杀毒软件)

    怎么关闭杀毒软件(咋关闭杀毒软件)

  • qq亲密度48高吗(qq亲密度48和47)

    qq亲密度48高吗(qq亲密度48和47)

  • 大雾山国家公园中的咆哮叉,田纳西州 (© Bernie Kasper/Getty Images)(大雾山国家公园总部加特林堡)

    大雾山国家公园中的咆哮叉,田纳西州 (© Bernie Kasper/Getty Images)(大雾山国家公园总部加特林堡)

  • Vue中实现自定义excel下载(vue自定义dialog)

    Vue中实现自定义excel下载(vue自定义dialog)

  • 增值税税控系统产品及维护服务价格
  • 发票开具与小票的关系是怎样的
  • 银行存款转存利息一样吗
  • 房屋租赁费如何计提
  • 长期股权投资成本法转权益法追溯调整
  • 上月未计提税金,下月怎么做分录
  • 总公司收回未分配利润如何入账?
  • 本期已认证但不想抵扣申报表怎么填写
  • 工业总产值怎么计算公式
  • 单位充话费送手机
  • 需不需要计提增值税发票
  • 一般纳税人开普票要交税吗
  • 应征增值税不含税销售额(3%征收率)怎么算
  • 基建人员工资计入哪个科目
  • 普通发票需要什么
  • 折价股权转让账务处理
  • 收到退回留抵退款的短信
  • 收到财付通打款认证冲减财务费用怎么做分录
  • 结转出租包装物的成本
  • 小规模纳税人三个月做一次账
  • 计提应收票据利息怎么算
  • 设备器具一次性扣除会计分录
  • 补缴去年个税
  • 事业单位项目前景怎么样
  • 电脑数据恢复怎么用
  • 事业单位基建账并入大账规定
  • linux shell语句
  • 技术服务辅助设施包括
  • 非累积带薪缺勤什么时候确认
  • 虚开发票的管理办法是什么?
  • PHP:mcrypt_module_close()的用法_Mcrypt函数
  • 目标检测算法的主要目的是找到图像中用户感兴趣的
  • 国外供应商如何审核
  • 企业所得税计算器在线计算
  • 合作社分红怎么计算
  • 社保缴费基数差1000一般差多少?
  • ChatGPT解开了我一直以来对自动化测试的疑惑
  • 拦截器拦截html
  • 库存盘亏进项税怎么抵扣
  • look 查明
  • python怎么自己写函数
  • MySQL中Nested-Loop Join算法小结
  • 企业短期借款的会计分录
  • sql row_number()over()
  • 营改增后房屋租赁税变化
  • 固定资产加速折旧计算方法
  • 中小企业抵税
  • 公司买的材料做什么分录
  • 留抵抵欠税附加税需要交嘛
  • 办公费税前扣除标准2023年
  • 运费发票没到可以先计提吗
  • 非预算类专用账户
  • 商业折让发票如何开
  • 结转成本按照销售收入来结转,税要怎么算
  • mysql 5.6 5.7 性能
  • 通过SQL Server的位运算功能巧妙解决多选查询方法
  • 如何制作u盘系统win7
  • win10预览版和正式版区别
  • centos禁用root
  • 如何强制清理内存
  • url什么意思啊了
  • win7提示计算机内存不足
  • cocos2dx4.0教程
  • 导入项目出现这个问题
  • shell脚本题
  • 每次开机windows桌面更新
  • 基于javascript的毕业设计选题
  • js输出表格
  • 安卓的所有权
  • Qt for Android - ANT_HOME is set incorrectly or ant could not be located
  • 医院票据怎么查询
  • 广东怎么交农村合作医疗保险
  • 车辆退款
  • 重庆税务电子税登录
  • 煤炭洗选工艺
  • 扬帆把舵怎么读
  • 分红太多
  • 股东向公司借款需要什么手续
  • 国家税务局宝鸡市税务局
  • 税务24号公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设