我目前正在为我的大学第一次考试开发一个简单的海战游戏,但我在游戏板上得到一个奇怪的输出......
它应该迭代我的" j"变量,但我得到那个奇怪的角色......
这是我的代码:
//CREATES COORDENATES OF THE GAMEBOARD
//ATTRIBUTE ONE LETTER TO EACH TRAY LINE
for (i=0;i<11;i++){
tabuleiro[i][0] = letra[i-1];
}
//ATTRIBUTE ONE NUMBER TO EACH TRAY COLUMN
for (j=1;j<11;j++){
tabuleiro[0][j] = j;
}
//CREATES THE "SEA"
for (i=1;i<11;i++){
for (j=1;j<11;j++){
tabuleiro[i][j] = '~';
}
}
我试图将我的tabuleiro[0][j] = j;
更改为tabuleiro[0][j] = (j+'0');
但是它只会迭代到9并再次给我奇怪的字符...
如果我没错,我认为这与ASCII代码有关(如果我错了,请纠正我),但我不知道如何解决这个问题。
你能解释一下我该如何解决这个问题。
答案 0 :(得分:4)
准确控制我建议的角色
tabuleiro[0][j] = "123456789T"[j];
这将从该字符串中选择第j个字符
顺便说一下你得到的原因&#39;:&#39;因为&#39;:&#39;是&#39; 9&#39;之后的下一个ascii角色。 - 见http://www.asciitable.com/
答案 1 :(得分:3)
问题是import {ElementRef} from '@angular/core'
export class MyFormComponent implements OnInit {
constructor(private hostElement: ElementRef) {}
onSubmit(){
// query your `<form>` element
const form = this.hostElement.nativeElement.querySelector('form')
// add any missing properties not in template attributes
form.action = 'form/process/path';
form.method='POST';
// browser default submit
form.submit();
}
....
}
的字符代码,它是&#39;的字符代码:&#39;。您可以考虑从游戏阵列中删除列名和行名。它们只是标签而不是游戏的一部分(我假设)。
10 + '0' = 58
并且
#define board_size 10
有一个绘制游戏板的功能:
// Create game board and initialize grid to '~', in main() possibly
// Game is 10x10 grid
char tabuleiro[board_size][board_size];
for (int row = 0; row < board_size; row++) {
for (int col = 0; col < board_size; col++) {
tabuleiro[row][col] = '~';
}
}