我正在尝试保存并重新加载我的Swing程序的状态,在这种情况下是一个扫雷游戏.我的董事会代码如下.
package mines;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Random;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Board extends JPanel {
public static void main (String[] args) {}
private final int NUM_IMAGES = 13;
private final int CELL_SIZE = 15;
private final int COVER_FOR_CELL = 10;
private final int MARK_FOR_CELL = 10;
private final int EMPTY_CELL = 0;
private final int MINE_CELL = 9;
private final int COVERED_MINE_CELL = MINE_CELL + COVER_FOR_CELL;
private final …Run Code Online (Sandbox Code Playgroud) 我正在用C++编写一个带有过剩的程序,在一个窗口中渲染一个3D模型.我正在使用glReadPixels来获取窗口中显示的风景图像.
而且我想知道如何获得特定像素(x,y),不是直接它的颜色,而是后面的下一个物体的颜色.
如果我渲染一个蓝色三角形,并在它前面有一个红色三角形,glReadPixels会给我红色三角形的红色.
我想知道如何从蓝色三角形中获取颜色,如果红色三角形不在这里,我将从glReadPixels获得颜色.
我正在用 Java 实现与第三方应用程序的通信。作为登录过程的一部分,第三方应用程序正在发送一个加密字符串,我必须对其进行解码并发回。我花了将近 2 天的时间搜索和阅读帖子,但找不到正确的方法来实现这一点。
我有一个测试用例,其中加密字符串是“c1W2YO1vYQzu6czteEidrG0U4g5gT4h57vAlP7tdjcY=”,用密码“GAT”解密后必须返回“101714994”。
我拥有的文档说明了这一点:授权字符串已使用以下设置加密:
这是如何解密授权字符串的 C# 示例:
/// <summary>
/// Decrypts a string.
/// </summary>
/// <param name="content">The string to decrypt.</param>
/// <param name="password">The password to use.</param>
/// <returns>The decrypted string.</returns>
private static string DecryptString(string content, string password) {
Rijndael aes;
byte[] retVal = null;
byte[] contentBytes;
byte[] passwordBytes;
byte[] ivBytes;
try {
//Get the content as byte[]
contentBytes = Convert.FromBase64String(content);
//Create the password and initial vector bytes
passwordBytes …Run Code Online (Sandbox Code Playgroud) 我尝试在Windows中使用OpenGL渲染多维数据集.但显示窗口是黑色的.我启用了Z-Buffer,我清除了glClear函数中的深度位等.但没有运气.问题是我遵循的每个示例或文档都是不完整的,或者省略了一些信息,而且我现在非常非常困惑.我不知道我做得对,我做错了什么.
我想要的只是显示一个立方体,知道渲染器已准备好用于3D图形(我可以毫无问题地显示2D图形).没有其他的.
这是我的主程序的代码:
#include "demo.h"
#include "renderfunc.c"
HDC hDC;
HGLRC hRC;
void enableGL(HWND hWnd)
{
hDC = GetDC(hWnd);
int nPixelFormat;
static PIXELFORMATDESCRIPTOR pfd = {
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW |
PFD_SUPPORT_OPENGL |
PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA,
24,
0,0,0,0,0,0,
0,0,
0,0,0,0,0,
32,
0,
0,
PFD_MAIN_PLANE,
0,
0,0,0 };
if(!hDC)
{
MessageBox(hWnd,L"Can't Create A GL Device Context.",L"ERROR",MB_OK|MB_ICONEXCLAMATION);
return;
}
nPixelFormat = ChoosePixelFormat(hDC, &pfd);
if(!nPixelFormat)
{
MessageBox(hWnd,L"Can't find a proper Pixel Format.",L"ERROR",MB_OK|MB_ICONEXCLAMATION);
return;
}
SetPixelFormat(hDC, nPixelFormat, &pfd);
/* Those lines has to be here*/
hRC = …Run Code Online (Sandbox Code Playgroud) 我在类这样的类中遇到了一段代码:
...
public function __construct(
PDO $pdo,
CommonSqlQueries $csq
) {
...
Run Code Online (Sandbox Code Playgroud)
PDO变量之前的字符串是什么意思$pdo?我甚至不知道这种语法是什么,更不用说如何研究它了.
我在Java中有一个简单的动画,它包含一个在窗口移动的轮子.它只是一个从左边开始离开屏幕的普通圆圈,进入并继续向右,直到它离开屏幕.然后它循环并重复这个过程.
X是一个包含车轮位置的变量.它可以在 - (车轮宽度)和窗口尺寸+车轮宽度之间.
我想通过在这个轮子中画一个圆圈来模拟旋转,它围绕圆圈旋转,好像它是连在一起的.
想象一下现实生活中的自行车车轮,车轮上有一面红旗.随着车轮的旋转,当车轮前进时,车轮边缘会出现红旗.这是我想要的行为.
我得到一个百分比来传递到我的轮子类这样:
int percentage = x/windowWidth;
Run Code Online (Sandbox Code Playgroud)
我打电话给车轮移动的每个车架wheel.rotate(percentage).
这是实施:
private int diameter = 50;
private final int SPOKE_DIAMETER = diameter/5;
public void rotate(double percent){
this.percent = percent;
this.theta = percent*(PI*2);
System.out.println(percent*PI);
}
public void paintComponent(Graphics canvas)
{
// wheel
canvas.setColor(Color.gray);
canvas.fillOval(0, 0, diameter, diameter);
// spinning flag
canvas.setColor(Color.red);
canvas.fillOval((int)(percent*diameter),(int)((sin((percent*(PI*2)))*diameter)), SPOKE_DIAMETER,SPOKE_DIAMETER);
}
Run Code Online (Sandbox Code Playgroud)
x位置或多或少地工作我想要的,但是y没有.它像一股浪潮一样摆动,这是预期的(我确实使用了罪......),然而,我不知道如何改变我的数学来跟随周围的圆圈.
我的实施有什么问题?(我用三角函数绘图不是很好)
如何用新值替换多维数组中的字符串/单词?我没有它的钥匙,只知道大海捞针和针。
假设我有一个多维数组,,$submenu_arr(不知道有多少维)。
我想在这些数组之一中找到一个值并将其替换为新值。
其实是为了翻译。
喜欢:
recursive_arr_translation('Article', $submenu_arr, 'Artigo');//"Artigo" is a Portuguese word for "Article".
Run Code Online (Sandbox Code Playgroud)
我试过这个,但不起作用:
function in_array_r($needle, $haystack, $new_value) {
$found = false;
foreach ($haystack as $key=>$value) {
if ($value === $needle) {
$found = true;
$haystack[$key] = $new_value;
return true;
} elseif (is_array($value)) {
$found = in_array_r($needle, $haystack[$key], $new_value);
if($found) {
return true;
}
}
}
return $found;
}
in_array_r('Article', $submenu, 'Artigo');
in_array_r('Location', $submenu, 'Localização');
Run Code Online (Sandbox Code Playgroud)
编辑:正在工作,但不知何故,我无法正常工作,我正在尝试翻译 WordPress 子菜单词。
我有一个Web项目(取决于WebGL),它适用于计算机,任何浏览器.现在我正在尝试将此项目作为基于Android的手机上的应用程序打开.我使用WebView来实现这一目标.我的手机(Nexus 3)有Android 4.3,而我之前在Android 5之前了解到,WebView组件不支持WebGL.在Android 5中,WebView成为可更新的独立组件,依赖于Chromium版本37(可以更新)并开始支持WebGL.因此,预计我将使用Android 4.3获得错误.
在此之后,我尝试使用另一部手机(三星Galaxy S4搭载Android 5和Chrome版本43).那么应用程序应该运行良好,但仍然在WebView上出错.我试过get.webgl.org仍然是同样的错误:
Error constructing CesiumWidget.
Visit http://get.webgl.org to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers.
Run Code Online (Sandbox Code Playgroud)
详细的错误信息如下:
RuntimeError: The browser supports WebGL, but initialization failed.
Run Code Online (Sandbox Code Playgroud)
错误
at new RuntimeError (http://192.168.43.125:8090/TMAPW/lib/Cesium/Build/CesiumUnminified/Cesium.js:10657:19)
at new Context (http://192.168.43.125:8090/TMAPW/lib/Cesium/Build/CesiumUnminified/Cesium.js:96489:19)
at new Scene (http://192.168.43.125:8090/TMAPW/lib/Cesium/Build/CesiumUnminified/Cesium.js:120928:23)
at new CesiumWidget (http://192.168.43.125:8090/TMAPW/lib/Cesium/Build/CesiumUnminified/Cesium.js:130986:25)
at AMouseListener.Map2D.initWidget
Run Code Online (Sandbox Code Playgroud)
这似乎仍然是一个配置问题,所以我试图在Chrome上打开它而不是在WebView上但仍然是同样的错误.我在安装后在Chrome上启用了WebGL.`Firefox工作正常.我有三个问题:
似乎有什么我做错了,我该如何解决?
Android仍然不支持WebView上的WebGL,是否有任何可能的方法来打开依赖WebGL的应用程序?
有没有其他方法可以将WebGL项目作为应用程序打开.(我已阅读cordova并cocoon.js,但不能肯定是否可以通过这些来完成.)所以,如果有一个工作正常,我宁愿直接去了.
我只是试图使用bc乘以一些浮点变量:
#!/bin/bash
a=2.77 | bc
b=2.0 | bc
for cc in $(seq 0. 0.001 0.02)
do
c=${cc} | bc
d=$((a * b * c)) | bc
echo "$d" | bc
done
Run Code Online (Sandbox Code Playgroud)
这不会给我一个输出.我知道这是一个愚蠢的,但我已经尝试了一些bc的组合(在不同的地方管道等)无济于事.
任何帮助将不胜感激!
我有这个代码的简单部分:
int pch = name.find("#");
if(pch == name.npos) continue;
Run Code Online (Sandbox Code Playgroud)
当in name.find未找到时"#",pch等于-1.name.npos相反,如果我打印出来,是4294967295为什么在这种情况下,如果pch是-1,name.npos是4294967295,程序进入if状态?