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

  • 6s前置摄像头一片漆黑(6s前置摄像头模糊怎么回事)

    6s前置摄像头一片漆黑(6s前置摄像头模糊怎么回事)

  • iphone11如何重启手机(iphone11怎么重启方法)

    iphone11如何重启手机(iphone11怎么重启方法)

  • nova 5pro耳机孔在哪里(nova5ipro耳机插口)

    nova 5pro耳机孔在哪里(nova5ipro耳机插口)

  • 微信怎么看自己加过谁对方还没同意(微信怎么看自己有哪些群)

    微信怎么看自己加过谁对方还没同意(微信怎么看自己有哪些群)

  • cad是哪个国家的(cad是哪个国家的简称)

    cad是哪个国家的(cad是哪个国家的简称)

  • 4g信号强度dbm标准(4g信号强度指标)

    4g信号强度dbm标准(4g信号强度指标)

  • 快手怎么设置头像挂件(快手怎么设置头像的头环)

    快手怎么设置头像挂件(快手怎么设置头像的头环)

  • 陌陌由于对方设置你无法关注是什么意思(陌陌由于对方设置你无法评论该条动态)

    陌陌由于对方设置你无法关注是什么意思(陌陌由于对方设置你无法评论该条动态)

  • mac电池循环次数(mac电池循环次数26次是使用了多久)

    mac电池循环次数(mac电池循环次数26次是使用了多久)

  • 新手机号无法注册qq(新手机号无法注册微信怎么办)

    新手机号无法注册qq(新手机号无法注册微信怎么办)

  • 阻止此来电号码能收到短信吗(阻止此来电号码怎么恢复)

    阻止此来电号码能收到短信吗(阻止此来电号码怎么恢复)

  • 拼多多里的拼单是指(拼多多里的拼单返现是真的吗)

    拼多多里的拼单是指(拼多多里的拼单返现是真的吗)

  • 键盘上复制粘贴按哪两个键(如何在键盘上复制粘贴)

    键盘上复制粘贴按哪两个键(如何在键盘上复制粘贴)

  • 任务栏如何恢复默认值(任务栏怎么还原到桌面)

    任务栏如何恢复默认值(任务栏怎么还原到桌面)

  • 手机快手怎么录歌(手机快手怎么录屏教程视频)

    手机快手怎么录歌(手机快手怎么录屏教程视频)

  • 微信滴滴打车怎么修改目的地(微信滴滴打车怎么用)

    微信滴滴打车怎么修改目的地(微信滴滴打车怎么用)

  • iphone11多长(iphone11多长几厘米)

    iphone11多长(iphone11多长几厘米)

  • 快手同城招聘在哪里(快手同城招聘信息在哪里找)

    快手同城招聘在哪里(快手同城招聘信息在哪里找)

  • 向日葵付费和免费区别(向日葵收费版的会流畅点吗)

    向日葵付费和免费区别(向日葵收费版的会流畅点吗)

  • iphone怎么关闭运营商更新(如何关闭苹果手机运动轨迹)

    iphone怎么关闭运营商更新(如何关闭苹果手机运动轨迹)

  • 手机查找定位(手机查找定位系统)

    手机查找定位(手机查找定位系统)

  • 巴斯利卡塔的卡斯泰尔梅扎诺村,意大利 (© Roberto Moiola/Getty Images)(巴蒂斯塔卡里)

    巴斯利卡塔的卡斯泰尔梅扎诺村,意大利 (© Roberto Moiola/Getty Images)(巴蒂斯塔卡里)

  • expand命令  转换为空白字符(exfat转换fat32命令)

    expand命令 转换为空白字符(exfat转换fat32命令)

  • 差额征税如何开票备注内容应该怎么调
  • 存货成本核算方法有哪些
  • 增值税应税销售额包括哪些
  • 企业的培训费会计分录
  • 收到税务局附加税退税税款的分录
  • 发票开票人是管理员可以吗
  • 一般纳税人如何抵扣进项税
  • 商品房空置费
  • 人身保险和意外保险是一个东西吗
  • 购买非专利技术发生的手续费计入什么科目
  • 陈列费税率多少
  • 委托加工模具的费用计入什么科目?
  • 发票退回原因
  • 多开进来的发票怎么结算税点呢?
  • 没有及时报关怎么办
  • 知识产权服务项目
  • 大型医用设备维修效益成本分析 课件ppt
  • 申办企业所得税抵缴带哪些资料?
  • 怎么确定是不是本人
  • 增值税发票增量流程网上怎么申请
  • 毛利润率的计算公式举例
  • 进项税额进成本
  • 个人所得税缴纳标准起征点
  • 个人给单位垫付的款怎么做账
  • 工程分配协议书范本
  • Linux中samba服务区怎么创建多个用户
  • 奖金属于工资吗?要交税吗?
  • 利润的计算公式excel
  • 财政拨款收入的预算会计科目
  • 如何在win7系统中找到ie浏览器
  • Javascript Object和Map之间的转换
  • elementui中的el-tab-pane为什么内容会为0
  • 基于Laravel5.4实现多字段登录功能方法示例
  • HTML怎么设置文本框
  • thinkphp3.1
  • 人工智能专业计算机科学与技术
  • 无法将node项识别为
  • css中文字垂直排列
  • 工程完工收到工程发票
  • vue虚拟domdiff算法
  • 新项目分哪几个阶段
  • phpcms rce
  • 股权转让税收规定
  • 个人出租租房交什么税
  • 残疾人保证金的滞纳金怎么计算
  • 增值税买一送一处理方法
  • phpcms怎么用
  • mongo认证失败
  • 进项税额已经抵扣
  • 国网统一开发平台uap
  • 公司注册流程百度百科
  • SQL 2005 ERROR:3145 解决办法(备份集中的数据库备份与现有的数据库不同)
  • 国际货运代理需要什么样的人才
  • 淘宝上买资料可以退吗
  • 个人所得税多计提怎样冲销
  • 预计产品质量保证损失计入什么
  • 公司注销留抵税额怎么做进项转出
  • 应付账款是赊销方式吗
  • 税收罚款支出计算公式
  • 公司固定资产明细表
  • 什么是履约义务,举例
  • 编制合并财务报表的依据是纳入合并
  • sql数据库修改数据语句
  • sql convert函数使用小结
  • mysql索引用法
  • linux px
  • centos发送http请求
  • winspool.drv病毒
  • windows8ip地址怎么设置
  • json的用法
  • scrollWidth,clientWidth与offsetWidth的区别
  • python输出1-100
  • jquery layer
  • jquery弹出页面
  • 使用Math.floor与Math.random取随机整数的方法详解
  • vue如何用
  • js的判断类型
  • 浅析jQuery Ajax通用js封装
  • 企业年金企业账户部分可以提取么
  • 甘肃省契税征收标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设