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

  • word两端对齐怎么设置(word两端对齐不对齐怎么办)

    word两端对齐怎么设置(word两端对齐不对齐怎么办)

  • vivox50pro+是否有耳机孔呢(我vivox50pro)

    vivox50pro+是否有耳机孔呢(我vivox50pro)

  • 苹果11怎么调屏幕亮度(苹果11怎么调屏幕灵敏度)

    苹果11怎么调屏幕亮度(苹果11怎么调屏幕灵敏度)

  • 2.2ghz是什么意思(2.2ghz是多少)

    2.2ghz是什么意思(2.2ghz是多少)

  • 抖音不认证可以置顶作品吗(抖音不认证可以赚钱吗)

    抖音不认证可以置顶作品吗(抖音不认证可以赚钱吗)

  • 交互功能什么意思(交互时是什么?)

    交互功能什么意思(交互时是什么?)

  • qq文件存到微云怎么查看(qq文件存到微云占内存吗)

    qq文件存到微云怎么查看(qq文件存到微云占内存吗)

  • 下载到sd卡上的视频无法播放(下载到sd卡上的歌曲怎么看不到)

    下载到sd卡上的视频无法播放(下载到sd卡上的歌曲怎么看不到)

  • 怎么鉴定airpodspro真假(怎么鉴定airpods真假)

    怎么鉴定airpodspro真假(怎么鉴定airpods真假)

  • C语言的特点与创建的基本步骤是什么(c语言的特点与价值)

    C语言的特点与创建的基本步骤是什么(c语言的特点与价值)

  • word序号重新编号(word序号如何重新排序)

    word序号重新编号(word序号如何重新排序)

  • 计算机上的on键表示什么(计算机上的ON键和AC键是什么意思)

    计算机上的on键表示什么(计算机上的ON键和AC键是什么意思)

  • 文档如何保存图片(怎么保存文档的图片)

    文档如何保存图片(怎么保存文档的图片)

  • 人参果与什么食物相克(人参果与什么食物相克呢视频)

    人参果与什么食物相克(人参果与什么食物相克呢视频)

  • 苹果x录屏功能在哪里(苹果X录屏功能在哪里打开)

    苹果x录屏功能在哪里(苹果X录屏功能在哪里打开)

  • 红米k20支持硬件dc调光吗(红米k20支持硬件测试吗)

    红米k20支持硬件dc调光吗(红米k20支持硬件测试吗)

  • 淘宝怎么上传高清图片(淘宝如何上传)

    淘宝怎么上传高清图片(淘宝如何上传)

  • 微信下一行如何操作(微信下一行如何切换)

    微信下一行如何操作(微信下一行如何切换)

  • 苹果xr设备管理在哪里(苹果xr设备管理信任在哪里)

    苹果xr设备管理在哪里(苹果xr设备管理信任在哪里)

  • airpods怎么查激活日期(airpods怎么查激活时间)

    airpods怎么查激活日期(airpods怎么查激活时间)

  • mx250显卡什么级别gtx(mx250显卡什么级别的集显)

    mx250显卡什么级别gtx(mx250显卡什么级别的集显)

  • 爱剪辑可以剪辑音频吗(爱剪辑可以剪辑视频中间部分吗)

    爱剪辑可以剪辑音频吗(爱剪辑可以剪辑视频中间部分吗)

  • 小米9有几个版本(小米9有几个版本型号)

    小米9有几个版本(小米9有几个版本型号)

  • ios抖音怎么去掉水印(iphone抖音怎么去掉弹幕)

    ios抖音怎么去掉水印(iphone抖音怎么去掉弹幕)

  • 2023MathorcupC题电商物流网络包裹应急调运与结构优化问题建模详解+模型代码(一)(2021mathorcupc题答案)

    2023MathorcupC题电商物流网络包裹应急调运与结构优化问题建模详解+模型代码(一)(2021mathorcupc题答案)

  • 初级会计职称能加多少工资
  • 小型微利企业所得税率
  • 公司股东分红要交哪些税
  • 个体户开电子发票需要交税吗
  • 小微企业减免增值税申报表填写
  • 开办期间的费用,没有发票,咋抵扣啊
  • 预缴纳税和年度汇缴
  • 三证合一是哪三证孩子上学
  • 电子发票冲红是怎么回事
  • 打印社保缴费凭证需要什么证件
  • 出纳可以编制工资单吗
  • 降低企业成本的有效途径
  • 一般纳税人购买并销售免税货物所发生的运输费用
  • 成本类科目期末借方余额表示
  • 由于红字发票生成红字进项税转出如何做账?
  • 个人代持股票的交易流程
  • 融资租赁与经营租赁相比具有的优势
  • 住宿费进项发票账务处理
  • 税收编码更改的依据是什么
  • 冲回坏账准备分录
  • 一般纳税人差额申报表填写
  • 固定资产提前报废账务处理
  • 1697509029
  • 公司有残疾人员怎么办
  • 坏账损失企业所得税
  • 保税区开出的专票可以抵扣吗
  • 广告补贴申请报告
  • 明股实债和明债实股
  • 发票抵扣联章子盖的不清怎么办
  • 新公司开办费用包括哪些
  • 超市一般纳税人账务处理
  • thinkphp6验证器
  • deepin 设置
  • 哪些发票不可以通过数电平台开具
  • 出差补贴如何入账报销
  • wordpress项目开发
  • 私企股权转让程序
  • 外经证核销期限是多久
  • 10qps是多少并发
  • laravel 自定义guard
  • uni app ios
  • 应交增值税为负数怎么处理
  • 注解@entity
  • 企业应设置的账簿包括什么
  • mongodb用法
  • 工资单应该盖什么章
  • 非独立核算门市部销售自产应税消费品
  • 租赁公司租赁物计入什么会计科目
  • 固定资产低于净值出售会计处理
  • 发票入账需要哪些附件的文件
  • 开具发票涉及到哪些会计科目?
  • 增值税的视同销售行为有哪些?
  • 股份支付应如何进行账务处理?
  • 实收资本减少的要交什么税
  • 失业人员的养老金
  • mysql修改默认端口方法
  • win7用固态
  • XP系统提示QQprotect.exe损坏文件的解决方法图文教程
  • mac移动硬盘怎么改名
  • linux的安装流程和详细内容
  • centos 安装perl
  • win10自带的杀软叫什么
  • linux 截屏
  • redhat linux8
  • windows安装node.js
  • csshtml经典案例
  • python 密码
  • 原生js实现路由
  • android fragmentation
  • css使用教程
  • Python 操作MySQL详解及实例
  • vue.js购物车
  • unity gui
  • python flask快速入门与进阶
  • 狗刨教学视频分解动作视频
  • typescript的缺点
  • c#入门实例
  • 如何推进税务系统建设
  • 税务执法资格考试
  • 纳税人被列入非正常户超过三个月的情况
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设