AIGPT中文版(无需魔法)最简单的方式实现AI绘画

Posted young-people

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AIGPT中文版(无需魔法)最简单的方式实现AI绘画相关的知识,希望对你有一定的参考价值。

什么是AIGPT?

AIGPT是一款非常强大的人工智能技术的语言处理工具软件,它具有 **AI绘画** 功能、**AI写作**、**写论文**、**写代码**、**哲学探讨**、**创作**等功能,可以说是生活和工作中的好帮手。
我们都知道使用ChatGPT是需要账号以及使用魔法的,其中的每一项对我们初学者来说都是非常不利的,但是AIGPT很给力的地方就是不需要我们注册OpenAI账户也无需我们去使用魔法就能轻松快捷的使用上人工智能工具。

注意:手机端跟pc端的数据是不相通的

安装教程

以Windows安装为示例:还是非常简单的 详细图文教程 可查看 AIGPT中文版(无需魔法,直接使用)安装使用教程

1.双击运行 exe文件

2.选择安装路径 > 安装 > 等待安装

3.安装完成 运行程序

4.注册使用 (随便注册,没有限制,但是不可注册已存在的账户)

5.安装结束登录后直接使用

使用教程

写小说

选择展开提问 可以快速的实现聊天创作功能 下面以写小说为例

 

 

这里我选择了创作中的 "写一篇科幻小说" 效果如下

 

 

AI绘画

首先进入AI绘画界面 (下方是描述一些绘画的大体方向,右方我们还可以选择 生成的类型 以及生成的个数大小等。)> 选择类型 (提供了 通用、二次元、虚拟建模、真实景物、人物写真等)。

AI二次元效果图
类型: 二次元动漫
描述:一个扎着马尾辫的姑娘,头发是五颜六色的,可爱类型

 

 

保存绘画

那小伙伴也会问了 那生成后怎么保存在我本地呢 我该怎么获取到这张图片呢?

首先 点击生成好的图片 当然你可以选择下方单个的 最后选择 下载按钮即可。

 

 

安卓手机端

进入首页 就提示我们它的功能是:

1.写代码、文案、论文、小说、根据描述绘图
2.内容润色、翻译、写诗词
3.扮演面试官、书籍、电影角色、陪聊、解忧讲故事等还是蛮全能的。

提问聊天

 

 AI绘画

根据描述 绘画出你想要的图片 可直接下载。

 

当然了 它也给大家推荐了30张已经绘制好的图片 供你选择下载

 

 

其它功能 可以自行测试使用。

AI五子棋第一篇-利用最简单的C语言实现

一.如何实现

1.说明:由于本文只是对初学C语言的人学习,所以将不会涉及任何算法,电脑将采用随机下子的方式。(后期会为大家介绍Alpha-Beta剪枝算法实现人工智能AI)
2.主要部分:
(1)菜单
(2)打印棋盘
(3)玩家下子
(4)电脑下子
(5)判断输赢

二.实现代码及分析

(1)菜单的制作


运用do…while循环调用菜单,根据用户选择实现玩游戏和退出游戏

(2)棋盘的初始化和打印
棋盘采用标准的15*15的格子,我们可以宏定义ROW和COL分别为15和15来表示行和列。

分别封装两个函数对棋盘进行初始化和打印
初始化:(这里将棋盘初始化为空格,可初始化为其他)

打印棋盘:


效果如下:

(3)玩家下子

void PlayerMove(char board[ROW][COL], int row, int col) 
	int x, y;
	while (1) 
		printf("玩家走:\\n");
		printf("请输入坐标:\\n");
		scanf("%d %d", &x, &y);
		if (x >= 1 && x <= row && y >= 1 && y <= col) 
			if (board[x - 1][y - 1] == ' ') 
				board[x - 1][y - 1] = 'O';
				break;
			
			else 
				printf("坐标被占用,请重新输入\\n");
			
		
		else 
			printf("坐标非法,请重新输入\\n");
		
	

玩家下子主要采用的思路是,判断棋盘上是否有子,已经输入的坐标是否合法。
(4)电脑下子

void ComputerMove(char board[ROW][COL], int row, int col) 
	int x, y;
	printf("电脑走\\n");
	while (1) 
		x = rand() % row;
		y = rand() % col;
		if (board[x][y] == ' ') 
			board[x][y] = 'X';
			break;
		
	

与玩家下子相同,此处采用的随机下子,后期可进行优化(比如:极大极小值算法、Alpha-Beta剪枝算法等)

(5)判断输赢
通过遍历整个棋盘,观察是否有连五子情况出现,代码如下:

char iswin(char board[ROW][COL], int row, int col) 
	//行
	int ren=0,dian=0,i,j;
	for (i = 0;i < row;i++) 
		ren = 0;
		for (j = 0;j < col;j++) 
			if (board[i][j] == 'O')
				ren++;
			else
				ren = 0;
			if (ren >= 5)
				return 'o';
		
		
	
	for (i = 0;i < row;i++) 
		dian = 0;
		for (j = 0;j < col;j++) 
			if (board[i][j] == 'X')
				dian++;
			else
				dian = 0;
			if (dian >= 5)
				return 'x';
		
		
	
	//列
	ren = dian = 0;
	for (i = 0;i < row;i++) 
		ren = 0;
		for (j = 0;j < col;j++) 
			if (board[j][i] == 'O')
				ren++;
			else
				ren = 0;
			if (ren >= 5)
				return 'o';
		
		
	
	for (i = 0;i < row;i++) 
		dian = 0;
		for (j = 0;j < col;j++) 
			if (board[j][i] == 'X')
				dian++;
			else
				dian = 0;
			if (dian >= 5)
				return 'x';
		
		
	
	//右下
	ren = dian =i=j= 0;
	for (int k = 0;k < row;k++) 
		i = k;
		j = 0;
		ren = 0;
		while (i < row && j < col) 
			if (board[i][j] == 'O') 
				ren++;
			
			else 
				ren = 0;
			
			i++;
			j++;
			if (ren >= 5)
				return 'o';
		
		
	
	i = j = 0;
	for (int k = 0;k < row;k++) 
		i = k;
		j = 0;
		dian = 0;
		while (i < row && j < col) 
			if (board[i][j] == 'X') 
				dian++;
			
			else
				dian = 0;
			i++;
			j++;
			if (dian >= 5)
				return 'x';
		
		
	
	//右上
	for (int k = row;k >=0;k--) 
		j = col;
		i = k;
		ren = 0;
		while (i >=0 && j >=0) 
			if (board[i][j] == 'O') 
				ren++;
			
			else
				ren = 0;
			i--;
			j--;
			if (ren >= 5)
				return 'o';
		

	
	
	for (int k = row;k >= 0;k--) 
		i = k;
		j = col;
		dian = 0;
		while (i >= 0 && j >= 0) 
			if (board[i][j] == 'X') 
				dian++;
			
			else
				dian = 0;
			i--;
			j--;
			if (dian >= 5)
				return 'o';
		
		
	
	for (int k = row;k >= 0;k--) 
		i = k;
		j = 0;
		dian = 0;
		while (i >= 0 && j <col) 
			if (board[i][j] == 'O') 
				dian++;
			
			else
				dian = 0;
			i--;
			j++;
			if (dian >= 5)
				return 'o';
		

	
	for (int k = row;k >= 0;k--) 
		i = k;
		j = 0;
		dian = 0;
		while (i >= 0 && j <col) 
			if (board[i][j] == 'X') 
				dian++;
			
			else
				dian = 0;
			i--;
			j++;
			if (dian >= 5)
				return 'x';
		

	
	for (int k = 0;k < row;k++) 
		i = k;
		j = col;
		dian = 0;
		while (i < row && j >= 0) 
			if (board[i][j] == 'O') 
				dian++;
			
			else
				dian = 0;
			i++;
			j--;
			if (dian >= 5)
				return 'o';
		

	
	for (int k = 0;k <row;k++) 
		i = k;
		j = col;
		dian = 0;
		while (i <row && j >= 0) 
			if (board[i][j] == 'X') 
				dian++;
			
			else
				dian = 0;
			i++;
			j--;
			if (dian >= 5)
				return 'x';
		

	
	for (int k = row;k >= 0;k--) 
		i = k;
		j = 0;
		dian = 0;
		while (i >= 0 && j <col) 
			if (board[i][j] == 'O') 
				dian++;
			
			else
				dian = 0;
			i--;
			j++;
			if (dian >= 5)
				return 'o';
		

	
	for (int k = row;k >= 0;k--) 
		i = k;
		j = 0;
		dian = 0;
		while (i >= 0 && j <col) 
			if (board[i][j] == 'X') 
				dian++;
			
			else
				dian = 0;
			i--;
			j++;
			if (dian >= 5)
				return 'x';
		

	
	for (int k = 0;k < row;k++) 
		i = k;
		j = col;
		dian = 0;
		while (i < row && j >= 0) 
			if (board[i][j] == 'O') 
				dian++;
			
			else
				dian = 0;
			i++;
			j--;
			if (dian >= 5)
				return 'o';
		

	
	for (int k = 0;k <row;k++) 
		i = k;
		j = col;
		dian = 0;
		while (i <row && j >= 0) 
			if (board[i][j] == 'X') 
				dian++;
			
			else
				dian = 0;
			i++;
			j--;
			if (dian >= 5)
				return 'x';
		

	
	return 'c';
	//左

三.整个代码

(1)test.c文件下代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include"game.h"
void menu() 
	printf("**************************\\n");
	printf("******* 1. play  *********\\n");
	printf("******* 0. exit  *********\\n");
	printf("**************************\\n");

void game() 
	//棋盘数组
	char board[ROW][COL],ret;
	//初始化棋盘
	InitBoard(board, ROW, COL);
	//打印棋盘
	PrintBoard(board, ROW, COL);
	//下棋
	int a;
	printf("1.先手 0.后手");
	scanf("%d", &a);
	if(a==1)
		PlayerMove(board, ROW, COL);
	else
		ComputerMove(board, ROW, COL);
	while (1) 
		if (a == 0) 
			//PlayerMove(board, ROW, COL);
			PlayerMove(board, ROW, COL);
			PrintBoard(board, ROW, COL);
			ret=iswin(board, ROW, COL);
			if (ret != 'c') 
				break;
			
			//ComputerMove(board, ROW, COL);
			ComputerMove(board, ROW, COL);
			PrintBoard(board, ROW, COL);
			ret = iswin(board, ROW, COL);
			if (ret != 'c') 
				break;
			
		
		else 
			//ComputerMove(board, ROW, COL);
			ComputerMove(board, ROW, COL);
			PrintBoard(board, ROW, COL);
			ret = iswin(board, ROW, COL);
			if (ret != 'c') 
				break;
			
			//PlayerMove(board, ROW, COL);
			PlayerMove(board, ROW, COL);
			PrintBoard(board, ROW, COL);
			ret = iswin(board, ROW, COL);
			if (ret != 'c') 
				break;
			
		
	
	if (ret == 'o')
		printf("玩家赢\\n");
	else if (ret == 'x')
		printf("电脑赢\\n");
	else
		printf("平局\\n");

int main() 
	int input;
	srand((unsigned int)time(NULL));
	do 
		menu();
		scanf("%d", &input);
		switch (input) 
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\\n");
			break;
		default:
			printf("选择错误\\n");
			break;
		
	 while (input);
	return 0;

(2)game.c下的代码

#define _CRT_SECURE_NO_WARNINGS 1
#include"game.h"
void InitBoard(char board[ROW][COL], int row, int col) 
	for bzoj3669NOI2014魔法森林

AI五子棋第一篇-利用最简单的C语言实现

微软New Bing Chat AI聊天免费体验(需要魔法~)

AI目标分割能力,无需绿幕即可实现快速视频抠图

AI模型训练无需购买设备啦!Tesar超算网络让AI模型训练更便捷!

什么样的魔法棒,能让AI魔法师一夜成名?