我正在做最后一个项目。从设计上来说,这是一款恐怖游戏。将会有一个波斯人和一个恶棍。我有一张上面显示的二维房间图像。我需要确保角色和反派不能超出图像和房间的墙壁
Алексей
Asked:
2024-08-13 02:41:49 +0000 UTC
数据库中有这样的动态内联按钮代码
def FindPlayer(user_id):
Find_Players = BotDB.get_find_users(user_id)
kb = InlineKeyboardBuilder()
for find_user in Find_Players:
kb.button(text=f'{Find_Players[0][0]}', callback_data=f'findPlayer|{Find_Players[0][0]}')
kb.adjust(1)
return kb.as_markup()
一切都很好。按钮是根据数据库中的编号创建的,但名称来自第一行
通过 user_id 查找 find_user 中所有行的代码
def get_find_users(self, user_id):
result = self.cursor.execute("SELECT `find_user` FROM `players` WHERE `user_id` = ?", (user_id,))
return result.fetchall()
需要注意的是name1不能重复,而应该根据他们的名字。
我认为这个错误是由于[0][0]造成的,但我不知道如何智能地输出它。
Maksim Ostroginskiy
Asked:
2024-08-13 01:03:00 +0000 UTC
如何将 useRef.current 输入为字符串?我尝试将 UseRef 的初始值作为字符串传递,但随后出现了另一个问题,将此引用传递给组件时出现键入问题

'use client'
import React, { FormEvent, forwardRef, useRef, useState } from 'react'
import { Button, Stack, TextField } from '@mui/material'
import styles from './mainPage.module.scss'
import { useTodo } from '../../hooks/useTodo'
const MainPage = () => {
const { functions, get } = useTodo()
const titleRef = useRef(null)
const sendTodo = (e: FormEvent) => {
e.preventDefault()
if(titleRef.current === '') return
functions.create(titleRef.current, '')
titleRef.current = null
}
return (
<div className={styles.root}>
<Stack spacing={1} width='20%' component='form' onSubmit={(e) => sendTodo(e)}>
<TextField ref={titleRef} value={titleRef.current} id="outlined-basic" label="Outlined" variant="outlined" />
<Button type='submit' variant='outlined'>Create</Button>
</Stack>
</div>
)
}
export default MainPage
import React, { FormEvent, useEffect } from "react"
export interface ITodo {
id: number
title: string
description: string
}
export interface IUseTodoReturn {
functions: {
create: (title: string, description: string) => void
delete: (id: number) => void
}
get: ITodo[]
}
export const useTodo = (): IUseTodoReturn => {
const [todo, setTodo] = React.useState<ITodo[]>([])
useEffect(() => {
localStorage.setItem('todos', JSON.stringify(todo))
}, [ todo ])
const createTodo = (title: string, description: string): void => {
setTodo([...todo, { id: Date.now(), title, description }])
}
const deleteTodo = (id: number) => {
const filteredArray = todo.filter(todo => todo.id !== id)
setTodo(filteredArray)
}
return {
functions: { create: createTodo, delete: deleteTodo },
get: todo
}
}
user26222930
Asked:
2024-08-12 22:00:16 +0000 UTC
我理解现有的代码。于是我意识到&time这是班级的地址Time。如果注释掉unsigned long time,会出现错误
不存在从“Time”到“unsigned long”的合适转换函数。
因此,我可以猜测该类正在转换为unsigned long.但是,如果类包含多个变量和几个函数,那么到底可以在那里转换什么。也许这个问题很愚蠢,但请像菜鸟一样解释它,或者提供有关该主题的文献的链接,最好有足够的数量。
class Time {
private:
unsigned char sec;
unsigned char min;
unsigned char hour;
unsigned char ...
public:
char data_bufer[7];
char fl_read+end;
char fl_read;
unsigned char long_date;
void init(void);
void read(void);
void...
unsigned char in_BCD_format(unsigned char data);
};
External_bus {
void FRam_Read_long (unsigned long, void*);
};
extern Time time;
extern External_bus ext_buss;
void External_Bus::Flash_Read_long(unsigned char Adr, void* ptr){
unsigned char* Adr_byte;
Adr_byte = (unsigned char*)ptr;
somefunction(Adr, *Adr_byte)
}
void main_func{
unsigned char current_oscill;
unsigned long time;
unsigned long event;
line_counter = 0;
if (something){
current_oscill = variable;
while(condition){
ext_buss.Flash_Read_long(current_oscill, &time); //по сути сюда приходит какое-то значение, но что именно?
}
}
}
Nik Oled
Asked:
2024-08-12 20:45:44 +0000 UTC
我需要在一个网络驱动器上启动多个 PPPOE,但来自不同的 Mac 地址。通过网桥来做到这一点是合乎逻辑的。
auto enp42s0
iface enp42s0 inet manual
auto br0
iface br0 inet manual
bridge_ports enp42s0
hwaddress e2:3f:26:5c:8d:45
bridge_stp off
bridge_fd 0
bridge_maxwait 0
auto br1
iface br1 inet manual
bridge_ports enp42s0
hwaddress e2:3f:26:5c:8d:44
bridge_stp off
bridge_fd 0
bridge_maxwait 0
auto br2
iface br2 inet manual
bridge_ports enp42s0
hwaddress e2:3f:26:5c:8d:43
bridge_stp off
bridge_fd 0
bridge_maxwait 0
我在 intarfaces 中注册了这个,但 PPPOE 只能在其中一个网桥上发起,其余的在 ip 链接中显示“NO-CARRIER”。
如何正确设置呢?


