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

  • 小米刷机工具(小米刷机)(小米刷机工具显示error)

    小米刷机工具(小米刷机)(小米刷机工具显示error)

  • 抖音如何让别人评论不了(抖音如何让别人看不到我关注的人)

    抖音如何让别人评论不了(抖音如何让别人看不到我关注的人)

  • 快手视频仅粉丝可见的设置方法是什么(快手视频仅粉丝可见是怎么回事)

    快手视频仅粉丝可见的设置方法是什么(快手视频仅粉丝可见是怎么回事)

  • 微信运动可以看到别人的轨迹吗(微信运动可以看到来访者吗)

    微信运动可以看到别人的轨迹吗(微信运动可以看到来访者吗)

  • nova3e和哪个手机壳通用(华为nova3e好还是3i好)

    nova3e和哪个手机壳通用(华为nova3e好还是3i好)

  • 微信商城和小程序商城有哪些不同(微信商城小程序定制)

    微信商城和小程序商城有哪些不同(微信商城小程序定制)

  • 发视频显示对方忙线中是怎么回事(发视频显示对方已拒绝是什么意思)

    发视频显示对方忙线中是怎么回事(发视频显示对方已拒绝是什么意思)

  • 苹果手机为什么只能充电80(苹果手机为什么wifi打不开)

    苹果手机为什么只能充电80(苹果手机为什么wifi打不开)

  • 腾讯登录态失效怎么办(腾讯登陆异常怎么回事)

    腾讯登录态失效怎么办(腾讯登陆异常怎么回事)

  • wps不规则文字对齐(wps文字不对齐怎么办)

    wps不规则文字对齐(wps文字不对齐怎么办)

  • 为什么电脑上的word格式会与手机上不同(为什么电脑上的软件消失了)

    为什么电脑上的word格式会与手机上不同(为什么电脑上的软件消失了)

  • root后用什么删软件(root后用什么删除掉系统应用)

    root后用什么删软件(root后用什么删除掉系统应用)

  • 退出excel快捷键(退出excel最快的方法是)

    退出excel快捷键(退出excel最快的方法是)

  • 苹果耳机后面的按钮是干嘛用的(苹果耳机后面的英文)

    苹果耳机后面的按钮是干嘛用的(苹果耳机后面的英文)

  • word2007没保存怎么恢复(word2007没保存怎么办)

    word2007没保存怎么恢复(word2007没保存怎么办)

  • wpsoffice怎么搜索关键词(wpsoffice怎么搜索表格里的内容)

    wpsoffice怎么搜索关键词(wpsoffice怎么搜索表格里的内容)

  • pr如何添加转场特效(pr软件如何添加转场)

    pr如何添加转场特效(pr软件如何添加转场)

  • r17怎么没有视频美颜(r17坼机视频)

    r17怎么没有视频美颜(r17坼机视频)

  • 电脑怎么邮件发文件夹(电脑这么发邮件)

    电脑怎么邮件发文件夹(电脑这么发邮件)

  • 如何把照片变成表情包(如何把照片变成卡通图)

    如何把照片变成表情包(如何把照片变成卡通图)

  • 手机怎么给图片加水印(手机怎么给图片改名)

    手机怎么给图片加水印(手机怎么给图片改名)

  • 电脑输入法设置默认教程(电脑输入法设置搜狗输入法)

    电脑输入法设置默认教程(电脑输入法设置搜狗输入法)

  • vue3 + Tailwind Css + Vite 搭建快速开发前端样式环境

    vue3 + Tailwind Css + Vite 搭建快速开发前端样式环境

  • ChatGPT火爆来袭,携手参与为开源助力

    ChatGPT火爆来袭,携手参与为开源助力

  • dedecms织梦内容页调用列表页标题和seo标题(织梦专题页模板)

    dedecms织梦内容页调用列表页标题和seo标题(织梦专题页模板)

  • 一次性医用外科口罩哪个牌子好
  • 一般纳税人申报纳税的流程
  • 以前年度遗留的个税怎么处理
  • 股权置换税收
  • 税控抵减会计分录
  • 税法收入确认的时间
  • 已经缴纳的税款怎么做账
  • 本期缴纳上期应纳税额是自动生成的吗?
  • 科技公司的作用
  • 职工薪酬会计准则
  • 装饰费是否计算缴纳土地增值税
  • 企业应收票据贴现给银行所获得的现金计入现金流量表
  • 出售闲置材料账务怎么做
  • 退预收账款需要什么原始凭证
  • 处置全资子公司税务处理
  • 免税和不征税货一样吗
  • 延期付款利息的税率是多少
  • 国税代开增值税专票开错了如何处理?
  • 非征期不能抄报
  • 企业所得税业务招待费扣除比例
  • 非税收入的发票能抵扣吗
  • 个体户如何办税
  • 报表总收入
  • 委托加工物资的加工费计入什么科目
  • 加班工资算补贴么
  • 发出材料成本差异会计分录
  • php新手入门
  • 以前年度损益调整借贷方向
  • 会计账与银行账不符怎么调整
  • 不能抵扣的发票可以做成本吗
  • 国有企业正常60岁退休到什么鉴字
  • 行政事业单位的主要经济业务活动有哪些
  • 发票抬头可以是两个人吗
  • 十天学会css教程
  • 华硕自带win10系统
  • web前后端连接
  • vue动态路由是什么
  • 车间打杂工
  • 个税系统为什么没有累计数据
  • 哪些合同必须签订书面合同
  • 应发工资与应税的区别
  • 固定资产多少钱以上计入固定资产
  • 企业年度报告包括哪些内容
  • 社保基数怎么申请下调
  • mongodb聚合统计数量
  • 在哪里验证增值税票
  • 工程咨询服务发展的指导意见有哪些
  • 什么是企业会计确认计量和报告的空间范围
  • 最新个人捐款是什么意思
  • sqlserver2012完全卸载
  • 支付增值税税控系统技术维护费用
  • 公司控股另一家公司好与坏
  • 金税四期对增值税专票
  • 企业所得税的计提
  • 以后年度结转如何结转
  • 发票失控进项转出所得税
  • 已认证的招待费怎么入账
  • 设置账本应当遵循哪些原则
  • centosrpm安装
  • win10系统环境设置
  • win10快速启动怎么进入bios
  • mac双系统删除mac系统
  • win8怎么改文件格式
  • centos ssh升级
  • 深入理解ffmpeg pdf
  • unity摄像机怎么调出来
  • Node.js中的核心模块包括哪些内容?
  • cd弹出错误怎么回事
  • 初步使用筷子而动作不规范的幼儿保育员应该
  • javascript的核心组成部分
  • jquery滚动插件
  • jquery事件解绑
  • 四川省税务局2020年4号
  • 股权转让申报期限
  • 留抵税额如何抵扣
  • 山西国家税务网官网
  • 青岛新农合咨询电话
  • 异地可以打印银行清单吗?
  • 甘肃税务政策
  • 什么是集体约谈制
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设